Catch up on the latest product updates, best practices, and expert insights from the Checkmk Conference #12 – Watch the livestream recordings now

Werk #20060: Add performance profiling with interactive flamegraphs

Component Setup
Title Add performance profiling with interactive flamegraphs
Date Jul 13, 2026
Level Prominent Change
Class New Feature
Compatibility Incompatible - Manual interaction might be required
Checkmk versions & editions
3.0.0b1
Not yet released
Checkmk Community, Checkmk Pro, Checkmk Ultimate, Checkmk Cloud, Checkmk Ultimate MT

You can now inspect the performance of Checkmk GUI requests and cmk command-line runs directly in the web interface, visualized as interactive flamegraphs.

What changed

Checkmk collects cProfile data from profiled GUI requests and from cmk --profile command-line runs into a shared profiles directory. A new page under Setup > Maintenance > Performance profiles lists all collected profiles. From there you can open any profile as an interactive flamegraph to drill into call stacks, spot hotspots, and sort functions by their own and cumulative runtime.

Incompatible change

cmk --profile no longer writes a profile.out dump and a show_profile.py helper script into the current working directory. Instead, the profile is now stored under var/check_mk/profiles (the shared profiles directory), and the path to the written file is printed to stderr after the run. Once the feature is enabled, the same profile also shows up on the Performance profiles page. If you have scripts that read profile.out from the working directory, adjust them to the new location.

How to use it

The feature is off by default. Turn it on under Setup > General > Global settings in the Developer Tools section: open Performance profiles and tick Enable performance profiles. This makes the Setup > Maintenance > Performance profiles page available and lets Checkmk record profiles. The same setting also controls how many profiles are kept and for how long.

To capture GUI requests as well, set Profile requests (also under Developer Tools) to profile by request or for all requests. Command-line profiles created with cmk --profile show up in the same list automatically once the feature is enabled.

Why this matters

Until now the raw .prof dumps produced by request profiling and cmk --profile had to be collected from disk and analyzed with external tooling. This feature turns that data into a self-service diagnostics workflow inside Checkmk, making it much easier to track down slow requests and command-line runs.

To the list of all Werks