File tree Expand file tree Collapse file tree 4 files changed +18
-1
lines changed
dd-java-agent/agent-profiling/profiling-ddprof/src/main/java/com/datadog/profiling/ddprof
dd-trace-api/src/main/java/datadog/trace/api/config Expand file tree Collapse file tree 4 files changed +18
-1
lines changed Original file line number Diff line number Diff line change 44import static com .datadog .profiling .ddprof .DatadogProfilerConfig .getCStack ;
55import static com .datadog .profiling .ddprof .DatadogProfilerConfig .getContextAttributes ;
66import static com .datadog .profiling .ddprof .DatadogProfilerConfig .getCpuInterval ;
7+ import static com .datadog .profiling .ddprof .DatadogProfilerConfig .getLiveHeapSamplePercent ;
78import static com .datadog .profiling .ddprof .DatadogProfilerConfig .getLogLevel ;
89import static com .datadog .profiling .ddprof .DatadogProfilerConfig .getSafeMode ;
910import static com .datadog .profiling .ddprof .DatadogProfilerConfig .getSchedulingEvent ;
@@ -281,6 +282,8 @@ String cmdStartProfiling(Path file) throws IllegalStateException {
281282 }
282283 if (profilingModes .contains (MEMLEAK )) {
283284 cmd .append (isLiveHeapSizeTrackingEnabled (configProvider ) ? 'L' : 'l' );
285+ cmd .append (':' )
286+ .append (String .format ("%.2f" , getLiveHeapSamplePercent (configProvider ) / 100.0d ));
284287 }
285288 }
286289 String cmdString = cmd .toString ();
Original file line number Diff line number Diff line change 2222import static datadog .trace .api .config .ProfilingConfig .PROFILING_DATADOG_PROFILER_LIVEHEAP_ENABLED ;
2323import static datadog .trace .api .config .ProfilingConfig .PROFILING_DATADOG_PROFILER_LIVEHEAP_ENABLED_DEFAULT ;
2424import static datadog .trace .api .config .ProfilingConfig .PROFILING_DATADOG_PROFILER_LIVEHEAP_INTERVAL ;
25+ import static datadog .trace .api .config .ProfilingConfig .PROFILING_DATADOG_PROFILER_LIVEHEAP_SAMPLE_PERCENT ;
26+ import static datadog .trace .api .config .ProfilingConfig .PROFILING_DATADOG_PROFILER_LIVEHEAP_SAMPLE_PERCENT_DEFAULT ;
2527import static datadog .trace .api .config .ProfilingConfig .PROFILING_DATADOG_PROFILER_LIVEHEAP_TRACK_HEAPSIZE ;
2628import static datadog .trace .api .config .ProfilingConfig .PROFILING_DATADOG_PROFILER_LIVEHEAP_TRACK_HEAPSIZE_DEFAFULT ;
2729import static datadog .trace .api .config .ProfilingConfig .PROFILING_DATADOG_PROFILER_LOG_LEVEL ;
@@ -224,6 +226,13 @@ public static boolean isLiveHeapSizeTrackingEnabled(ConfigProvider configProvide
224226 PROFILING_DATADOG_PROFILER_LIVEHEAP_TRACK_HEAPSIZE_DEFAFULT );
225227 }
226228
229+ public static int getLiveHeapSamplePercent (ConfigProvider configProvider ) {
230+ return getInteger (
231+ configProvider ,
232+ PROFILING_DATADOG_PROFILER_LIVEHEAP_SAMPLE_PERCENT ,
233+ PROFILING_DATADOG_PROFILER_LIVEHEAP_SAMPLE_PERCENT_DEFAULT );
234+ }
235+
227236 public static long getMemleakInterval (ConfigProvider configProvider ) {
228237 long maxheap = ManagementFactory .getMemoryMXBean ().getHeapMemoryUsage ().getMax ();
229238 long memleakIntervalDefault =
Original file line number Diff line number Diff line change @@ -162,6 +162,11 @@ public final class ProfilingConfig {
162162 public static final String PROFILING_DATADOG_PROFILER_LIVEHEAP_TRACK_HEAPSIZE =
163163 "profiling.ddprof.liveheap.track_size.enabled" ;
164164 public static final boolean PROFILING_DATADOG_PROFILER_LIVEHEAP_TRACK_HEAPSIZE_DEFAFULT = true ;
165+ public static final String PROFILING_DATADOG_PROFILER_LIVEHEAP_SAMPLE_PERCENT =
166+ "profiling.ddprof.liveheap.sample_percent" ;
167+ public static final int PROFILING_DATADOG_PROFILER_LIVEHEAP_SAMPLE_PERCENT_DEFAULT =
168+ 50 ; // default to 10% of allocation samples
169+
165170 public static final String PROFILING_ENDPOINT_COLLECTION_ENABLED =
166171 "profiling.endpoint.collection.enabled" ;
167172 public static final boolean PROFILING_ENDPOINT_COLLECTION_ENABLED_DEFAULT = true ;
Original file line number Diff line number Diff line change @@ -29,7 +29,7 @@ moshi = '1.11.0'
2929testcontainers = ' 1.19.3'
3030jmc = " 8.1.0"
3131autoservice = " 1.0-rc7"
32- ddprof = " 1.9 .0"
32+ ddprof = " 1.12 .0"
3333asm = " 9.7"
3434cafe_crypto = " 0.1.0"
3535lz4 = " 1.7.1"
You can’t perform that action at this time.
0 commit comments