<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Troubleshooting on Grafana Labs</title><link>https://grafana.com/docs/grafana/v8.4/troubleshooting/</link><description>Recent content in Troubleshooting on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v8.4/troubleshooting/index.xml" rel="self" type="application/rss+xml"/><item><title>Troubleshoot dashboards</title><link>https://grafana.com/docs/grafana/v8.4/troubleshooting/troubleshoot-dashboards/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/troubleshooting/troubleshoot-dashboards/</guid><content><![CDATA[&lt;h1 id=&#34;troubleshoot-dashboards&#34;&gt;Troubleshoot dashboards&lt;/h1&gt;
&lt;p&gt;This page provides information to solve common dashboard problems.&lt;/p&gt;
&lt;h2 id=&#34;dashboard-is-slow&#34;&gt;Dashboard is slow&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Are you trying to render dozens (or hundreds or thousands) of time-series on a graph? This can cause the browser to lag and feel sluggish. Try using functions like &lt;code&gt;highestMax&lt;/code&gt; (in Graphite) to reduce the returned series.&lt;/li&gt;
&lt;li&gt;Sometimes the series names can be very large. This causes larger response sizes. Try using &lt;code&gt;alias&lt;/code&gt; to reduce the size of the returned series names.&lt;/li&gt;
&lt;li&gt;Are you querying many time-series or for a long range of time? Both of these can cause Grafana or your data source to pull in a lot of data, which may slow it down.&lt;/li&gt;
&lt;li&gt;It could be high load on your network infrastructure. If the slowness isn&amp;rsquo;t consistent, this may be the problem.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;dashboard-refresh-rate-issues&#34;&gt;Dashboard refresh rate issues&lt;/h2&gt;
&lt;p&gt;By default, Grafana queries your data source every 30 seconds. Setting a low refresh rate on your dashboards puts unnecessary stress on the backend. In many cases, querying this frequently makes no sense, because the data isn&amp;rsquo;t being sent to the system such that changes would be seen.&lt;/p&gt;
&lt;p&gt;We recommend the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Do not enable auto-refreshing on dashboards, panels, or variables unless you need it. Users can refresh their browser manually, or you can set the refresh rate for a time period that makes sense (every ten minutes, every hour, and so on).&lt;/li&gt;
&lt;li&gt;If it is required, then set the refresh rate to once a minute. Again, users can always refresh the dashboard manually.&lt;/li&gt;
&lt;li&gt;If your dashboard has a longer time period (such as a week), then you really don&amp;rsquo;t need automated refreshing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;handling-or-rendering-null-data-is-wrongconfusingweird&#34;&gt;Handling or rendering null data is wrong/confusing/weird&lt;/h3&gt;
&lt;p&gt;Some applications publish data intermittently; for example, they only post a metric when an event occurs. By
default, Grafana graphs connect lines between the data points. This can be very deceiving.&lt;/p&gt;
&lt;p&gt;In the picture below we have enabled:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Points and 3-point radius to highlight where data points are actually present.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Null value&lt;/strong&gt; is set to &lt;strong&gt;connected&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 1200px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/troubleshooting/grafana_null_connected.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/troubleshooting/grafana_null_connected.png&#34;data-srcset=&#34;/static/img/docs/troubleshooting/grafana_null_connected.png?w=320 320w, /static/img/docs/troubleshooting/grafana_null_connected.png?w=550 550w, /static/img/docs/troubleshooting/grafana_null_connected.png?w=750 750w, /static/img/docs/troubleshooting/grafana_null_connected.png?w=900 900w, /static/img/docs/troubleshooting/grafana_null_connected.png?w=1040 1040w, /static/img/docs/troubleshooting/grafana_null_connected.png?w=1240 1240w, /static/img/docs/troubleshooting/grafana_null_connected.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;1095&#34;height=&#34;443&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/troubleshooting/grafana_null_connected.png&#34;
            alt=&#34;&#34;width=&#34;1095&#34;height=&#34;443&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;In this graph, we set graph to show bars instead of lines and set the &lt;strong&gt;Null value&lt;/strong&gt; to graph &lt;strong&gt;null as zero&lt;/strong&gt;. There is a very big different in the visuals.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 1200px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/static/img/docs/troubleshooting/grafana_null_zero.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/static/img/docs/troubleshooting/grafana_null_zero.png&#34;data-srcset=&#34;/static/img/docs/troubleshooting/grafana_null_zero.png?w=320 320w, /static/img/docs/troubleshooting/grafana_null_zero.png?w=550 550w, /static/img/docs/troubleshooting/grafana_null_zero.png?w=750 750w, /static/img/docs/troubleshooting/grafana_null_zero.png?w=900 900w, /static/img/docs/troubleshooting/grafana_null_zero.png?w=1040 1040w, /static/img/docs/troubleshooting/grafana_null_zero.png?w=1240 1240w, /static/img/docs/troubleshooting/grafana_null_zero.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;&#34;width=&#34;1102&#34;height=&#34;442&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/troubleshooting/grafana_null_zero.png&#34;
            alt=&#34;&#34;width=&#34;1102&#34;height=&#34;442&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
]]></content><description>&lt;h1 id="troubleshoot-dashboards">Troubleshoot dashboards&lt;/h1>
&lt;p>This page provides information to solve common dashboard problems.&lt;/p>
&lt;h2 id="dashboard-is-slow">Dashboard is slow&lt;/h2>
&lt;ul>
&lt;li>Are you trying to render dozens (or hundreds or thousands) of time-series on a graph? This can cause the browser to lag and feel sluggish. Try using functions like &lt;code>highestMax&lt;/code> (in Graphite) to reduce the returned series.&lt;/li>
&lt;li>Sometimes the series names can be very large. This causes larger response sizes. Try using &lt;code>alias&lt;/code> to reduce the size of the returned series names.&lt;/li>
&lt;li>Are you querying many time-series or for a long range of time? Both of these can cause Grafana or your data source to pull in a lot of data, which may slow it down.&lt;/li>
&lt;li>It could be high load on your network infrastructure. If the slowness isn&amp;rsquo;t consistent, this may be the problem.&lt;/li>
&lt;/ul>
&lt;h2 id="dashboard-refresh-rate-issues">Dashboard refresh rate issues&lt;/h2>
&lt;p>By default, Grafana queries your data source every 30 seconds. Setting a low refresh rate on your dashboards puts unnecessary stress on the backend. In many cases, querying this frequently makes no sense, because the data isn&amp;rsquo;t being sent to the system such that changes would be seen.&lt;/p></description></item><item><title>Enable diagnostics</title><link>https://grafana.com/docs/grafana/v8.4/troubleshooting/diagnostics/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/troubleshooting/diagnostics/</guid><content><![CDATA[&lt;h1 id=&#34;enable-diagnostics&#34;&gt;Enable diagnostics&lt;/h1&gt;
&lt;p&gt;You can set up the &lt;code&gt;grafana-server&lt;/code&gt; process to enable certain diagnostics when it starts. This can be helpful
when investigating certain performance problems. It&amp;rsquo;s &lt;em&gt;not&lt;/em&gt; recommended to have these enabled by default.&lt;/p&gt;
&lt;h2 id=&#34;turn-on-profiling&#34;&gt;Turn on profiling&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;grafana-server&lt;/code&gt; can be started with the arguments &lt;code&gt;-profile&lt;/code&gt; to enable profiling, &lt;code&gt;-profile-addr&lt;/code&gt; to override the default HTTP address (&lt;code&gt;localhost&lt;/code&gt;), and
&lt;code&gt;-profile-port&lt;/code&gt; to override the default HTTP port (&lt;code&gt;6060&lt;/code&gt;) where the &lt;code&gt;pprof&lt;/code&gt; debugging endpoints are available. For example:&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;Bash&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-bash&#34;&gt;./grafana-server -profile -profile-addr=0.0.0.0 -profile-port=8080&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Note that &lt;code&gt;pprof&lt;/code&gt; debugging endpoints are served on a different port than the Grafana HTTP server.&lt;/p&gt;
&lt;p&gt;You can configure or override profiling settings using environment variables:&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;Bash&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-bash&#34;&gt;export GF_DIAGNOSTICS_PROFILING_ENABLED=true
export GF_DIAGNOSTICS_PROFILING_ADDR=0.0.0.0
export GF_DIAGNOSTICS_PROFILING_PORT=8080&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Refer to &lt;a href=&#34;https://golang.org/cmd/pprof/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Go command pprof&lt;/a&gt; for more information about how to collect and analyze profiling data.&lt;/p&gt;
&lt;h2 id=&#34;use-tracing&#34;&gt;Use tracing&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;grafana-server&lt;/code&gt; can be started with the arguments &lt;code&gt;-tracing&lt;/code&gt; to enable tracing and &lt;code&gt;-tracing-file&lt;/code&gt; to override the default trace file (&lt;code&gt;trace.out&lt;/code&gt;) where trace result is written to. For example:&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;Bash&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-bash&#34;&gt;./grafana-server -tracing -tracing-file=/tmp/trace.out&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can configure or override profiling settings using environment variables:&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;Bash&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-bash&#34;&gt;export GF_DIAGNOSTICS_TRACING_ENABLED=true
export GF_DIAGNOSTICS_TRACING_FILE=/tmp/trace.out&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;View the trace in a web browser (Go required to be installed):&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;Bash&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-bash&#34;&gt;go tool trace &amp;lt;trace file&amp;gt;
2019/11/24 22:20:42 Parsing trace...
2019/11/24 22:20:42 Splitting trace...
2019/11/24 22:20:42 Opening browser. Trace viewer is listening on http://127.0.0.1:39735&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;For more information about how to analyze trace files, refer to &lt;a href=&#34;https://golang.org/cmd/trace/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Go command trace&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="enable-diagnostics">Enable diagnostics&lt;/h1>
&lt;p>You can set up the &lt;code>grafana-server&lt;/code> process to enable certain diagnostics when it starts. This can be helpful
when investigating certain performance problems. It&amp;rsquo;s &lt;em>not&lt;/em> recommended to have these enabled by default.&lt;/p></description></item><item><title>Troubleshoot queries</title><link>https://grafana.com/docs/grafana/v8.4/troubleshooting/troubleshoot-queries/</link><pubDate>Sat, 04 Apr 2026 12:26:57 +0000</pubDate><guid>https://grafana.com/docs/grafana/v8.4/troubleshooting/troubleshoot-queries/</guid><content><![CDATA[&lt;h1 id=&#34;troubleshoot-queries&#34;&gt;Troubleshoot queries&lt;/h1&gt;
&lt;p&gt;This page provides information to solve common dashboard problems.&lt;/p&gt;
&lt;h2 id=&#34;i-get-different-results-when-i-rearrange-my-functions&#34;&gt;I get different results when I rearrange my functions&lt;/h2&gt;
&lt;p&gt;Function order is very important. Just like in math, the order that you place your functions can affect the result.&lt;/p&gt;
&lt;h2 id=&#34;inspect-your-query-request-and-response&#34;&gt;Inspect your query request and response&lt;/h2&gt;
&lt;p&gt;The most common problems are related to the query and response from your data source. Even if it looks
like a bug or visualization issue in Grafana, it is almost always a problem with the data source query or
the data source response. Start by inspecting your panel query and response.&lt;/p&gt;
&lt;p&gt;For more information, refer to &lt;a href=&#34;../../panels/query-a-data-source/inspect-request-and-response-data/&#34;&gt;Inspect request and response data&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;my-query-is-slow&#34;&gt;My query is slow&lt;/h2&gt;
&lt;p&gt;How many data points is your query returning? A query that returns lots of data points will be slow. Try this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In &lt;strong&gt;Query options&lt;/strong&gt;, limit the &lt;strong&gt;Max data points&lt;/strong&gt; returned.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Query options&lt;/strong&gt;, increase the &lt;strong&gt;Min interval&lt;/strong&gt; time.&lt;/li&gt;
&lt;li&gt;In your query, use a &lt;code&gt;group by&lt;/code&gt; function.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="troubleshoot-queries">Troubleshoot queries&lt;/h1>
&lt;p>This page provides information to solve common dashboard problems.&lt;/p>
&lt;h2 id="i-get-different-results-when-i-rearrange-my-functions">I get different results when I rearrange my functions&lt;/h2>
&lt;p>Function order is very important. Just like in math, the order that you place your functions can affect the result.&lt;/p></description></item></channel></rss>