Continuous profiling in Dash0
Find the code behind resource consumption with OpenTelemetry profiles. Filter by workload, compare profiles, and investigate CPU time, memory allocations, and other measurements.
Resource charts show which workloads consume resources. Profiles show the code paths behind that consumption.
Dash0 now has a Profiling Explorer for investigating OpenTelemetry profiles. Analyze CPU time, memory allocations, and other measurements in the same explorer. Dash0 supports all OpenTelemetry profile types; the types available in your dataset depend on what your profiler collects and sends.

From workload to code
Filter profiles by workload attributes, such as Kubernetes namespace, deployment, or pod. Split the chart into series with Sum by to find the workloads contributing most to the selected measurement, then inspect their call stacks.
Choose the view that answers your question:
- Flame Graph: Find expensive call paths across the selected samples. Reverse the call-stack order to bring leaf functions together across their callers and find the code doing the work directly.
- Table: Search for a function and compare its Self contribution with its Total, which includes its callees. Values follow the selected profile's units, whether time, bytes, or counts.
- Flame Chart: Inspect samples along a time axis and group them by attributes to investigate bursts or sustained activity.
- Sandwich: Follow the sampled callers and callees around a selected frame to understand which operations lead into it and where it delegates work.
Compare profiles and focus on the difference
Choose A Baseline and B Comparison to compare datapoints over time or different workloads. A differential flame graph shows which call paths contribute less or more in B: green for less, red for more.

Use stack filters to keep relevant call paths, or frame filters to hide individual frames, such as runtime internals. These filters change the code view, not the stored profiles.
Compare the same profile type and units, and account for differences in traffic and workload scope before treating a change as a regression or an improvement.
Bring your OpenTelemetry profiles
On Kubernetes, the Dash0 Operator profiling integration can deploy an opt-in managed profiler or forward profiles from a separately deployed profiler. Profile collection must be enabled separately from tracing and metrics instrumentation.
Open Telemetry → Profiling, choose a dataset containing profiles, and select a time range and Profile type to start investigating.
Learn more about continuous profiling in Dash0.