OpenTelemetry Profiles
Overview
Profiles are emerging as the fourth essential signal of observability, alongside logs, metrics, and traces. They offer unparalleled insights into system and application behavior, often uncovering performance bottlenecks overlooked by other signals.
Profiles provide granular, time-based views of resource consumption and code execution, encompassing:
Application-level profiling: Reveals how software functions consume CPU, memory, and other resources, highlighting slow or inefficient code.
System-level profiling: Offers a holistic view of the infrastructure, pinpointing issues in operating system calls, kernel operations, and I/O.
This performance picture can lead to:
- Faster Root Cause Analysis: Quickly identifies the exact cause of performance degradation.
- Proactive Optimization: Identifies potential issues before user impact.
- Improved Resource Utilization: Optimizes infrastructure for cost savings and efficiency.
- Enhanced Developer Productivity: Helps developers validate code performance and prevent regressions.
In essence, while logs, metrics, and traces show “what” and “how much/where” profiles explain “why” and “how efficiently” making them indispensable in modern observability.
Known values
OpenTelemetry semantic conventions are vital for profiles to correlate with other OpenTelemetry signals, enabling unified analysis of traces, metrics, logs, and profiles for a holistic system understanding.
To enhance the compatibility of OpenTelemetry Profiles with existing profiling tools, known values are utilized.
| Profile field | Known values |
|---|---|
| original_payload_format | pprof, jfr or linux_perf |
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!