Skip to main content

    Continuous Profiling

    Always-on CPU and memory profiling that explains anomalies precisely. eBPF for any language, Go heap profiling, and integrated async-profiler for Java, all with zero instrumentation and stored efficiently in ClickHouse.

    Zero instrumentation
    eBPF, Go & Java
    Self-hosted & open source

    Know exactly where the time and memory go

    Continuous profiles for every service mean the answer to a CPU spike or a memory leak is already waiting for you.

    Always-on eBPF CPU profiling

    Continuous, kernel-level CPU profiling explains CPU anomalies down to the exact line of code, with zero instrumentation and negligible overhead.

    Go heap profiling

    Pinpoint the root cause of memory anomalies and GC activity in Go services, with allocations attributed precisely to the responsible functions.

    async-profiler for Java

    CPU, heap, and lock profiling for Java with no code changes. The agent discovers each Java application and enables the profiler automatically.

    Comparison mode

    Select any spike and compare it with the previous period. Coroot diffs the two flamegraphs so you see exactly what changed.

    Stored in ClickHouse

    Profiles are stored in ClickHouse with high compression, replication, and scalability, with optional offloading to S3 for cheap long-term retention.

    Feeds AI root cause analysis

    Coroot's AI root cause analysis uses profiling data to explain incidents down to the exact function, not just which service was affected.

    Profiling for your whole stack

    CPU, heap, and lock profiles across languages, captured continuously and ready when you need them.

    Always-on eBPF CPU profiling

    Coroot continuously profiles CPU usage with eBPF and attributes it down to the exact line of code, so you can explain any CPU anomaly without adding instrumentation or redeploying.

    Go heap profiling

    Find the root cause of memory anomalies and GC pressure in Go services. Coroot attributes allocations to the functions responsible, so a growing RSS leads you straight to the code that caused it.

    Integrated async-profiler for Java

    Get CPU, heap, and lock profiling for Java with no code changes. The agent discovers each Java application and enables async-profiler automatically.

    Explain any spike with comparison mode

    Select a spike on the chart and compare it with the previous period. Coroot diffs the two flamegraphs and highlights exactly which functions grew, turning a regression into an obvious answer.

    Profiling that powers AI root cause analysis

    Coroot's AI root cause analysis uses profiling data to pinpoint the cause of an incident down to the exact function, for example a chaos function that suddenly consumed a quarter of CPU time and most of the allocations.

    Explore AI root cause analysis →

    Frequently asked questions

    What is continuous profiling?

    Continuous profiling collects CPU and memory profiles from your applications around the clock, instead of only when you manually capture them. That means whenever a CPU spike or memory anomaly happens, the profile that explains it is already there.

    Does continuous profiling require code changes?

    No. Coroot profiles CPU usage with eBPF at the kernel level, with no instrumentation. For Java, the agent discovers each application and enables async-profiler automatically, again without code changes.

    Which languages and runtimes are supported?

    eBPF-based CPU profiling works for applications regardless of language. Coroot adds Go heap profiling to find memory and GC issues, and integrated async-profiler for Java, which covers CPU, heap, and lock profiling.

    What is the overhead of continuous profiling?

    Profiling is sampling-based and designed to run continuously in production with negligible overhead.

    How are profiles stored?

    Profiles are stored in ClickHouse, which provides high compression, replication, and horizontal scalability. For long-term retention you can optionally offload data to S3-compatible object storage.

    Can I compare a spike with a normal period?

    Yes. Comparison mode lets you select a spike on the chart and diff it against the previous period, so the flamegraph highlights exactly which functions changed and caused the regression.

    Is Coroot open source?

    Yes. Coroot Community Edition is open source and free to self-host, with an Enterprise Edition available for additional features and support.

    Profile every service, continuously

    Get always-on CPU and memory profiling across eBPF, Go, and Java, stored efficiently in ClickHouse, in a self-hosted, open-source platform.

    Open-source Community Edition · eBPF, Go heap, and Java async-profiler