Definition
Profiles sample or measure resource use by code paths, such as CPU activity or allocated memory, over a defined interval.
Question it answers
Which code paths consumed a resource while the affected service was running?
Role in an investigation
Use a profile after metrics or traces identify the affected workload. Compare the same profile type and resource scope across healthy and degraded intervals. A trace-to-profile integration can narrow the connection further when the runtime supports it.
Correlation fields
| Field or dimension | Purpose |
|---|---|
| service and runtime identity | Match the profile to the process, container, or service instance under investigation. |
| profile type and units | Separate CPU samples, allocation samples, and other measurements. |
| collection interval and optional span profile ID | Align the recorded period or use a supported explicit span association. |
Separate waiting from CPU work
A slow span overlaps a period of high application CPU. The CPU profile shows repeated serialization work in the affected process. This suggests a code path to benchmark; if the span mostly waited on I/O, a CPU profile may explain little of its duration.
Limitations
- A service-wide profile contains concurrent activity, not just the request being investigated.
- CPU profiles do not directly account for all wall-clock latency.
- Runtime support, sample rate, and collection overhead affect what can be observed.
Supported by
Documented examples, not an exhaustive compatibility list. Features require suitable instrumentation and configuration; availability can depend on the runtime, backend, and subscription.
- Grafana with Tempo and Pyroscope — Trace-to-profile navigation requires profiling, tracing, and a supported span profiling bridge.
Investigation patterns
Related concepts
Related guides
FAQ
Does a flame graph identify a slow request?
Not by itself. A flame graph summarizes a profile; request-specific attribution requires a supported connection and compatible measurements.