Leveraging Pyroscope for application profiling in Kubernetes

We are a 24/7 globally distributed team

Leveraging Pyroscope for Application Profiling in Kubernetes

At TechOps Services, we specialise in helping engineering teams build reliable monitoring infrastructure. One of the key tools we’ve been helping clients implement is Pyroscope — a powerful, low-overhead continuous profiling tool.

In this article, we’ll walk you through how we use Pyroscope to give our clients deep insights into their application performance, how we integrate it into Kubernetes using Helm and ArgoCD, and how we enable seamless profiling visualisation in Grafana.


🔍 What Is Pyroscope?

Pyroscope is an open-source continuous profiling tool that lets teams monitor what their applications are doing in real time — especially when it comes to CPU usage, memory allocation, and function-level performance.

It supports a wide range of languages (Go, Python, Rust, Java and etc.) and stores profiling data efficiently over time, so teams can answer critical questions like:

  • What function is consuming the most CPU right now?
  • How has memory usage changed over time?
  • What caused that performance drop last night?

Why Pyroscope

Pyroscope helped our clients to improve their observability stack.

  • Always-On Profiling Pyroscope runs continuously with minimal impact, giving clients historical context around application behaviors.

  • Low Overhead Built for production, Pyroscope collects data without slowing down applications.

  • Time-Based Comparisons Clients can compare performance over different time ranges to pinpoint regressions.

  • Seamless Grafana Integration Pyroscope integrates directly with Grafana, allowing unified dashboards for metrics, logs, and profiles.


Deploying Pyroscope via Helm and ArgoCD

Recently, we helped one of our clients deployed Pyroscope into their bera metal Kubernetes cluster using Helm and ArgoCD.

Here’s how we did it:

  1. Customised Helm Chart
    We tailored the Pyroscope Helm chart to fit our client's infrastructure needs, including resource limits and persistent storage.

  2. GitOps with ArgoCD
    We used the Helm configuration to Git, and ArgoCD picked up the changes and deployed Pyroscope automatically into the cluster.

  3. Enabled Annotations for Auto-Discovery
    To link profiling data with Grafana, we added annotations to the Kubernetes Deployments:

    annotations:
      pyroscope.io/scrape: "true"
      pyroscope.io/application-name: "my-app"
    

    These annotations allowed Pyroscope to automatically discover the apps and begin scraping profile data.

Results in Grafana

Once deployed, profiling data was immediately visible in Grafana. We configured dashboards where developers could

  • View graphs, applying filters on dashboards
  • Correlate Pyroscope profiles with Prometheus metrics
  • Debug CPU or memory spikes down to the specific function
  • This gave our client visibility into what their applications were doing in production

How TechOps Services Adds Value

At TechOps Services, we don’t just drop tools into your environment — we work with your team through best practices in deployment, instrumentation, and monitoring. We’ve helped clients:

  • Set up complete GitOps pipelines with ArgoCD
  • Integrate observability tools like Prometheus, Grafana, Loki, and Pyroscope
  • Build customised dashboards for performance and 24/7 monitoring & alerting
  • Scale profiling to multiple services and clusters

Want Help Getting Started?

If your team needs better visibility into application performance — and you're tired of flying blind when debugging slowdowns — we can help. Contact us to get help with implementing Pyroscope, Grafana, and full observability pipelines in your environment.

Subscribe to get
the latest updates

Our HQ Locations

Copenhagen Denmark

Melbourne Australia

Tallinn Estonia

Privacy policy||

Copyright © 2025. All rights reserved