pyroscope

Collect CPU and memory profiles and map them to code-level hotspots.

1|Updated May 21, 2026
One-click install
npx skills add https://github.com/1k-off/umbraco-observability-playground --skill pyroscope-1k-off
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pyroscope
Source: https://github.com/1k-off/umbraco-observability-playground/tree/main/.agents/skills/pyroscope
Command: npx skills add https://github.com/1k-off/umbraco-observability-playground --skill pyroscope-1k-off

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Grafana Pyroscope eliminates guesswork in performance debugging by showing how CPU and memory usage map back to specific code paths over time.

Core Features & Use Cases

  • Continuous profiling: Aggregate and analyze profiles to understand runtime resource usage down to function/source-code context.
  • Low-friction instrumentation: Prefer eBPF-based collection via Grafana Alloy to avoid application code changes.
  • Actionable querying: Use ProfileQL to filter profiles by service and labels and compare profile types (CPU, memory, allocations, goroutines).
  • Span profile linking: Correlate profiling data with traces using Span Profiles when supported in your stack.

Quick Start

Send CPU and memory profiles to a Pyroscope server by configuring Grafana Alloy with pyroscope.ebpf for your Kubernetes pods, then query the resulting service profiles in the Pyroscope UI.

Frequently Asked Questions about pyroscope

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find hot code paths and CPU bottlenecks in Kubernetes without changing application code?

Continuous profiling with eBPF via Grafana Alloy collects CPU and memory profiles from Kubernetes pods without code changes, mapping resource usage directly to specific code paths and hotspots for root-cause analysis.

What is continuous profiling and how does it help with performance analysis?

Continuous profiling aggregates runtime CPU and memory usage data over time, mapping it to function and source-code level context. This eliminates guesswork in performance debugging by revealing exactly which code paths consume resources.

Does continuous profiling with Grafana Alloy work with Java, Python, and Go applications?

Yes, profiling instrumentation applies to Go, Java, Python, Ruby, Node.js, .NET, and Rust. You can collect profiles using SDKs, eBPF via Grafana Alloy, or SDK-to-Alloy forwarding depending on your stack.

How do I query and filter profiles by service to investigate memory allocation issues?

Use ProfileQL to analyze and filter profile types like CPU, memory, allocations, and goroutines. ProfileQL allows you to filter by service and labels, enabling precise root-cause investigation and comparison of profile types.

Can I correlate profiling data with traces to investigate performance bottlenecks?

Yes, when supported by your stack, Span Profiles link profiling data with traces. This correlation allows you to connect continuous CPU and memory profiles directly with trace spans for deeper performance debugging.