Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import java.net.URL;
import java.net.URLClassLoader;
import java.text.MessageFormat;
import java.util.Arrays;
import java.util.Base64;
import java.util.Collection;
import java.util.Optional;
Expand All @@ -42,7 +41,8 @@ public class BootstrapAgent {
private static final String WS_LOG_MANAGER = "com.ibm.ws.kernel.boot.logging.WsLogManager";
private static final String AGENT_ENABLED_ENV_VAR = "NEW_RELIC_AGENT_ENABLED";
private static final String AGENT_ENABLED_SYS_PROP = "newrelic.config.agent_enabled";
private static final String STARTUP_JAVA_ARTIFACT_SKIPS = "NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS";
private static final String STARTUP_JAVA_ARTIFACT_SKIPS_ENV_VAR = "NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS";
private static final String STARTUP_JAVA_ARTIFACT_SKIPS_SYS_PROP = "newrelic.config.startup_java_artifact_skips";
private static final String SQL_ON_PLATFORM_LOADER_SYS_PROP = "newrelic.config.sql.platformClassloader";

public static URL getAgentJarUrl() {
Expand Down Expand Up @@ -342,18 +342,22 @@ private static String getStartupJavaArtifact(String javaSpecVersion) {

/**
* Extract the defined jars/classes to skip.<br>
* The skip list is configured via the `NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS` environment variable.
* The skip list is configured via the `NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS_ENV_VAR` environment variable
* or the newrelic.config.startup_java_artifact_skips system property.
* This is a comma separated list of main classes, executable jar files or Java based tools/apps
* that the agent should NOT instrument. For example:<br>
* export NEW_RELIC_STARTUP_JAVA_ARTIFACT_SKIPS=keytool,myapp.jar,IgnoreThisClass
* <br>
* @return a String [] of defined skip tokens
*/
private static String [] parseStartupJavaArtifactSkips() {
String skipString = System.getenv(STARTUP_JAVA_ARTIFACT_SKIPS);
String envVal = System.getenv(STARTUP_JAVA_ARTIFACT_SKIPS_ENV_VAR);
String sysVal = System.getProperty(STARTUP_JAVA_ARTIFACT_SKIPS_SYS_PROP);

if (skipString != null && !skipString.isEmpty()) {
return skipString.split(",");
if ((envVal != null && !envVal.isEmpty())) {
return envVal.split(",");
} else if ((sysVal != null && !sysVal.isEmpty())) {
return sysVal.split(",");
}

return null;
Expand Down
Loading