Skip to content

Commit c5b3733

Browse files
authored
Emit warning if a user overrides profiler safemode flag (#7870)
1 parent 6f403c2 commit c5b3733

File tree

1 file changed

+9
-0
lines changed
  • dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof

1 file changed

+9
-0
lines changed

dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfiler.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import com.datadog.profiling.utils.ProfilingMode;
3737
import com.datadoghq.profiler.ContextSetter;
3838
import com.datadoghq.profiler.JavaProfiler;
39+
import datadog.trace.api.config.ProfilingConfig;
3940
import datadog.trace.api.profiling.RecordingData;
4041
import datadog.trace.bootstrap.config.provider.ConfigProvider;
4142
import datadog.trace.bootstrap.instrumentation.api.TaskWrapper;
@@ -236,6 +237,14 @@ void dump(Path path) {
236237

237238
String cmdStartProfiling(Path file) throws IllegalStateException {
238239
// 'start' = start, 'jfr=7' = store in JFR format ready for concatenation
240+
int safemode = getSafeMode(configProvider);
241+
if (safemode != ProfilingConfig.PROFILING_DATADOG_PROFILER_SAFEMODE_DEFAULT) {
242+
// be very vocal about messing around with the profiler safemode as it may induce crashes
243+
log.warn(
244+
"Datadog profiler safemode is enabled with overridden value {}. "
245+
+ "This is not recommended and may cause instability and crashes.",
246+
safemode);
247+
}
239248
StringBuilder cmd = new StringBuilder("start,jfr=7");
240249
cmd.append(",file=").append(file.toAbsolutePath());
241250
cmd.append(",loglevel=").append(getLogLevel(configProvider));

0 commit comments

Comments
 (0)