<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pyroscope on Grafana Labs</title><link>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/</link><description>Recent content in Pyroscope on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v13.0/datasources/pyroscope/index.xml" rel="self" type="application/rss+xml"/><item><title>Configure the Grafana Pyroscope data source</title><link>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/configure-pyroscope-data-source/</link><pubDate>Tue, 14 Apr 2026 09:48:24 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/configure-pyroscope-data-source/</guid><content><![CDATA[&lt;h1 id=&#34;configure-the-grafana-pyroscope-data-source&#34;&gt;Configure the Grafana Pyroscope data source&lt;/h1&gt;
&lt;p&gt;The Pyroscope data source sets how Grafana connects to your Pyroscope database.&lt;/p&gt;
&lt;p&gt;You can configure the data source using either the data source interface in Grafana or using a configuration file.
This page explains how to set up and enable the data source capabilities using Grafana.&lt;/p&gt;
&lt;p&gt;If you make any changes, select &lt;strong&gt;Save &amp;amp; test&lt;/strong&gt; to preserve those changes.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re using your own installation of Grafana, you can provision the Pyroscope data source using a YAML configuration file.
For more information about provisioning and available configuration options, refer to 
    &lt;a href=&#34;/docs/grafana/v13.0/administration/provisioning/#datasources&#34;&gt;Provisioning Grafana&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;To configure a Pyroscope data source, you need administrator rights to your Grafana instance and a Pyroscope instance configured to send data to Grafana.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re provisioning a Pyroscope data source, then you also need administrative rights on the server hosting your Grafana instance.&lt;/p&gt;
&lt;h2 id=&#34;add-or-modify-a-data-source&#34;&gt;Add or modify a data source&lt;/h2&gt;
&lt;p&gt;You can use these procedures to configure a new Pyroscope data source or to edit an existing one.&lt;/p&gt;
&lt;h3 id=&#34;create-a-new-data-source&#34;&gt;Create a new data source&lt;/h3&gt;
&lt;p&gt;To configure basic settings for the data source, complete the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Connections&lt;/strong&gt; in the main menu.&lt;/li&gt;
&lt;li&gt;Enter &lt;code&gt;Grafana Pyroscope&lt;/code&gt; in the search bar.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Grafana Pyroscope&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Add new data source&lt;/strong&gt; in the top-right corner of the page.&lt;/li&gt;
&lt;li&gt;On the &lt;strong&gt;Settings&lt;/strong&gt; tab, complete the &lt;strong&gt;Name&lt;/strong&gt;, &lt;strong&gt;Connection&lt;/strong&gt;, and &lt;strong&gt;Authentication&lt;/strong&gt; sections.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Use the &lt;strong&gt;Name&lt;/strong&gt; field to specify the name used for the data source in panels, queries, and Explore. Toggle the &lt;strong&gt;Default&lt;/strong&gt; switch for the data source to be pre-selected for new panels.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Connection&lt;/strong&gt;, enter the &lt;strong&gt;URL&lt;/strong&gt; of the Pyroscope instance. For example, &lt;code&gt;https://example.com:4100&lt;/code&gt;. Refer to &lt;a href=&#34;#connection-url&#34;&gt;Connection URL&lt;/a&gt; for more information.&lt;/li&gt;
&lt;li&gt;Complete the &lt;a href=&#34;#authentication&#34;&gt;&lt;strong&gt;Authentication&lt;/strong&gt; section&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;Optional: Use &lt;strong&gt;Additional settings&lt;/strong&gt; to configure other options.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Save &amp;amp; test&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;update-an-existing-data-source&#34;&gt;Update an existing data source&lt;/h3&gt;
&lt;p&gt;To modify an existing Pyroscope data source:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Connections&lt;/strong&gt; in the main menu.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Data sources&lt;/strong&gt; to view a list of configured data sources.&lt;/li&gt;
&lt;li&gt;Select the Pyroscope data source you wish to modify.&lt;/li&gt;
&lt;li&gt;Optional: Use &lt;strong&gt;Additional settings&lt;/strong&gt; to configure or modify other options.&lt;/li&gt;
&lt;li&gt;After completing your updates, select &lt;strong&gt;Save &amp;amp; test&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;connection-url&#34;&gt;Connection URL&lt;/h4&gt;
&lt;p&gt;The data source connection URL should point to a location of a running Pyroscope backend.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Grafana Cloud Profiles&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Your Grafana Cloud instance automatically includes a fully provisioned data source.&lt;/p&gt;
&lt;p&gt;If you are running a self-managed Grafana instance or need to configure an additional Pyroscope data source pointing to Grafana Cloud Profiles, you can find the Pyroscope URL under the &lt;strong&gt;Manage your stack&lt;/strong&gt; section for your organization.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Self-managed Pyroscope backend&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The connection URL for a self-managed Pyroscope backend depends on how Pyroscope is deployed.
Refer to the steps under 
    &lt;a href=&#34;/docs/pyroscope/latest/deploy-kubernetes/helm/#query-profiles-in-grafana&#34;&gt;Query profiles in Grafana&lt;/a&gt; for more information on how to configure the data source.&lt;/p&gt;
&lt;p&gt;If you plan to use the 
    &lt;a href=&#34;/docs/grafana/v13.0/explore/simplified-exploration/profiles/&#34;&gt;Profiles Drilldown&lt;/a&gt; application and you are running a self-managed Pyroscope backend in microservices mode, the data source connection URL should point to a gateway or proxy that routes requests to the corresponding Pyroscope service.
Refer to the &lt;a href=&#34;https://github.com/grafana/pyroscope/blob/main/operations/pyroscope/helm/pyroscope/templates/ingress.yaml&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Helm ingress configuration&lt;/a&gt; for specific routing requirements.&lt;/p&gt;
&lt;h2 id=&#34;authentication&#34;&gt;Authentication&lt;/h2&gt;
&lt;p&gt;Use this section to select an authentication method to access the data source.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Use Transport Layer Security (TLS) for an additional layer of security when working with Pyroscope.
For additional information on setting up TLS encryption with Pyroscope, refer to 
    &lt;a href=&#34;/docs/pyroscope/latest/configure-server/reference-configuration-parameters/&#34;&gt;Pyroscope configuration&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;



&lt;div data-shared=&#34;datasources/datasouce-authentication.md&#34;&gt;
            

&lt;!-- Authentication procedure from shared file --&gt;
&lt;p&gt;To set up authentication:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Select an authentication method from the drop-down list:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Basic authentication&lt;/strong&gt;: Authenticates your data source using a username and password&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Forward OAuth identity&lt;/strong&gt;: Forwards the OAuth access token and the OIDC ID token, if available, of the user querying to the data source&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No authentication&lt;/strong&gt;: No authentication is required to access the data source&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For &lt;strong&gt;Basic authentication&lt;/strong&gt; only: Enter the &lt;strong&gt;User&lt;/strong&gt; and &lt;strong&gt;Password&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Optional: Complete the &lt;strong&gt;TLS settings&lt;/strong&gt; for additional security methods.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;strong&gt;TLS Client Authentication&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Toggle on to use client authentication. When enabled, it adds the &lt;strong&gt;Server name&lt;/strong&gt;, &lt;strong&gt;Client cert&lt;/strong&gt;, and &lt;strong&gt;Client key&lt;/strong&gt; fields. The client provides a certificate that is validated by the server to establish the client&amp;rsquo;s trusted identity. The client key encrypts the data between client and server. These details are encrypted and stored in the Grafana database.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Add self-signed certificate&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;Activate this option to use a self-signed TLS certificate. You can add your own Certificate Authority (CA) certificate on top of one generated by the certificate authorities for additional security measure.&lt;/dd&gt;
&lt;dt&gt;&lt;strong&gt;Skip TLS certification validation&lt;/strong&gt;&lt;/dt&gt;
&lt;dd&gt;When activated, it bypasses TLS certificate verification. Not recommended, unless absolutely necessary for testing.
&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/grafana/data-sources/tempo/tempo-data-source-authentication.png&#34;
  alt=&#34;Authentication section showing the TLS client certificate options&#34; width=&#34;633&#34;
     height=&#34;914&#34;/&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Optional: Add &lt;strong&gt;HTTP Headers&lt;/strong&gt;. You can pass along additional context and metadata data about the request and response. Select &lt;strong&gt;Add header&lt;/strong&gt; to add &lt;strong&gt;Header&lt;/strong&gt; and &lt;strong&gt;Value&lt;/strong&gt; fields.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select &lt;strong&gt;Save &amp;amp; test&lt;/strong&gt; to preserve your changes.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

  &lt;/div&gt;

        
&lt;h2 id=&#34;additional-settings&#34;&gt;Additional settings&lt;/h2&gt;
&lt;p&gt;Use the down arrow to expand the &lt;strong&gt;Additional settings&lt;/strong&gt; section to view these options.&lt;/p&gt;
&lt;h3 id=&#34;advanced-http-settings&#34;&gt;Advanced HTTP settings&lt;/h3&gt;
&lt;p&gt;The Grafana Proxy deletes forwarded cookies. Use the &lt;strong&gt;Allowed cookies&lt;/strong&gt; field to specify cookies that should be forwarded to the data source by name.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Timeout&lt;/strong&gt; field sets the HTTP request timeout in seconds.&lt;/p&gt;
&lt;h3 id=&#34;querying&#34;&gt;Querying&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Minimum step&lt;/strong&gt; is used for queries returning time-series data. The default value is 15 seconds.&lt;/p&gt;
&lt;p&gt;Adjusting this option can help prevent gaps when you zoom in to profiling data.&lt;/p&gt;
&lt;h3 id=&#34;private-data-source-connect&#34;&gt;Private data source connect&lt;/h3&gt;


&lt;div data-shared=&#34;datasources/datasouce-private-ds-connect.md&#34;&gt;
            

&lt;!-- Procedure for using private data source connect section in the data sources --&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;This feature is only available in Grafana Cloud.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;Use private data source connect (PDC) to connect to and query data within a secure network without opening that network to inbound traffic from Grafana Cloud.&lt;/p&gt;
&lt;p&gt;Refer to &lt;a href=&#34;/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/&#34;&gt;Private data source connect&lt;/a&gt; for more information on how PDC works and &lt;a href=&#34;/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/configure-pdc/#configure-grafana-private-data-source-connect-pdc&#34;&gt;Configure Grafana private data source connect (PDC)&lt;/a&gt; for steps on setting up a PDC connection.&lt;/p&gt;
&lt;p&gt;Use the drop-down list to select a configured private data source. If you make changes, select &lt;strong&gt;Test &amp;amp; save&lt;/strong&gt; to preserve your changes.&lt;/p&gt;
&lt;p&gt;Use &lt;strong&gt;Manage private data source connect&lt;/strong&gt; to configure and manage any private data sources you have configured.&lt;/p&gt;

  &lt;/div&gt;

        
]]></content><description>&lt;h1 id="configure-the-grafana-pyroscope-data-source">Configure the Grafana Pyroscope data source&lt;/h1>
&lt;p>The Pyroscope data source sets how Grafana connects to your Pyroscope database.&lt;/p>
&lt;p>You can configure the data source using either the data source interface in Grafana or using a configuration file.
This page explains how to set up and enable the data source capabilities using Grafana.&lt;/p></description></item><item><title>How profiling and tracing work together</title><link>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/profiling-and-tracing/</link><pubDate>Tue, 14 Apr 2026 09:48:24 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/profiling-and-tracing/</guid><content><![CDATA[&lt;h1 id=&#34;how-profiling-and-tracing-work-together&#34;&gt;How profiling and tracing work together&lt;/h1&gt;


&lt;div data-shared=&#34;datasources/pyroscope-profile-tracing-intro.md&#34;&gt;
            &lt;!-- Profiling and tracing integration --&gt;
&lt;p&gt;Profiles, continuous profiling, and distributed traces are all tools that can be used to improve the performance and reliability of applications.
However, each tool has its own strengths and weaknesses, and it is important to choose the right tool for the job as well as understand when to use both.&lt;/p&gt;
&lt;h2 id=&#34;profiling&#34;&gt;Profiling&lt;/h2&gt;
&lt;p&gt;Profiling offers a deep-dive into an application&amp;rsquo;s performance at the code level, highlighting resource usage and performance hotspots.&lt;/p&gt;
&lt;table&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Usage&lt;/th&gt;
    &lt;td&gt;During development, major releases, or upon noticing performance quirks.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Benefits&lt;/th&gt;
    &lt;td&gt;
      &lt;ul&gt;
        &lt;li&gt;Business: Boosts user experience through enhanced application performance.&lt;/li&gt;
        &lt;li&gt;Technical: Gives clear insights into code performance and areas of refinement.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Example&lt;/th&gt;
    &lt;td&gt;A developer uses profiling upon noting slow app performance, identifies a CPU-heavy function, and optimizes it.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;h2 id=&#34;continuous-profiling&#34;&gt;Continuous profiling&lt;/h2&gt;
&lt;p&gt;Continuous profiling provides ongoing performance insights, capturing long-term trends and intermittent issues.&lt;/p&gt;
&lt;table&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Usage&lt;/th&gt;
    &lt;td&gt;Mainly in production, especially for high-priority applications.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Benefits&lt;/th&gt;
    &lt;td&gt;
      &lt;ul&gt;
        &lt;li&gt;Business: Preemptively addresses inefficiencies, potentially saving costs.&lt;/li&gt;
        &lt;li&gt;Technical: Highlights performance trends and issues like potential memory leaks over time.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Example&lt;/th&gt;
    &lt;td&gt;A month-long data from continuous profiling suggests increasing memory consumption, hinting at a memory leak.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;h2 id=&#34;distributed-tracing&#34;&gt;Distributed tracing&lt;/h2&gt;
&lt;p&gt;Traces requests as they cross multiple services, revealing interactions and service dependencies.&lt;/p&gt;
&lt;table&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Usage&lt;/th&gt;
    &lt;td&gt;Essential for systems like microservices where requests touch multiple services.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Benefits&lt;/th&gt;
    &lt;td&gt;
      &lt;ul&gt;
        &lt;li&gt;Business: Faster issue resolution, reduced downtimes, and strengthened customer trust.&lt;/li&gt;
        &lt;li&gt;Technical: A broad view of the system&#39;s structure, revealing bottlenecks and inter-service dependencies.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Example&lt;/th&gt;
    &lt;td&gt;In e-commerce, a user&#39;s checkout request might involve various services. Tracing depicts this route, pinpointing where time is most spent.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;h2 id=&#34;combined-power-of-tracing-and-profiling&#34;&gt;Combined power of tracing and profiling&lt;/h2&gt;
&lt;p&gt;When used together, tracing and profiling provide a powerful tool for understanding system and application performance.&lt;/p&gt;
&lt;table&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Usage&lt;/th&gt;
    &lt;td&gt;For comprehensive system-to-code insights, especially when diagnosing complex issues spread across services and codebases.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Benefits&lt;/th&gt;
    &lt;td&gt;
      &lt;ul&gt;
        &lt;li&gt;Business: Reduces downtime, optimizes user experience, and safeguards revenues.&lt;/li&gt;
        &lt;li&gt;Technical:
          &lt;ul&gt;
            &lt;li&gt;Holistic view: Tracing pinpoints bottle-necked services, while profiling delves into the responsible code segments.&lt;/li&gt;
            &lt;li&gt;End-to-end insight: Visualizes a request&#39;s full journey and the performance of individual code parts.&lt;/li&gt;
            &lt;li&gt;Efficient diagnosis: Tracing identifies service latency; profiling zeroes in on its cause, be it database queries, API calls, or specific code inefficiencies.&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/li&gt;
      &lt;/ul&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th scope=&#34;row&#34;&gt;Example&lt;/th&gt;
    &lt;td&gt;Tracing reveals latency in a payment service. Combined with profiling, it&#39;s found that a particular function, making third-party validation calls, is the culprit. This insight guides optimization, refining system efficiency.&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;

        
]]></content><description>&lt;h1 id="how-profiling-and-tracing-work-together">How profiling and tracing work together&lt;/h1>
&lt;div data-shared="datasources/pyroscope-profile-tracing-intro.md">
&lt;!-- Profiling and tracing integration -->
&lt;p>Profiles, continuous profiling, and distributed traces are all tools that can be used to improve the performance and reliability of applications.
However, each tool has its own strengths and weaknesses, and it is important to choose the right tool for the job as well as understand when to use both.&lt;/p></description></item><item><title>Configure traces to profiles</title><link>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/configure-traces-to-profiles/</link><pubDate>Tue, 14 Apr 2026 09:48:24 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/configure-traces-to-profiles/</guid><content><![CDATA[&lt;h1 id=&#34;configure-trace-to-profiles&#34;&gt;Configure Trace to profiles&lt;/h1&gt;
&lt;p&gt;Trace to profiles lets you navigate from a trace span directly to the profiling data for that span. You configure the integration in the Tempo data source, which connects your tracing data in Tempo with your profiling data in Pyroscope.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Your application must be instrumented for profiles and traces. For more information, refer to 
    &lt;a href=&#34;/docs/pyroscope/latest/configure-client/trace-span-profiles/&#34;&gt;Link traces to profiles&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;



&lt;div data-shared=&#34;datasources/tempo-traces-to-profiles.md&#34;&gt;
            &lt;!-- # Trace to profiles  --&gt;
&lt;p&gt;Using Trace to profiles, you can use the ability to correlate different signals in Grafana by adding the functionality to link between traces and profiles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Trace to profiles&lt;/strong&gt; lets you link your Grafana Pyroscope data source to tracing data.
When configured, this connection lets you run queries from a trace span into the profile data using &lt;strong&gt;Explore&lt;/strong&gt;.
Each span links to your queries. Clicking a link runs the query in a split panel.
If tags are configured, Grafana dynamically inserts the span attribute values into the query.
The query runs over the time range of the (span start time - 60) to (span end time &#43; 60 seconds).&lt;/p&gt;
&lt;p&gt;Embedded flame graphs are also inserted into each span details section that has a linked profile.
This lets you see resource consumption in a flame graph visualization for each span without having to navigate away from the current view.&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#39;https://www.youtube.com/embed/AG8VzfFMLxo&#39; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;There are two ways to configure the trace to profiles feature:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use a basic configuration with default query, or&lt;/li&gt;
&lt;li&gt;Configure a custom query where you can use a template language to interpolate variables from the trace or span.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/grafana/data-sources/tempo/tempo-data-source-trace-to-profiles.png&#34;
  alt=&#34;Traces to profiles section in the Tempo data source&#34; width=&#34;919&#34;
     height=&#34;224&#34;/&gt;&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;To use Trace to profiles, you need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A 
    &lt;a href=&#34;/docs/grafana/v13.0/datasources/grafana-pyroscope/&#34;&gt;Grafana Pyroscope data source&lt;/a&gt; connected to your Pyroscope instance.&lt;/li&gt;
&lt;li&gt;A Tempo data source configured with the Trace to profiles settings described on this page.&lt;/li&gt;
&lt;li&gt;Your application instrumented with all three of the following:
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Profiling&lt;/strong&gt;: A Pyroscope SDK or Grafana Alloy sending profiling data to Pyroscope. Refer to 
    &lt;a href=&#34;/docs/pyroscope/latest/configure-client/&#34;&gt;Configure the client to send profiles&lt;/a&gt; for setup instructions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tracing&lt;/strong&gt;: An OpenTelemetry SDK sending trace data to Tempo. Refer to the &lt;a href=&#34;https://opentelemetry.io/docs/getting-started/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;OpenTelemetry getting started documentation&lt;/a&gt; for setup instructions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Span profiling bridge&lt;/strong&gt;: A language-specific OpenTelemetry integration package that links profiling data with trace spans. Without this package, traces and profiles are independent signals with no connection between them. Refer to 
    &lt;a href=&#34;/docs/pyroscope/latest/configure-client/trace-span-profiles/&#34;&gt;Link tracing and profiling with span profiles&lt;/a&gt; for per-language setup instructions.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;use-a-basic-configuration&#34;&gt;Use a basic configuration&lt;/h2&gt;
&lt;p&gt;To use a basic configuration, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the left menu, select &lt;strong&gt;Connections&lt;/strong&gt; &amp;gt; &lt;strong&gt;Data sources&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select your configured Tempo data source from the &lt;strong&gt;Data source&lt;/strong&gt; list.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Scroll down to the &lt;strong&gt;Traces to profiles&lt;/strong&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a Pyroscope data source in the &lt;strong&gt;Data source&lt;/strong&gt; drop-down.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Optional: Add one or more tags to use in the query. If left blank, the default values of &lt;code&gt;service.name&lt;/code&gt; and &lt;code&gt;service.namespace&lt;/code&gt; are used.&lt;/p&gt;
&lt;p&gt;The tags you configure must be present in the spans attributes or resources for a trace-to-profiles span link to appear.&lt;/p&gt;
&lt;p&gt;You can optionally configure a new name for the tag. This is useful if the tag has dots in the name and the target data source doesn&amp;rsquo;t allow dots in labels. In that case, you can remap &lt;code&gt;service.name&lt;/code&gt; to &lt;code&gt;service_name&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select one or more profile types to use in the query. Select the drop-down and choose options from the menu.&lt;/p&gt;
&lt;p&gt;The profile type or app must be selected for the query to be valid. Grafana doesn&amp;rsquo;t show any data if the profile type or app isn&amp;rsquo;t selected when a query runs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select &lt;strong&gt;Save and Test&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you have configured a Pyroscope data source and no profile data is available or the &lt;strong&gt;Profiles for this span&lt;/strong&gt;
button and the embedded flame graph isn&amp;rsquo;t visible, verify that the &lt;code&gt;pyroscope.profile.id&lt;/code&gt; key-value pair exists in your span tags.&lt;/p&gt;
&lt;h2 id=&#34;configure-custom-query-traces-profiles&#34;&gt;Configure a custom query&lt;/h2&gt;
&lt;p&gt;To use a custom query with the configuration, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the left menu, select &lt;strong&gt;Connections&lt;/strong&gt; &amp;gt; &lt;strong&gt;Data sources&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a configured Tempo data source from the &lt;strong&gt;Data source&lt;/strong&gt; list.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Scroll down to the &lt;strong&gt;Traces to profiles&lt;/strong&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a Pyroscope data source in the &lt;strong&gt;Data source&lt;/strong&gt; drop-down.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Optional: Choose any tags to use in the query. If left blank, the default values of &lt;code&gt;service.name&lt;/code&gt; and &lt;code&gt;service.namespace&lt;/code&gt; are used.&lt;/p&gt;
&lt;p&gt;These tags can be used in the custom query with &lt;code&gt;${__tags}&lt;/code&gt; variable. This variable interpolates the mapped tags as list in an appropriate syntax for the data source. Only tags present in the span are included. Tags that aren&amp;rsquo;t present are omitted.&lt;/p&gt;
&lt;p&gt;You can also configure a name for the tag. Tag names are useful where the tag has dots in the name and the target data source doesn&amp;rsquo;t allow using dots in labels. For example, you can remap &lt;code&gt;service.name&lt;/code&gt; to &lt;code&gt;service_name&lt;/code&gt;. If you don&amp;rsquo;t map any tags here, you can still use any tag in the query, for example: &lt;code&gt;method=&amp;quot;${__span.tags.method}&amp;quot;&lt;/code&gt;. Learn more about 
    &lt;a href=&#34;/docs/grafana/v13.0/datasources/tempo/configure-tempo-data-source/#custom-query-variables&#34;&gt;custom query variables&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select one or more profile types to use in the query. Select the drop-down and choose options from the menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Switch on &lt;strong&gt;Use custom query&lt;/strong&gt; to enter a custom query.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Specify a custom query to be used to query profile data. You can use various variables to make that query relevant for current span. The link shows only if all the variables are interpolated with non-empty values to prevent creating an invalid query. You can interpolate the configured tags using the &lt;code&gt;$__tags&lt;/code&gt; keyword.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select &lt;strong&gt;Save and Test&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuration-options&#34;&gt;Configuration options&lt;/h2&gt;
&lt;p&gt;The following table describes options for configuring your &lt;strong&gt;Trace to profiles&lt;/strong&gt; settings:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Setting name&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Data source&lt;/td&gt;
              &lt;td&gt;Defines the target data source. You can select a Pyroscope [profiling] data source.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Tags&lt;/td&gt;
              &lt;td&gt;Defines the tags to use in the profile query. Default: &lt;code&gt;cluster&lt;/code&gt;, &lt;code&gt;hostname&lt;/code&gt;, &lt;code&gt;namespace&lt;/code&gt;, &lt;code&gt;pod&lt;/code&gt;, &lt;code&gt;service.name&lt;/code&gt;, &lt;code&gt;service.namespace&lt;/code&gt;. You can change the tag name for example to remove dots from the name if they&amp;rsquo;re not allowed in the target data source. For example, map &lt;code&gt;http.status&lt;/code&gt; to &lt;code&gt;http_status&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Profile type&lt;/td&gt;
              &lt;td&gt;Defines the profile type to use in the query.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Use custom query&lt;/td&gt;
              &lt;td&gt;Toggles use of custom query with interpolation.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Query&lt;/td&gt;
              &lt;td&gt;Input to write custom query. Use variable interpolation to customize it with variables from span.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;/div&gt;

        
&lt;h2 id=&#34;verify-the-integration&#34;&gt;Verify the integration&lt;/h2&gt;
&lt;p&gt;After you configure the Tempo data source and instrument your application, verify that the integration works.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open a trace in &lt;strong&gt;Explore&lt;/strong&gt; using your Tempo data source.&lt;/li&gt;
&lt;li&gt;Expand a span to view its details.&lt;/li&gt;
&lt;li&gt;Confirm that the &lt;strong&gt;Profiles for this span&lt;/strong&gt; button appears in the span details.&lt;/li&gt;
&lt;li&gt;Confirm that an embedded flame graph appears in the span details section.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If the span attribute &lt;code&gt;pyroscope.profile.id&lt;/code&gt; isn&amp;rsquo;t present on the span, the OpenTelemetry bridge package isn&amp;rsquo;t configured correctly. Refer to 
    &lt;a href=&#34;/docs/pyroscope/latest/configure-client/trace-span-profiles/&#34;&gt;Link tracing and profiling with span profiles&lt;/a&gt; for per-language setup instructions.&lt;/p&gt;
&lt;h2 id=&#34;troubleshoot-trace-to-profiles&#34;&gt;Troubleshoot trace to profiles&lt;/h2&gt;
&lt;p&gt;Use the following checklist to diagnose common issues with the Trace to profiles integration.&lt;/p&gt;
&lt;h3 id=&#34;no-profiles-for-this-span-button-appears&#34;&gt;No &amp;ldquo;Profiles for this span&amp;rdquo; button appears&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Verify that you installed and configured the OTel bridge package for your language. This is a separate package from the Pyroscope SDK and OpenTelemetry SDK. Refer to 
    &lt;a href=&#34;/docs/pyroscope/latest/configure-client/trace-span-profiles/&#34;&gt;Link tracing and profiling with span profiles&lt;/a&gt; for per-language instructions.&lt;/li&gt;
&lt;li&gt;Check that the &lt;code&gt;pyroscope.profile.id&lt;/code&gt; attribute exists on the span in Tempo. If it&amp;rsquo;s missing, the bridge package isn&amp;rsquo;t tagging spans correctly.&lt;/li&gt;
&lt;li&gt;Check that the &lt;code&gt;span_name&lt;/code&gt; label exists on the profiling data in Pyroscope. If it&amp;rsquo;s missing, the bridge package isn&amp;rsquo;t labeling profiling samples correctly.&lt;/li&gt;
&lt;li&gt;Verify that the tags you configured in the Tempo data source are present in the span&amp;rsquo;s attributes or resources. If the tags don&amp;rsquo;t match, the span link doesn&amp;rsquo;t appear.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;button-appears-but-no-profile-data-is-shown&#34;&gt;Button appears but no profile data is shown&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;The span might be shorter than the sampling interval of the profiler. Span profiling is most effective on spans longer than 20ms.&lt;/li&gt;
&lt;li&gt;CPU profiling only captures time spent actively executing on the CPU. If the span is mostly waiting on I/O, network calls, or database queries, the CPU profile for that span may be sparse or empty.&lt;/li&gt;
&lt;li&gt;Verify that the profile type selected in the Tempo data source configuration matches the profile type your application sends.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;tags-dont-match&#34;&gt;Tags don&amp;rsquo;t match&lt;/h3&gt;
&lt;p&gt;Tags you configure in the Tempo data source must be present in the span&amp;rsquo;s attributes or resources. If a tag has dots in its name, for example, &lt;code&gt;service.name&lt;/code&gt;, and the Pyroscope data source doesn&amp;rsquo;t allow dots in labels, remap it to a name without dots, for example, &lt;code&gt;service_name&lt;/code&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="configure-trace-to-profiles">Configure Trace to profiles&lt;/h1>
&lt;p>Trace to profiles lets you navigate from a trace span directly to the profiling data for that span. You configure the integration in the Tempo data source, which connects your tracing data in Tempo with your profiling data in Pyroscope.&lt;/p></description></item><item><title>Query profile data</title><link>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/query-profile-data/</link><pubDate>Tue, 14 Apr 2026 09:48:24 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/query-profile-data/</guid><content><![CDATA[&lt;h1 id=&#34;query-profile-data&#34;&gt;Query profile data&lt;/h1&gt;
&lt;p&gt;You can query your profile data using the open source Grafana Profiles Drilldown app or the built-in Grafana Pyroscope data source query editor.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Profiles Drilldown provides a queryless experience for inspecting your profiling data with opinionated workflows to assist your investigation.&lt;/li&gt;
&lt;li&gt;Data source query editor provides complete control over your data exploration and is recommended for experienced users.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition, you can embed flame graph panels in Grafana dashboards.
Refer to the 
    &lt;a href=&#34;/docs/grafana/v13.0/panels-visualizations/visualizations/flame-graph/&#34;&gt;Flame graph panel&lt;/a&gt; documentation for details.&lt;/p&gt;
&lt;h2 id=&#34;profiles-drilldown&#34;&gt;Profiles Drilldown&lt;/h2&gt;
&lt;p&gt;
    &lt;a href=&#34;/docs/grafana/v13.0/explore/simplified-exploration/profiles/&#34;&gt;Grafana Profiles Drilldown&lt;/a&gt; is a native Grafana application designed to integrate seamlessly with Pyroscope, the open source continuous profiling platform, providing a smooth, queryless experience for browsing and analyzing profiling data.&lt;/p&gt;
&lt;p&gt;You can use Profiles Drilldown in Grafana Cloud or in your own Grafana instance.
For more information, refer to 
    &lt;a href=&#34;/docs/grafana/v13.0/explore/simplified-exploration/profiles/access/&#34;&gt;Access or install Profiles Drilldown&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/explore-profiles/explore-profiles-homescreen-v0.1.17.png&#34;
  alt=&#34;Profiles Drilldown home screen&#34; width=&#34;1227&#34;
     height=&#34;787&#34;/&gt;&lt;/p&gt;
&lt;h3 id=&#34;use-cases&#34;&gt;Use cases&lt;/h3&gt;
&lt;p&gt;There are several different modes for viewing, analyzing, and comparing profiling data.&lt;/p&gt;
&lt;p&gt;The main use cases are the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Proactive: Cutting costs, addressing latency issues, or optimizing memory usage for applications&lt;/li&gt;
&lt;li&gt;Reactive: Resolving incidents with line-level accuracy or debugging active latency/memory issues&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Profiles Drilldown provides an intuitive interface to specifically support proactivee and reactive use cases.
You get a holistic view of all of your services and how they&amp;rsquo;re functioning, but also the ability to drill down for more targeted root cause analysis.&lt;/p&gt;
&lt;p&gt;Profiles Drilldown offers a convenient platform to analyze profiles and get insights that are impossible to get from using other traditional signals like logs, metrics, or tracing.&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#39;https://www.youtube.com/embed/x9aPw_CbIQc&#39; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;




  &lt;div class=&#34;d-sm-flex flex-direction-row-reverse bg-gray-1 br-12 p-2 my-1&#34;&gt;
    &lt;img class=&#34;mb-1 lazyload&#34; data-src=&#34;/media/docs/icons/docs-play.svg&#34; width=&#34;228&#34; height=&#34;182&#34; alt=&#34;Give it a try using Grafana Play&#34;&gt;
    &lt;div&gt;
      &lt;div class=&#34;h4 pt-0 pb-half fw-500&#34;&gt;Give it a try using Grafana Play&lt;/div&gt;
      &lt;p class=&#34;pr-1 pb-half&#34;&gt;With Grafana Play, you can explore and see how it works, learning from practical examples to accelerate your development.
This feature can be seen on &lt;a href=&#34;https://play.grafana.org/a/grafana-pyroscope-app/profiles-explorer&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;the Grafana Play site&lt;/a&gt;.&lt;/p&gt;
      &lt;div class=&#34;mx-auto&#34;&gt;
        &lt;a class=&#34;btn btn--primary btn--large arrow fw-600 br-8 w-175&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34; href=&#34;https://play.grafana.org/a/grafana-pyroscope-app/profiles-explorer&#34;&gt;Try it&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

&lt;h2 id=&#34;pyroscope-query-editor&#34;&gt;Pyroscope query editor&lt;/h2&gt;
&lt;p&gt;The Pyroscope data source query editor gives you access to a profile type selector, a label selector, and collapsible options.&lt;/p&gt;
&lt;p&gt;Like Profiles Drilldown, the query editor also provides a flame graph to visualize data.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/pyroscope/query-editor/query-editor.png&#34;
  alt=&#34;Query editor&#34; width=&#34;1902&#34;
     height=&#34;278&#34;/&gt;&lt;/p&gt;
&lt;p&gt;To access the query editor:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Sign into Grafana or Grafana Cloud.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select your Pyroscope data source.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the menu, choose &lt;strong&gt;Explore&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a profile type from the drop-down menu.&lt;/p&gt;
&lt;figure
       class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
       style=&#34;max-width: 450px;&#34;
       itemprop=&#34;associatedMedia&#34;
       itemscope=&#34;&#34;
       itemtype=&#34;http://schema.org/ImageObject&#34;
     &gt;&lt;a
           class=&#34;lightbox-link captioned&#34;
           href=&#34;/media/docs/pyroscope/query-editor/select-profile.png&#34;
           itemprop=&#34;contentUrl&#34;
         &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
             class=&#34;lazyload mb-0&#34;
             data-src=&#34;/media/docs/pyroscope/query-editor/select-profile.png&#34;data-srcset=&#34;/media/docs/pyroscope/query-editor/select-profile.png?w=320 320w, /media/docs/pyroscope/query-editor/select-profile.png?w=550 550w, /media/docs/pyroscope/query-editor/select-profile.png?w=750 750w, /media/docs/pyroscope/query-editor/select-profile.png?w=900 900w, /media/docs/pyroscope/query-editor/select-profile.png?w=1040 1040w, /media/docs/pyroscope/query-editor/select-profile.png?w=1240 1240w, /media/docs/pyroscope/query-editor/select-profile.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Profile selector&#34;width=&#34;886&#34;height=&#34;550&#34;title=&#34;Profile selector&#34;/&gt;
           &lt;noscript&gt;
             &lt;img
               src=&#34;/media/docs/pyroscope/query-editor/select-profile.png&#34;
               alt=&#34;Profile selector&#34;width=&#34;886&#34;height=&#34;550&#34;title=&#34;Profile selector&#34;class=&#34;docs-image--no-shadow&#34;/&gt;
           &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Profile selector&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the labels selector input to filter by labels. Pyroscope uses similar syntax to Prometheus to filter labels.
Refer to 
    &lt;a href=&#34;/docs/pyroscope/latest/&#34;&gt;Pyroscope documentation&lt;/a&gt; for available operators and syntax.&lt;/p&gt;
&lt;p&gt;While the label selector can be left empty to query all profiles without filtering by labels, you must select a profile type or app for the query to be valid.&lt;/p&gt;
&lt;p&gt;Grafana doesn&amp;rsquo;t show any data if the profile type or app isn’t selected when a query runs.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/pyroscope/query-editor/labels-selector.png&#34;
  alt=&#34;Labels selector&#34; width=&#34;1900&#34;
     height=&#34;282&#34;/&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Expand the &lt;strong&gt;Options&lt;/strong&gt; section to view &lt;strong&gt;Query Type&lt;/strong&gt; and &lt;strong&gt;Group by&lt;/strong&gt;.
&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/pyroscope/query-editor/options-section.png&#34;
  alt=&#34;Options section&#34; width=&#34;1906&#34;
     height=&#34;416&#34;/&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select a query type to return the profile data. Data is shown in the 
    &lt;a href=&#34;/docs/grafana/v13.0/panels-visualizations/visualizations/flame-graph/&#34;&gt;Flame Graph&lt;/a&gt;, metric data visualized in a graph, or both. You can only select both options in Explore. The panels used on dashboards allow only one visualization.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Using &lt;strong&gt;Group by&lt;/strong&gt;, you can group metric data by a specified label.
Without any &lt;strong&gt;Group by&lt;/strong&gt; label, metric data aggregates over all the labels into single time series.
You can use multiple labels to group by. Group by only effects the metric data and doesn&amp;rsquo;t change the profile data results.&lt;/p&gt;
&lt;p&gt;In conjunction with &lt;strong&gt;Group by&lt;/strong&gt;, you can set a positive number in the &lt;strong&gt;Limit&lt;/strong&gt; input to limit the maximum number of time series returned by the data source. The series returned are always ordered by descending value for the total aggregated data over the time period.&lt;/p&gt;
&lt;h3 id=&#34;profiles-query-results&#34;&gt;Profiles query results&lt;/h3&gt;
&lt;p&gt;Profiles can be visualized in a flame graph.
Refer to the 
    &lt;a href=&#34;/docs/grafana/v13.0/panels-visualizations/visualizations/flame-graph/&#34;&gt;Flame Graph documentation&lt;/a&gt; to learn about the visualization and its features.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/pyroscope/query-editor/flame-graph.png&#34;
  alt=&#34;Flame graph&#34; width=&#34;1958&#34;
     height=&#34;1204&#34;/&gt;&lt;/p&gt;
&lt;p&gt;Pyroscope returns profiles aggregated over a selected time range.
The absolute values in the flame graph grow as the time range gets bigger while keeping the relative values meaningful.
You can zoom in on the time range to get a higher granularity profile up to the point of a single scrape interval.&lt;/p&gt;
&lt;h3 id=&#34;metrics-query-results&#34;&gt;Metrics query results&lt;/h3&gt;
&lt;p&gt;Metrics results represent the aggregated sum value over time of the selected profile type.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;/media/docs/pyroscope/query-editor/metric-graph.png&#34;
  alt=&#34;Metrics graph&#34; width=&#34;1942&#34;
     height=&#34;492&#34;/&gt;&lt;/p&gt;
&lt;p&gt;This allows you to quickly see any spikes in the value of the scraped profiles and zoom in to a particular time range.&lt;/p&gt;
]]></content><description>&lt;h1 id="query-profile-data">Query profile data&lt;/h1>
&lt;p>You can query your profile data using the open source Grafana Profiles Drilldown app or the built-in Grafana Pyroscope data source query editor.&lt;/p></description></item><item><title>Troubleshoot Pyroscope data source issues</title><link>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/troubleshooting/</link><pubDate>Mon, 20 Apr 2026 09:57:34 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.0/datasources/pyroscope/troubleshooting/</guid><content><![CDATA[&lt;h1 id=&#34;troubleshoot-pyroscope-data-source-issues&#34;&gt;Troubleshoot Pyroscope data source issues&lt;/h1&gt;
&lt;p&gt;This document provides solutions to common issues you may encounter when configuring or using the Pyroscope data source. For configuration instructions, refer to 
    &lt;a href=&#34;/docs/grafana/v13.0/datasources/pyroscope/configure-pyroscope-data-source/&#34;&gt;Configure the Grafana Pyroscope data source&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;connection-and-configuration-errors&#34;&gt;Connection and configuration errors&lt;/h2&gt;
&lt;p&gt;These errors occur when setting up the data source or when connecting to the Pyroscope backend.&lt;/p&gt;
&lt;h3 id=&#34;data-source-is-not-working-or-connection-fails&#34;&gt;&amp;ldquo;Data source is not working&amp;rdquo; or connection fails&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Save &amp;amp; test fails with a connection error&lt;/li&gt;
&lt;li&gt;Error message indicates the Pyroscope backend is unreachable&lt;/li&gt;
&lt;li&gt;Timeout errors when testing the data source&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Possible causes and solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Cause&lt;/th&gt;
              &lt;th&gt;Solution&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Incorrect URL&lt;/td&gt;
              &lt;td&gt;Verify the URL points to your Pyroscope instance. For self-managed deployments, the default port is &lt;code&gt;4040&lt;/code&gt; (for example, &lt;code&gt;http://localhost:4040&lt;/code&gt;).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Pyroscope service not running&lt;/td&gt;
              &lt;td&gt;Check that the Pyroscope backend is running and accessible. Use &lt;code&gt;curl&lt;/code&gt; or a browser to test connectivity to the Pyroscope URL.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Network connectivity issues&lt;/td&gt;
              &lt;td&gt;Verify network connectivity from the Grafana server to the Pyroscope endpoint. Check firewall rules allow outbound connections on the required port.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Microservices mode routing&lt;/td&gt;
              &lt;td&gt;If running Pyroscope in microservices mode, ensure the URL points to a gateway or proxy that routes requests correctly. Refer to the Helm ingress configuration for routing requirements.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;TLS/SSL certificate issues&lt;/td&gt;
              &lt;td&gt;If using HTTPS, verify the certificate is valid and trusted by the Grafana server. Configure TLS settings in the data source if using self-signed certificates.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;url-format-issues&#34;&gt;URL format issues&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data source test fails immediately&lt;/li&gt;
&lt;li&gt;Error indicates invalid URL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ensure the URL includes the protocol (&lt;code&gt;http://&lt;/code&gt; or &lt;code&gt;https://&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Remove any trailing slashes from the URL.&lt;/li&gt;
&lt;li&gt;For Grafana Cloud Profiles, find the correct URL under &lt;strong&gt;Manage your stack&lt;/strong&gt; in your organization settings.&lt;/li&gt;
&lt;li&gt;Verify the port number is correct for your deployment.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;authentication-errors&#34;&gt;Authentication errors&lt;/h2&gt;
&lt;p&gt;These errors occur when the data source cannot authenticate with the Pyroscope backend.&lt;/p&gt;
&lt;h3 id=&#34;authentication-failed-or-unauthorized&#34;&gt;&amp;ldquo;Authentication failed&amp;rdquo; or &amp;ldquo;Unauthorized&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Save &amp;amp; test fails with authentication errors&lt;/li&gt;
&lt;li&gt;Queries return 401 or 403 status codes&lt;/li&gt;
&lt;li&gt;Profile types don&amp;rsquo;t load&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Possible causes and solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Cause&lt;/th&gt;
              &lt;th&gt;Solution&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Invalid credentials&lt;/td&gt;
              &lt;td&gt;Verify the username and password or API key are correct.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Expired credentials&lt;/td&gt;
              &lt;td&gt;Generate new credentials and update the data source configuration.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Incorrect authentication type&lt;/td&gt;
              &lt;td&gt;Ensure you&amp;rsquo;ve selected the correct authentication method for your Pyroscope deployment (Basic auth, API key, or no authentication for local setups).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Missing authentication headers&lt;/td&gt;
              &lt;td&gt;For custom authentication, verify the required headers are configured correctly in the data source settings.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;basic-authentication-not-working&#34;&gt;Basic authentication not working&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Basic auth credentials are rejected&lt;/li&gt;
&lt;li&gt;Works in browser but fails in Grafana&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify Basic authentication is enabled in the data source settings.&lt;/li&gt;
&lt;li&gt;Ensure the username and password are entered correctly (no extra spaces).&lt;/li&gt;
&lt;li&gt;Check that the Pyroscope backend is configured to accept Basic authentication.&lt;/li&gt;
&lt;li&gt;For Grafana Cloud Profiles, use the API key authentication method instead.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;api-key-authentication-issues&#34;&gt;API key authentication issues&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;API key is rejected&lt;/li&gt;
&lt;li&gt;Error indicates invalid token&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify you&amp;rsquo;re using the correct API key format for your Pyroscope deployment.&lt;/li&gt;
&lt;li&gt;For Grafana Cloud, generate a new API key from the Grafana Cloud portal.&lt;/li&gt;
&lt;li&gt;Ensure the API key has the required permissions to read profiling data.&lt;/li&gt;
&lt;li&gt;Check if the API key has expired and generate a new one if necessary.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;query-errors&#34;&gt;Query errors&lt;/h2&gt;
&lt;p&gt;These errors occur when executing queries against the Pyroscope data source.&lt;/p&gt;
&lt;h3 id=&#34;no-data-or-empty-results&#34;&gt;&amp;ldquo;No data&amp;rdquo; or empty results&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Query executes without error but returns no data&lt;/li&gt;
&lt;li&gt;Flame graph shows &amp;ldquo;No data&amp;rdquo; message&lt;/li&gt;
&lt;li&gt;Metrics graph is empty&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Possible causes and solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Cause&lt;/th&gt;
              &lt;th&gt;Solution&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Time range doesn&amp;rsquo;t contain data&lt;/td&gt;
              &lt;td&gt;Expand the dashboard time range. Profiling data may not exist for the selected period.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Application not sending profiles&lt;/td&gt;
              &lt;td&gt;Verify your application is configured to send profiles to Pyroscope. Check the Pyroscope agent or SDK configuration.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Incorrect profile type selected&lt;/td&gt;
              &lt;td&gt;Select a different profile type from the drop-down menu. Not all profile types are available for all applications.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Label selector too restrictive&lt;/td&gt;
              &lt;td&gt;Remove or modify label filters to broaden the query. Start without filters to verify data exists.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Wrong service or application selected&lt;/td&gt;
              &lt;td&gt;Verify the &lt;code&gt;service_name&lt;/code&gt; label matches your application&amp;rsquo;s configuration.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Profile type or app not selected&lt;/td&gt;
              &lt;td&gt;Ensure you&amp;rsquo;ve selected a profile type or app in the query editor. The query returns no data if neither is selected.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;profile-type-not-found-or-empty-profile-type-selector&#34;&gt;&amp;ldquo;Profile type not found&amp;rdquo; or empty profile type selector&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Profile type drop-down is empty&lt;/li&gt;
&lt;li&gt;Error indicates profile type doesn&amp;rsquo;t exist&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify the Pyroscope backend is receiving profiles from your applications.&lt;/li&gt;
&lt;li&gt;Check that the time range includes periods when profiles were collected.&lt;/li&gt;
&lt;li&gt;Test the data source connection to ensure it&amp;rsquo;s working correctly.&lt;/li&gt;
&lt;li&gt;For new deployments, wait a few minutes for initial profile data to be ingested.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;label-names-or-values-not-loading&#34;&gt;Label names or values not loading&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Label selector doesn&amp;rsquo;t populate&lt;/li&gt;
&lt;li&gt;No labels appear in the drop-down menus&lt;/li&gt;
&lt;li&gt;Autocomplete doesn&amp;rsquo;t work&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify the data source connection is working by testing it in the settings.&lt;/li&gt;
&lt;li&gt;Select a profile type first, as labels are loaded based on the selected profile type.&lt;/li&gt;
&lt;li&gt;Expand the time range to ensure label data is available.&lt;/li&gt;
&lt;li&gt;Check the browser console for JavaScript errors that might indicate issues.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;query-syntax-errors&#34;&gt;Query syntax errors&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Error message indicates invalid query syntax&lt;/li&gt;
&lt;li&gt;Label selector is rejected&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use the correct label selector syntax. Pyroscope uses a syntax similar to Prometheus.&lt;/li&gt;
&lt;li&gt;Enclose label values in double quotes: &lt;code&gt;{service_name=&amp;quot;my-service&amp;quot;}&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Use valid operators: &lt;code&gt;=&lt;/code&gt;, &lt;code&gt;!=&lt;/code&gt;, &lt;code&gt;=~&lt;/code&gt;, &lt;code&gt;!~&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Escape special characters in regular expression patterns when using &lt;code&gt;=~&lt;/code&gt; or &lt;code&gt;!~&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Example valid queries:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;promql&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-promql&#34;&gt;{service_name=&amp;#34;my-app&amp;#34;}
{service_name=&amp;#34;my-app&amp;#34;, env=&amp;#34;production&amp;#34;}
{service_name=~&amp;#34;my-app.*&amp;#34;}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;flame-graph-issues&#34;&gt;Flame graph issues&lt;/h2&gt;
&lt;p&gt;These errors are specific to the flame graph visualization.&lt;/p&gt;
&lt;h3 id=&#34;flame-graph-not-rendering&#34;&gt;Flame graph not rendering&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Query returns data but flame graph doesn&amp;rsquo;t display&lt;/li&gt;
&lt;li&gt;Flame graph area is blank&lt;/li&gt;
&lt;li&gt;Loading indicator never completes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Check that the Query Type is set to include profile data (not metrics only).&lt;/li&gt;
&lt;li&gt;Verify the response contains valid profile data using the Query Inspector.&lt;/li&gt;
&lt;li&gt;Try refreshing the page or re-running the query.&lt;/li&gt;
&lt;li&gt;For large profiles, increase the browser memory limits or reduce the time range.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;flame-graph-shows-aggregated-data-without-detail&#34;&gt;Flame graph shows aggregated data without detail&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Flame graph lacks expected granularity&lt;/li&gt;
&lt;li&gt;Function names are missing or truncated&lt;/li&gt;
&lt;li&gt;Stack traces appear incomplete&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Zoom in to a smaller time range to get more detailed profiles.&lt;/li&gt;
&lt;li&gt;Verify your application is instrumented to capture full stack traces.&lt;/li&gt;
&lt;li&gt;Check if the profiling agent is configured with sufficient sampling rate.&lt;/li&gt;
&lt;li&gt;For compiled languages, ensure debug symbols are available.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;unable-to-interact-with-flame-graph&#34;&gt;Unable to interact with flame graph&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clicking on flame graph elements doesn&amp;rsquo;t work&lt;/li&gt;
&lt;li&gt;Tooltip doesn&amp;rsquo;t appear&lt;/li&gt;
&lt;li&gt;Zoom and filter controls are unresponsive&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify JavaScript is enabled in your browser.&lt;/li&gt;
&lt;li&gt;Check the browser console for JavaScript errors.&lt;/li&gt;
&lt;li&gt;Try using a different browser or clearing the browser cache.&lt;/li&gt;
&lt;li&gt;Update Grafana to the latest version.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;profiles-drilldown-issues&#34;&gt;Profiles Drilldown issues&lt;/h2&gt;
&lt;p&gt;These errors are specific to the 
    &lt;a href=&#34;/docs/grafana/v13.0/explore/simplified-exploration/profiles/&#34;&gt;Profiles Drilldown&lt;/a&gt; application.&lt;/p&gt;
&lt;h3 id=&#34;profiles-drilldown-not-available&#34;&gt;Profiles Drilldown not available&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Profiles Drilldown option doesn&amp;rsquo;t appear in the menu&lt;/li&gt;
&lt;li&gt;Error when trying to access Profiles Drilldown&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify the Profiles Drilldown plugin is installed and enabled.&lt;/li&gt;
&lt;li&gt;For self-managed Grafana, install the plugin from the Grafana plugin catalog.&lt;/li&gt;
&lt;li&gt;Restart Grafana after installing the plugin.&lt;/li&gt;
&lt;li&gt;Check that you have the required permissions to access the application.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;services-or-profiles-not-appearing-in-profiles-drilldown&#34;&gt;Services or profiles not appearing in Profiles Drilldown&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Profiles Drilldown shows no services&lt;/li&gt;
&lt;li&gt;Expected applications are missing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify the Pyroscope data source is configured and working.&lt;/li&gt;
&lt;li&gt;Check that profiles are being ingested with the correct &lt;code&gt;service_name&lt;/code&gt; label.&lt;/li&gt;
&lt;li&gt;Ensure the time range includes periods when profiles were collected.&lt;/li&gt;
&lt;li&gt;For microservices mode, verify the data source URL points to the correct gateway.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;traces-to-profiles-issues&#34;&gt;Traces to profiles issues&lt;/h2&gt;
&lt;p&gt;These errors occur when linking tracing and profiling data.&lt;/p&gt;
&lt;h3 id=&#34;span-profiles-not-appearing&#34;&gt;Span profiles not appearing&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trace spans don&amp;rsquo;t show profile links&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Profiles for this span&amp;rdquo; option is missing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify the Tempo data source is configured with Traces to profiles enabled.&lt;/li&gt;
&lt;li&gt;Ensure your application is instrumented to emit span profiles.&lt;/li&gt;
&lt;li&gt;Check that the Pyroscope data source is selected in the Tempo data source configuration.&lt;/li&gt;
&lt;li&gt;Verify profile data exists for the time range of the trace.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For more information, refer to 
    &lt;a href=&#34;/docs/grafana/v13.0/datasources/pyroscope/configure-traces-to-profiles/&#34;&gt;Configure Traces to profiles&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;profile-doesnt-match-the-trace-span&#34;&gt;Profile doesn&amp;rsquo;t match the trace span&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Profile data doesn&amp;rsquo;t correlate with the trace&lt;/li&gt;
&lt;li&gt;Wrong time range in profile&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify the trace and profile timestamps are synchronized.&lt;/li&gt;
&lt;li&gt;Check that the application&amp;rsquo;s clock is accurate.&lt;/li&gt;
&lt;li&gt;Ensure the &lt;code&gt;span_id&lt;/code&gt; and &lt;code&gt;trace_id&lt;/code&gt; labels are correctly propagated to profiles.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;performance-issues&#34;&gt;Performance issues&lt;/h2&gt;
&lt;p&gt;These issues relate to slow queries or high resource usage.&lt;/p&gt;
&lt;h3 id=&#34;slow-queries-or-timeouts&#34;&gt;Slow queries or timeouts&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Queries take a long time to complete&lt;/li&gt;
&lt;li&gt;Requests time out before returning results&lt;/li&gt;
&lt;li&gt;Dashboard panels fail to load&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Reduce the time range to decrease the amount of data processed.&lt;/li&gt;
&lt;li&gt;Add label filters to narrow the query scope.&lt;/li&gt;
&lt;li&gt;Increase the &lt;strong&gt;Timeout&lt;/strong&gt; setting in the data source&amp;rsquo;s &lt;strong&gt;Additional settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Adjust the &lt;strong&gt;Minimum step&lt;/strong&gt; setting to reduce the number of data points.&lt;/li&gt;
&lt;li&gt;For large deployments, ensure the Pyroscope backend has sufficient resources.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;high-memory-usage-in-browser&#34;&gt;High memory usage in browser&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Browser becomes unresponsive when viewing profiles&lt;/li&gt;
&lt;li&gt;Memory warnings appear&lt;/li&gt;
&lt;li&gt;Page crashes when loading flame graphs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Reduce the time range to load smaller profiles.&lt;/li&gt;
&lt;li&gt;Close unnecessary browser tabs to free up memory.&lt;/li&gt;
&lt;li&gt;Use a smaller aggregation window for very large profiles.&lt;/li&gt;
&lt;li&gt;Consider using Profiles Drilldown for large-scale analysis.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;network-and-connectivity-errors&#34;&gt;Network and connectivity errors&lt;/h2&gt;
&lt;p&gt;These errors indicate problems with network connectivity between Grafana and Pyroscope.&lt;/p&gt;
&lt;h3 id=&#34;connection-refused-or-timeout-errors&#34;&gt;&amp;ldquo;Connection refused&amp;rdquo; or timeout errors&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data source test fails with network errors&lt;/li&gt;
&lt;li&gt;Queries fail with connection errors&lt;/li&gt;
&lt;li&gt;Intermittent connectivity issues&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Verify network connectivity from the Grafana server to the Pyroscope endpoint.&lt;/li&gt;
&lt;li&gt;Check firewall rules allow outbound connections on the required port (default: 4040).&lt;/li&gt;
&lt;li&gt;For Kubernetes deployments, verify the service is exposed correctly.&lt;/li&gt;
&lt;li&gt;For Grafana Cloud connecting to private resources, configure &lt;a href=&#34;/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/&#34;&gt;Private data source connect&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Check if a proxy is required and configure it in the data source settings.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;ssltls-certificate-errors&#34;&gt;SSL/TLS certificate errors&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Certificate validation failures&lt;/li&gt;
&lt;li&gt;SSL handshake errors&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Certificate not trusted&amp;rdquo; messages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Solutions:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ensure the system time is correct on the Grafana server.&lt;/li&gt;
&lt;li&gt;Verify the certificate is valid and not expired.&lt;/li&gt;
&lt;li&gt;For self-signed certificates, enable &lt;strong&gt;Skip TLS Verify&lt;/strong&gt; in the data source settings (not recommended for production).&lt;/li&gt;
&lt;li&gt;Add the CA certificate to the Grafana server&amp;rsquo;s trusted certificates.&lt;/li&gt;
&lt;li&gt;Check that intermediate certificates are included in the certificate chain.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;enable-debug-logging&#34;&gt;Enable debug logging&lt;/h2&gt;
&lt;p&gt;To capture detailed error information for troubleshooting:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Set the Grafana log level to &lt;code&gt;debug&lt;/code&gt; in the configuration file:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;ini&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-ini&#34;&gt;[log]
level = debug&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Review logs in &lt;code&gt;/var/log/grafana/grafana.log&lt;/code&gt; (or your configured log location).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Look for Pyroscope-specific entries that include request and response details.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reset the log level to &lt;code&gt;info&lt;/code&gt; after troubleshooting to avoid excessive log volume.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;get-additional-help&#34;&gt;Get additional help&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;ve tried the solutions in this guide and still encounter issues:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Check the &lt;a href=&#34;https://community.grafana.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana community forums&lt;/a&gt; for similar issues.&lt;/li&gt;
&lt;li&gt;Review the &lt;a href=&#34;https://github.com/grafana/pyroscope/issues&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Pyroscope GitHub issues&lt;/a&gt; for known bugs.&lt;/li&gt;
&lt;li&gt;Refer to &lt;a href=&#34;/docs/pyroscope/latest/&#34;&gt;Pyroscope documentation&lt;/a&gt; for additional guidance.&lt;/li&gt;
&lt;li&gt;Contact &lt;a href=&#34;/contact/&#34;&gt;Grafana Support&lt;/a&gt; if you&amp;rsquo;re an Enterprise, Cloud Pro, or Cloud Contracted user.&lt;/li&gt;
&lt;li&gt;When reporting issues, include:
&lt;ul&gt;
&lt;li&gt;Grafana version&lt;/li&gt;
&lt;li&gt;Pyroscope version (if self-managed)&lt;/li&gt;
&lt;li&gt;Error messages (redact sensitive information)&lt;/li&gt;
&lt;li&gt;Steps to reproduce&lt;/li&gt;
&lt;li&gt;Data source configuration (redact credentials)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="troubleshoot-pyroscope-data-source-issues">Troubleshoot Pyroscope data source issues&lt;/h1>
&lt;p>This document provides solutions to common issues you may encounter when configuring or using the Pyroscope data source. For configuration instructions, refer to
&lt;a href="/docs/grafana/v13.0/datasources/pyroscope/configure-pyroscope-data-source/">Configure the Grafana Pyroscope data source&lt;/a>.&lt;/p></description></item></channel></rss>