11package datadog .trace .bootstrap ;
22
3- import static datadog .trace .bootstrap .SystemUtils .getPropertyOrEnvVar ;
43import static java .nio .charset .StandardCharsets .UTF_8 ;
54
6- import datadog .cli .CLIHelper ;
5+ import datadog .trace .bootstrap .environment .EnvironmentVariables ;
6+ import datadog .trace .bootstrap .environment .JavaVirtualMachine ;
7+ import datadog .trace .bootstrap .environment .SystemProperties ;
78import de .thetaphi .forbiddenapis .SuppressForbidden ;
89import java .io .BufferedReader ;
910import java .io .File ;
@@ -90,7 +91,7 @@ public static void agentmain(final String agentArgs, final Instrumentation inst)
9091 }
9192
9293 private static BootstrapInitializationTelemetry createInitializationTelemetry () {
93- String forwarderPath = SystemUtils . tryGetEnv ("DD_TELEMETRY_FORWARDER_PATH" );
94+ String forwarderPath = EnvironmentVariables . get ("DD_TELEMETRY_FORWARDER_PATH" );
9495 if (forwarderPath == null ) {
9596 return BootstrapInitializationTelemetry .noOpInstance ();
9697 }
@@ -100,7 +101,7 @@ private static BootstrapInitializationTelemetry createInitializationTelemetry()
100101 initTelemetry .initMetaInfo ("runtime_name" , "jvm" );
101102 initTelemetry .initMetaInfo ("language_name" , "jvm" );
102103
103- String javaVersion = SystemUtils . tryGetProperty ("java.version" );
104+ String javaVersion = SystemProperties . get ("java.version" );
104105 if (javaVersion != null ) {
105106 initTelemetry .initMetaInfo ("runtime_version" , javaVersion );
106107 initTelemetry .initMetaInfo ("language_version" , javaVersion );
@@ -163,7 +164,12 @@ static boolean getConfig(String configName) {
163164 return System .getenv (LIB_INJECTION_ENABLED_ENV_VAR ) != null ;
164165 case LIB_INJECTION_FORCE_SYS_PROP :
165166 {
166- String injectionForceFlag = getPropertyOrEnvVar (LIB_INJECTION_FORCE_SYS_PROP );
167+ String envVarName =
168+ LIB_INJECTION_FORCE_SYS_PROP .replace ('.' , '_' ).replace ('-' , '_' ).toUpperCase ();
169+ String injectionForceFlag = EnvironmentVariables .get (envVarName );
170+ if (injectionForceFlag == null ) {
171+ injectionForceFlag = SystemProperties .get (LIB_INJECTION_FORCE_SYS_PROP );
172+ }
167173 return "true" .equalsIgnoreCase (injectionForceFlag ) || "1" .equals (injectionForceFlag );
168174 }
169175 default :
@@ -172,7 +178,7 @@ static boolean getConfig(String configName) {
172178 }
173179
174180 private static void recordInstrumentationSource (String source ) {
175- SystemUtils . trySetProperty (LIB_INSTRUMENTATION_SOURCE_SYS_PROP , source );
181+ SystemProperties . set (LIB_INSTRUMENTATION_SOURCE_SYS_PROP , source );
176182 }
177183
178184 static boolean exceptionCauseChainContains (Throwable ex , String exClassName ) {
@@ -200,7 +206,7 @@ private static boolean alreadyInitialized() {
200206 }
201207
202208 private static boolean isJdkTool () {
203- String moduleMain = SystemUtils . tryGetProperty ("jdk.module.main" );
209+ String moduleMain = SystemProperties . get ("jdk.module.main" );
204210 if (null != moduleMain && !moduleMain .isEmpty () && moduleMain .charAt (0 ) == 'j' ) {
205211 switch (moduleMain ) {
206212 case "java.base" : // keytool
@@ -352,7 +358,7 @@ private static List<File> getAgentFilesFromVMArguments() {
352358 // - On IBM-based JDKs since at least 1.7
353359 // This prevents custom log managers from working correctly
354360 // Use reflection to bypass the loading of the class~
355- for (final String argument : CLIHelper . getVmArgs ()) {
361+ for (final String argument : JavaVirtualMachine . getVmOptions ()) {
356362 if (argument .startsWith (JAVA_AGENT_ARGUMENT )) {
357363 int index = argument .indexOf ('=' , JAVA_AGENT_ARGUMENT .length ());
358364 String agentPathname =
0 commit comments