Introduction to Call Graph Profiling in Splunk APM

Learn what you can do with Call Graph Profiling in Splunk APM.

Note: This feature requires a license for AlwaysOn Profiling.
Call Graph Profiling collects stack traces to deliver deep trace code-level insights, which provide visibility into application interactions and performance across your system. As part of Splunk APM, Call Graph Profiling provides context to call stacks produced by instrumented applications.

After you get call graph data into Splunk Observability Cloud, you can explore the data directly from APM and visualize the performance of methods using call graphs.

A call graph is a visual representation of the method call hierarchy within a trace. A call graph displays general information about a call stack, such as total execution duration, time stamp that the execution started, exit calls, and method execution duration. Use Call Graph Profiling to locate, diagnose, and debug performance issues with your service.

What you can do with Call Graph Profiling

You can use Call Graph Profiling to:

  • Visualize method execution. Get a detailed view of the sequence and hierarchy of method calls within your application, helping you understand the execution flow and dependencies.

  • Analyze performance bottlenecks. Identify slow or inefficient code paths by examining the time spent in each method call.

  • Optimize application performance. Use insights from the call graph to refactor code, improve efficiency, and reduce latency in your applications.

Call Graph Profiling can identify issues such as:

  • High-latency methods. Detect methods that are taking longer than expected to execute and slowing down your application.

  • Inefficient code paths. Identify redundant or unnecessary method calls that can be optimized or eliminated.

  • Latency-intensive operations. Spot methods that cause excessive latency and impact system performance.

  • Lines of code that are causing errors and exceptions.

For an example scenario on using Call Graph Profiling, see Find a code-level issue affecting a business transaction using Call Graph Profiling.

Supported languages for Call Graph Profiling

Call Graph Profiling supports the following programming language.
LanguageAvailable instrumentationDocumentation
JavaSplunk Distribution of OpenTelemetry Java version 2.15.0 or higher

Get started with Call Graph Profiling

To get started, instrument your application or service for Splunk APM and activate Call Graph Profiling. For instructions, see Get data into Splunk APM Call Graph Profiling.