Troubleshoot Call Graph Profiling

Troubleshoot and resolve common issues with Call Graph Profiling.

If you've completed the steps in Get data into Call Graph Profiling but don't see call graph data in Splunk APM, see the following topic.

Problem: Call graphs aren't visible

In asynchronous, event-driven environments, sampled traces may occasionally lack call stack data. This is expected behavior and typically occurs when the application is waiting for external operations such as:

  • Waiting for a database query to complete.

  • Awaiting a remote service response over HTTP or gRPC.

  • Sleeping threads or scheduled delays (e.g., Thread.sleep, ScheduledExecutorService).

  • Thread hand-offs or idle thread pools between asynchronous tasks.

  • Application logic executing entirely between sampling intervals.

During these periods, no user code is actively executing. If the snapshot profiler samples during such a gap, no stack is captured. As a result, even a successfully processed request may appear without call graph data.

This behavior reflects the limitations of sampling-based profiling in non-blocking runtimes and does not indicate a misconfiguration.