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