From 01c32878ff6ecb5fe2271ca79a799a97ba93e189 Mon Sep 17 00:00:00 2001 From: Zhengyu Gu Date: Tue, 17 Mar 2026 09:54:58 -0400 Subject: [PATCH] Remove experimental jvmti wallclock profiler --- .../profiling/controller/ProfilerFlareReporter.java | 8 -------- .../com/datadog/profiling/ddprof/DatadogProfiler.java | 4 ---- .../datadog/profiling/ddprof/DatadogProfilerConfig.java | 9 --------- .../java/datadog/trace/api/config/ProfilingConfig.java | 4 ---- 4 files changed, 25 deletions(-) diff --git a/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/ProfilerFlareReporter.java b/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/ProfilerFlareReporter.java index 3cd893e372f..6488af7f6e2 100644 --- a/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/ProfilerFlareReporter.java +++ b/dd-java-agent/agent-profiling/profiling-controller/src/main/java/com/datadog/profiling/controller/ProfilerFlareReporter.java @@ -345,14 +345,6 @@ private String getProfilerConfig() { ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_CONTEXT_FILTER, ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_CONTEXT_FILTER_DEFAULT), ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_CONTEXT_FILTER_DEFAULT); - appendConfig( - sb, - "DDProf Wall JVMTI", - configProvider.getBoolean( - ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_JVMTI, - ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_JVMTI_DEFAULT), - ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_JVMTI_DEFAULT); - sb.append("\n=== DDProf Allocation Profiling ===\n"); appendConfig( sb, diff --git a/dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfiler.java b/dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfiler.java index 4ef2c59bfba..3d9325168e7 100644 --- a/dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfiler.java +++ b/dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfiler.java @@ -22,7 +22,6 @@ import static com.datadog.profiling.ddprof.DatadogProfilerConfig.isTrackingGenerations; import static com.datadog.profiling.ddprof.DatadogProfilerConfig.isWallClockProfilerEnabled; import static com.datadog.profiling.ddprof.DatadogProfilerConfig.omitLineNumbers; -import static com.datadog.profiling.ddprof.DatadogProfilerConfig.useJvmtiWallclockSampler; import static com.datadog.profiling.utils.ProfilingMode.ALLOCATION; import static com.datadog.profiling.utils.ProfilingMode.CPU; import static com.datadog.profiling.utils.ProfilingMode.MEMLEAK; @@ -313,9 +312,6 @@ String cmdStartProfiling(Path file) throws IllegalStateException { } else { cmd.append(",filter="); } - if (useJvmtiWallclockSampler(configProvider)) { - cmd.append(",wallsampler=jvmti"); - } } cmd.append(",loglevel=").append(getLogLevel(configProvider)); if (profilingModes.contains(ALLOCATION) || profilingModes.contains(MEMLEAK)) { diff --git a/dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfilerConfig.java b/dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfilerConfig.java index f9b980f486e..4abbe9520c7 100644 --- a/dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfilerConfig.java +++ b/dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof/DatadogProfilerConfig.java @@ -43,8 +43,6 @@ import static datadog.trace.api.config.ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_ENABLED; import static datadog.trace.api.config.ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_INTERVAL; import static datadog.trace.api.config.ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_INTERVAL_DEFAULT; -import static datadog.trace.api.config.ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_JVMTI; -import static datadog.trace.api.config.ProfilingConfig.PROFILING_DATADOG_PROFILER_WALL_JVMTI_DEFAULT; import static datadog.trace.api.config.ProfilingConfig.PROFILING_HEAP_TRACK_GENERATIONS; import static datadog.trace.api.config.ProfilingConfig.PROFILING_HEAP_TRACK_GENERATIONS_DEFAULT; import static datadog.trace.api.config.ProfilingConfig.PROFILING_QUEUEING_TIME_ENABLED; @@ -440,13 +438,6 @@ public static long getLong(ConfigProvider configProvider, String key) { return configProvider.getLong(key, configProvider.getLong(normalizeKey(key), -1)); } - public static boolean useJvmtiWallclockSampler(ConfigProvider configProvider) { - return getBoolean( - configProvider, - PROFILING_DATADOG_PROFILER_WALL_JVMTI, - PROFILING_DATADOG_PROFILER_WALL_JVMTI_DEFAULT); - } - private static String normalizeKey(String key) { return key.replace(".ddprof.", ".async."); } diff --git a/dd-trace-api/src/main/java/datadog/trace/api/config/ProfilingConfig.java b/dd-trace-api/src/main/java/datadog/trace/api/config/ProfilingConfig.java index 4dba5b03169..c90ec39888e 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/config/ProfilingConfig.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/config/ProfilingConfig.java @@ -119,10 +119,6 @@ public final class ProfilingConfig { "profiling.ddprof.wall.context.filter"; public static final boolean PROFILING_DATADOG_PROFILER_WALL_CONTEXT_FILTER_DEFAULT = true; - public static final String PROFILING_DATADOG_PROFILER_WALL_JVMTI = - "profiling.experimental.ddprof.wall.jvmti"; - public static final boolean PROFILING_DATADOG_PROFILER_WALL_JVMTI_DEFAULT = false; - public static final String PROFILING_DATADOG_PROFILER_SCHEDULING_EVENT = "profiling.experimental.ddprof.scheduling.event";