From Niche Tool to Core Observability Signal
Pyroscope 2.0 marks a turning point for continuous profiling as a first‑class member of the observability stack, alongside metrics, logs, and traces. While metrics can highlight high CPU usage and traces reveal which service is the bottleneck, profiles expose exactly which function and line of code are burning cycles. That level of visibility is increasingly critical as distributed architectures, microservices, and AI‑driven components make performance bottlenecks harder to spot. Continuous profiling captures these hotspots as they occur, avoiding the guesswork and luck often associated with debuggers. With Pyroscope 2.0, Grafana has rebuilt its open‑source continuous profiling database to remove long‑standing friction around cost and complexity, helping teams treat profiles as an everyday tool rather than a last‑resort diagnostic. The result is a tighter feedback loop for application performance monitoring, where optimization decisions can be data‑driven instead of hardware‑driven.
New Architecture Targets Storage Optimization and Scale
The original Pyroscope inherited an architecture from Cortex, the same lineage that early versions of Mimir and Loki shared. Over time, that design accumulated significant storage and operational overhead. Pyroscope 2.0 follows the newer architectural principles pioneered in Mimir: eliminating write‑path replication, decoupling reads from writes, and promoting object storage to the single source of truth. For profiling at scale, this matters because profile payloads can be tens of megabytes and carry large amounts of symbolic information such as function names and stack traces. In Pyroscope 1.x, each profile was written three times, driving up storage consumption. Version 2.0 writes each profile once to object storage, then co‑locates profiles from the same service to deduplicate symbols. In Grafana’s own production use, this symbol deduplication has reportedly reduced the symbol storage footprint by up to 95%, a major gain in storage optimization for long‑term profiling data.
Stateless Queries Cut Operational Complexity
Pyroscope 2.0 also reworks the read path to be fully stateless, attacking another major pain point in application performance monitoring: operating profiling infrastructure under unpredictable load. In the previous architecture, query processing ran in stateful components that could not autoscale effectively, forcing teams to provision capacity for peak incident traffic and accept idle resources during quiet periods. Profiling workloads are inherently bursty, spiking during outages or performance investigations and remaining low otherwise. By making any querier able to serve any request, Pyroscope 2.0 lets operators scale query capacity elastically as traffic fluctuates. This is especially important as LLM‑powered agents begin to query profiling data automatically as part of incident analysis. Fewer stateful components also simplifies failure scenarios and rollouts; deployments that previously took 8–12 hours can now complete in minutes, lowering operational risk for teams running profiling at scale.
New Capabilities and OpenTelemetry Alignment
The architectural overhaul does more than reduce cost; it unlocks new capabilities that make continuous profiling data more usable. Pyroscope 2.0 can now derive metrics from profiles, enabling fleet‑wide comparisons across services or deployments without scanning individual profiles. It also supports inspecting a single profile instance, rather than only aggregates, and introduces heatmap queries that visualize the distribution of profiles over time. These capabilities emerge from the cleaner data model and stateless read path rather than separate feature projects. On the ecosystem side, Pyroscope 2.0 includes native support for the OpenTelemetry Protocol for profiling, aligning with OpenTelemetry’s decision to treat continuous profiling as a core telemetry signal. That alignment allows teams to funnel profiles through the same pipeline they use for other observability data, simplifying instrumentation while keeping options open between self‑hosted Pyroscope and the hosted Grafana Cloud Profiles service.
Making Continuous Profiling a Default Practice
Real‑world use cases suggest that continuous profiling is moving toward becoming a default part of application performance monitoring. Engineering teams at digital‑first organizations have described using Pyroscope to catch performance regressions as they ship, even celebrating “graphs trending downwards” when CPU usage or latency improves. Uber has similarly documented profile‑guided optimization workflows in Go, with Pyroscope cited as part of that process. Pyroscope 2.0 has already been battle‑tested in Grafana Cloud Profiles, which has processed 19.5PB of profiling data on the new architecture. For self‑hosted users, the main upgrade consideration is adopting object storage as the authoritative store for profile data. In parallel, alternative open‑source and commercial continuous profiling solutions continue to mature. Within that landscape, Pyroscope 2.0’s focus on storage optimization, stateless operation, and ecosystem compatibility directly addresses the cost and complexity barriers that have historically kept profiling from widespread, continuous use.

