|
40 | 40 | import datadog.trace.api.profiling.ProfilingEnablement; |
41 | 41 | import datadog.trace.api.scopemanager.ScopeListener; |
42 | 42 | import datadog.trace.bootstrap.benchmark.StaticEventLogger; |
43 | | -import datadog.trace.bootstrap.config.provider.ConfigProvider; |
44 | 43 | import datadog.trace.bootstrap.config.provider.StableConfigSource; |
45 | 44 | import datadog.trace.bootstrap.instrumentation.api.AgentTracer; |
46 | 45 | import datadog.trace.bootstrap.instrumentation.api.AgentTracer.TracerAPI; |
@@ -1052,10 +1051,22 @@ private static void initializeCrashTrackingDefault() { |
1052 | 1051 | } |
1053 | 1052 |
|
1054 | 1053 | private static boolean isCrashTrackingAutoconfigEnabled() { |
1055 | | - return !ConfigProvider.getInstance() |
1056 | | - .getBoolean( |
1057 | | - CrashTrackingConfig.CRASH_TRACKING_DISABLE_AUTOCONFIG, |
1058 | | - CrashTrackingConfig.CRASH_TRACKING_DISABLE_AUTOCONFIG_DEFAULT); |
| 1054 | + String enabledVal = ddGetProperty("dd." + CrashTrackingConfig.CRASH_TRACKING_ENABLE_AUTOCONFIG); |
| 1055 | + boolean enabled = CrashTrackingConfig.CRASH_TRACKING_ENABLE_AUTOCONFIG_DEFAULT; |
| 1056 | + if (enabledVal != null) { |
| 1057 | + enabled = Boolean.parseBoolean(enabledVal); |
| 1058 | + } else { |
| 1059 | + // If the property is not set, then we check if ddprof-java profiling is enabled, |
| 1060 | + // because crash tracking autoconfig can safely be enabled by default when |
| 1061 | + // ddprof-java profiling is enabled |
| 1062 | + String ddprofEnabledVal = ddGetProperty("dd.profiling.ddprof.enabled"); |
| 1063 | + // the property default is 'true', so if it is not set then we assume it is enabled |
| 1064 | + if (ddprofEnabledVal == null || Boolean.parseBoolean(ddprofEnabledVal)) { |
| 1065 | + // ddprof library supported only on Linux |
| 1066 | + enabled = OperatingSystem.isLinux(); |
| 1067 | + } |
| 1068 | + } |
| 1069 | + return enabled; |
1059 | 1070 | } |
1060 | 1071 |
|
1061 | 1072 | private static void initializeCrashTracking(boolean delayed, boolean checkNative) { |
|
0 commit comments