Continuous profiling
Continuous profiling shows where a service spends CPU and memory. This page is for developers who want to know what is planned for their own services.
What is planned Planned
Section titled “What is planned ”- Go services upload CPU, allocation, heap and goroutine profiles every minute, using the project’s ingest key.
- A flame graph with search, zoom and the top functions. Each function links to the file in Forge at the commit that ran.
- A comparison with another version or with the previous period. The graph colors each frame by how its share of the profile changed.
- CPU by endpoint, and the CPU that one traced request used.
- Raw profiles that you can download in pprof format.
- The same project roles and retention as the rest of your telemetry in Pulse. Every project role can read the profiles.
What exists today
Section titled “What exists today”Orbit profiles its own services this way, so the profiles view itself is built and tested. A profiler that you can add to your own services is not published yet, and nothing in your project uploads profiles today.
To find slow code in your services now, use traces and the latency distribution. The service page in APM shows latency charts, a table of endpoints and the latency distribution. A trace shows which span took the time. See APM, traces and the service map.