Profiling¶
Wikipedia says:
Profiling is achieved by instrumenting either the program source code or its binary executable form using a tool called a profiler (or code profiler). Profilers may use a number of different techniques, such as event-based, statistical, instrumented, and simulation methods.
Continuous profiling can help you understand systems resource usage (CPU, memory, etc.), identify performance bottlenecks, locate memory leaks and analyse the call stack of your applications. You can also use it as a method to track performance changes over time.
Open Telemetry Profiling Efforts¶
Within Open Telemetry, there is a working group who is working towards adding Profiling as a supported event type. For more details on the scope and vision check out the OTel Profiling Vision OTEP or drop in on the CNCF #otel-profiling channel where most communication and coordination happens!
Introductions¶
- Current state of Continuous Profiling, Dec 2021
Tools¶
Datadog Continuous Profiler¶
Facts¶
- You can connect traces to profiling data. Learn more about Tracing
Hot Topics¶
Google Cloud Profiler¶
Facts¶
Hot Topics¶
Parca¶
From profiles to understanding. Open Source Infrastructure-wide continuous profiling
Facts¶
- Parca was open-source by Polar Signals in 2021
- Parca's old name was
Conprof
which can be seen in the KubeCon NA 2021 talk
Hot Topics¶
Pyroscope¶
Facts¶
- FlameQL is the Pyroscope query language.
Hot Topics¶
- Pyroscope was acquired by Grafana in March 2023, and the new continuous profiling tool is called "Grafana Pyroscope"
- Custom storage engine design