Settings for Call Graph Profiling
Learn about the available Java, .NET, and Node.js agent settings for Call Graph Profiling in Splunk APM.
The following settings control the Call Graph Profiling feature.
- Java
System properties Description Default value splunk.snapshot.profiler.enabledEnables the snapshot profiler required for call graph generation. falsesplunk.snapshot.profiler.sampling.intervalSampling interval (e.g., 10ms). Lower values increase stack capture frequency. 10mssplunk.snapshot.selection.probabilityProbability of selecting a trace for snapshot profiling. Maximum value is 0.10.0.01splunk.snapshot.profiler.max.stack.depthMaximum depth of captured call stacks. 1024splunk.snapshot.profiler.export.intervalInterval for exporting collected stack data. 5ssplunk.snapshot.profiler.staging.capacityCapacity of the staging buffer before export. 2000Note: These settings can be passed as JVM system properties or as environment variables depending on your deployment model.Recommended settings to increase visibility
Use the following configuration adjustments to reduce the likelihood of missing stack data:
Environment variable Recommendation splunk.snapshot.profiler.sampling.intervalLower to 1ms to maximize sampling frequency.splunk.snapshot.selection.probabilityRaise to 0.05or0.1to include more traces.Note: These adjustments may increase resource usage. Test changes in staging environments before applying to production.- .NET
Environment variable Description Default value SPLUNK_SNAPSHOT_PROFILER_ENABLEDEnables the snapshot profiler required for call graph generation. falseSPLUNK_SNAPSHOT_SAMPLING_INTERVALSampling interval. Lower values increase stack capture frequency. 40msSPLUNK_SNAPSHOT_SELECTION_PROBABILITYProbability of selecting a trace for snapshot profiling. Maximum value is 0.10.0.01SPLUNK_PROFILER_EXPORT_INTERVALInterval for exporting collected stack data. Minimum value: 500ms.500msSPLUNK_PROFILER_EXPORT_TIMEOUTTimeout for exporting stack data, in milliseconds. 3000msSPLUNK_PROFILER_MAX_MEMORY_SAMPLESMaximum memory samples collected per minute. Max value: 500200Note: If both snapshot and continuous profilers are enabled, consider reducingSPLUNK_PROFILER_EXPORT_INTERVALto avoid buffer overflows. A good practice is to set it to half of the continuous profiler’s sampling interval.Compatibility with Continuous Profiler
If thread sampling via the continuous profiler is enabled (
SPLUNK_PROFILER_ENABLED=true), the value ofSPLUNK_PROFILER_CALL_STACK_INTERVALmust be greater than and a multiple ofSPLUNK_SNAPSHOT_SAMPLING_INTERVAL. For example, the default values — 10s and 40ms — satisfy this requirement.Recommended settings to increase visibility
Use the following configuration adjustments to reduce the likelihood of missing stack data:
Environment variable Recommendation SPLUNK_SNAPSHOT_SAMPLING_INTERVALLower to increase sampling frequency. SPLUNK_SNAPSHOT_SELECTION_PROBABILITYRaise to 0.05or0.1to include more traces.Note: These adjustments may increase resource usage. Test changes in staging environments before applying to production.- Node.js
Environment variable Description Default value SPLUNK_SNAPSHOT_PROFILER_ENABLEDEnables the snapshot profiler required for call graph generation. falseSPLUNK_SNAPSHOT_SAMPLING_INTERVALSampling interval in milliseconds. Lower values increase stack capture frequency. 10SPLUNK_SNAPSHOT_SELECTION_PROBABILITYPercentage of traces selected for snapshot profiling. Maximum value is 1.0.01SPLUNK_CPU_PROFILER_COLLECTION_INTERVALInterval (ms) for exporting collected call stacks from the native extension. 30000Note: Adjust sampling and selection rates based on your application's workload and performance sensitivity. Lower intervals increase visibility but may introduce overheadRecommended settings to increase visibility
Use the following configuration adjustments to reduce the likelihood of missing stack data:
Environment variable Recommendation SPLUNK_SNAPSHOT_PROFILER_SAMPLING_INTERVALLower to 1ms to increase sampling frequency.SPLUNK_SNAPSHOT_SELECTION_RATERaise to 0.05or0.1to include more traces.Note: These adjustments may increase resource usage. Test changes in staging environments before applying to production.