<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jaeger data source on Grafana Labs</title><link>https://grafana.com/docs/grafana/v13.0/datasources/jaeger/</link><description>Recent content in Jaeger data source on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v13.0/datasources/jaeger/index.xml" rel="self" type="application/rss+xml"/><item><title>Configure the Jaeger data source</title><link>https://grafana.com/docs/grafana/v13.0/datasources/jaeger/configure/</link><pubDate>Tue, 21 Apr 2026 19:02:31 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.0/datasources/jaeger/configure/</guid><content><![CDATA[&lt;h1 id=&#34;configure-the-jaeger-data-source&#34;&gt;Configure the Jaeger data source&lt;/h1&gt;
&lt;p&gt;This document explains how to configure the Jaeger data source in Grafana, including connection settings, authentication, trace correlation, and provisioning.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;Before configuring the data source, ensure you have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Grafana permissions:&lt;/strong&gt; Organization administrator role&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jaeger instance:&lt;/strong&gt; A running Jaeger instance with an accessible query endpoint (default: &lt;code&gt;http://localhost:16686&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;add-the-data-source&#34;&gt;Add the data source&lt;/h2&gt;
&lt;p&gt;To add the Jaeger data source:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Connections&lt;/strong&gt; in the left-side menu.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add new connection&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;Jaeger&lt;/code&gt; in the search bar.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Jaeger&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add new data source&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;connection-settings&#34;&gt;Connection settings&lt;/h2&gt;
&lt;p&gt;Configure the basic connection options for the data source.&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&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;&lt;strong&gt;Name&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The name used to refer to the data source in panels and queries.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Toggle to make this the default data source for new panels.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;URL&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The URL of your Jaeger instance, such as &lt;code&gt;http://localhost:16686&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;authentication&#34;&gt;Authentication&lt;/h2&gt;
&lt;p&gt;The Jaeger data source supports the following authentication methods.&lt;/p&gt;
&lt;h3 id=&#34;basic-authentication&#34;&gt;Basic authentication&lt;/h3&gt;
&lt;p&gt;To use basic authentication:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Basic auth&lt;/strong&gt; from the drop-down.&lt;/li&gt;
&lt;li&gt;Enter the &lt;strong&gt;User&lt;/strong&gt; name.&lt;/li&gt;
&lt;li&gt;Enter the &lt;strong&gt;Password&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;forward-oauth-identity&#34;&gt;Forward OAuth identity&lt;/h3&gt;
&lt;p&gt;Select &lt;strong&gt;Forward OAuth identity&lt;/strong&gt; from the drop-down to forward the user&amp;rsquo;s upstream OAuth identity to the data source. This is useful when Jaeger is behind an authenticating proxy.&lt;/p&gt;
&lt;h3 id=&#34;custom-headers&#34;&gt;Custom headers&lt;/h3&gt;
&lt;p&gt;You can add custom HTTP headers to requests sent to the Jaeger instance. Use this to pass authorization tokens or other required headers.&lt;/p&gt;
&lt;p&gt;To add custom headers, expand the &lt;strong&gt;Additional settings&lt;/strong&gt; section and configure them under &lt;strong&gt;Custom HTTP headers&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id=&#34;tls-configuration&#34;&gt;TLS configuration&lt;/h3&gt;
&lt;p&gt;To configure TLS/mTLS for the connection, expand the &lt;strong&gt;Additional settings&lt;/strong&gt; section and configure the following options:&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&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;&lt;strong&gt;TLS client auth&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Toggle to enable client certificate authentication.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;With CA cert&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Toggle to provide a custom CA certificate.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Skip TLS verify&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Toggle to skip TLS certificate verification (testing only).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Server name&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Server name for TLS certificate validation.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;private-data-source-connect&#34;&gt;Private data source connect&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Private data source connect&lt;/strong&gt; - &lt;em&gt;Only for Grafana Cloud users.&lt;/em&gt;&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;This section is only visible when the Grafana instance has the secure SOCKS proxy feature enabled.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;Private data source connect, or PDC, allows you to establish a private, secured connection between a Grafana Cloud instance, or stack, and data sources secured within a private network. Click the drop-down to locate the URL for PDC. For more information regarding Grafana PDC refer to &lt;a href=&#34;/docs/grafana-cloud/connect-externally-hosted/private-data-source-connect/&#34;&gt;Private data source connect (PDC)&lt;/a&gt; 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 instructions on setting up a PDC connection.&lt;/p&gt;
&lt;p&gt;Click &lt;strong&gt;Manage private data source connect&lt;/strong&gt; to open your PDC connection page and view your configuration details.&lt;/p&gt;
&lt;h2 id=&#34;trace-to-logs&#34;&gt;Trace to logs&lt;/h2&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 800px;&#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/tempo/tempo-trace-to-logs-9-4.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/tempo/tempo-trace-to-logs-9-4.png&#34;data-srcset=&#34;/media/docs/tempo/tempo-trace-to-logs-9-4.png?w=320 320w, /media/docs/tempo/tempo-trace-to-logs-9-4.png?w=550 550w, /media/docs/tempo/tempo-trace-to-logs-9-4.png?w=750 750w, /media/docs/tempo/tempo-trace-to-logs-9-4.png?w=900 900w, /media/docs/tempo/tempo-trace-to-logs-9-4.png?w=1040 1040w, /media/docs/tempo/tempo-trace-to-logs-9-4.png?w=1240 1240w, /media/docs/tempo/tempo-trace-to-logs-9-4.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Trace to logs configuration settings&#34;width=&#34;1219&#34;height=&#34;852&#34;title=&#34;Trace to logs configuration settings&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/tempo/tempo-trace-to-logs-9-4.png&#34;
            alt=&#34;Trace to logs configuration settings&#34;width=&#34;1219&#34;height=&#34;852&#34;title=&#34;Trace to logs configuration settings&#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;Trace to logs configuration settings&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;The &lt;strong&gt;Trace to logs&lt;/strong&gt; setting configures the 
    &lt;a href=&#34;/docs/grafana/v13.0/explore/trace-integration/&#34;&gt;trace to logs feature&lt;/a&gt; that links trace spans to related log entries.&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;If you use Grafana Cloud, open a &lt;a href=&#34;/profile/org#support&#34;&gt;support ticket in the Cloud Portal&lt;/a&gt; to access this feature.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;There are two ways to configure trace to logs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Simple configuration:&lt;/strong&gt; Use a default query with tag-based filtering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom query:&lt;/strong&gt; Write a query using 
    &lt;a href=&#34;/docs/grafana/v13.0/dashboards/variables/variable-syntax/&#34;&gt;template variable syntax&lt;/a&gt; to interpolate values from the trace or span.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;use-a-simple-configuration&#34;&gt;Use a simple configuration&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Select the target data source from the drop-down list.&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;Span start time shift&lt;/strong&gt; and &lt;strong&gt;Span end time shift&lt;/strong&gt; to widen or shift the time range if log timestamps don&amp;rsquo;t exactly match span timestamps.&lt;/li&gt;
&lt;li&gt;Configure &lt;strong&gt;Tags&lt;/strong&gt; to use in the logs query. Tags must be present in span attributes or resources for the link to appear. You can remap tag names if the target data source doesn&amp;rsquo;t allow dots in labels (for example, remap &lt;code&gt;http.status&lt;/code&gt; to &lt;code&gt;http_status&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Optionally, toggle on &lt;strong&gt;Filter by trace ID&lt;/strong&gt; or &lt;strong&gt;Filter by span ID&lt;/strong&gt; to further filter logs.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;configure-a-custom-query&#34;&gt;Configure a custom query&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Select the target data source from the drop-down list.&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;Span start time shift&lt;/strong&gt; and &lt;strong&gt;Span end time shift&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Optionally, configure &lt;strong&gt;Tags&lt;/strong&gt; to map. Use the &lt;code&gt;${__tags}&lt;/code&gt; variable in your custom query to interpolate mapped tags. If you don&amp;rsquo;t map tags, you can still reference any span tag directly, such as &lt;code&gt;method=&amp;quot;${__span.tags.method}&amp;quot;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Toggle on &lt;strong&gt;Use custom query&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Write a custom query using the variables listed in this table. The link only appears when all variables resolve to non-empty values.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;variables-for-custom-queries&#34;&gt;Variables for custom queries&lt;/h3&gt;
&lt;p&gt;To use a variable, wrap it in &lt;code&gt;${}&lt;/code&gt;. For example: &lt;code&gt;${__span.name}&lt;/code&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;Variable&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;&lt;strong&gt;__tags&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Interpolates mapped tags as a label matcher string in the target data source syntax. Only includes tags present in the span.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;__span.spanId&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The ID of the span.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;__span.traceId&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The ID of the trace.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;__span.duration&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The duration of the span.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;__span.name&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The name of the span.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;__span.tags&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Namespace for span tags. Access a specific tag with &lt;code&gt;${__span.tags.version}&lt;/code&gt;. For tags with dots, use &lt;code&gt;${__span.tags[&amp;quot;http.status&amp;quot;]}&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;__trace.traceId&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The ID of the trace.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;__trace.duration&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The duration of the trace.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;__trace.name&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The name of the trace.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;trace-to-logs-settings&#34;&gt;Trace to logs settings&lt;/h3&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&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;&lt;strong&gt;Data source&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The target logs data source. You can select Loki or Splunk logs data sources.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Span start time shift&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Shifts the start time for the logs query based on the span&amp;rsquo;s start time. Use time units such as &lt;code&gt;5s&lt;/code&gt;, &lt;code&gt;1m&lt;/code&gt;, &lt;code&gt;3h&lt;/code&gt;. Use negative values to extend to the past. Default: &lt;code&gt;0&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Span end time shift&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Shifts the end time for the logs query based on the span&amp;rsquo;s end time. Default: &lt;code&gt;0&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Tags&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Tags to use in the logs 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;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Filter by trace ID&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Toggles whether to append the trace ID to the logs query.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Filter by span ID&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Toggles whether to append the span ID to the logs query.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Use custom query&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Toggles the use of a custom query with variable interpolation.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Query&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The custom query. Use variable interpolation to customize with values from the span.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;trace-to-metrics&#34;&gt;Trace to metrics&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Trace to metrics&lt;/strong&gt; setting lets you link trace spans to related metrics queries.&lt;/p&gt;
&lt;p&gt;To configure trace to metrics:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select the target metrics data source from the drop-down list.&lt;/li&gt;
&lt;li&gt;Configure &lt;strong&gt;Tags&lt;/strong&gt; to map span attributes to metric label names. For example, map &lt;code&gt;k8s.pod&lt;/code&gt; to &lt;code&gt;pod&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Create linked queries using the &lt;code&gt;$__tags&lt;/code&gt; keyword to interpolate the mapped tags.&lt;/li&gt;
&lt;/ol&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&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;&lt;strong&gt;Data source&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;The target metrics data source.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Tags&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Maps span attribute names to metric label names. For example, map &lt;code&gt;k8s.pod&lt;/code&gt; to &lt;code&gt;pod&lt;/code&gt;. Use the &lt;code&gt;$__tags&lt;/code&gt; keyword to interpolate tags in queries.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;Each linked query consists of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Link Label:&lt;/strong&gt; &lt;em&gt;(Optional)&lt;/em&gt; A descriptive label for the linked query.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query:&lt;/strong&gt; The query to run when navigating from a trace to the metrics data source. Use &lt;code&gt;$__tags&lt;/code&gt; to interpolate tags. For example, the query &lt;code&gt;requests_total{$__tags}&lt;/code&gt; with tags &lt;code&gt;k8s.pod=pod&lt;/code&gt; and &lt;code&gt;cluster&lt;/code&gt; produces &lt;code&gt;requests_total{pod=&amp;quot;nginx-554b9&amp;quot;, cluster=&amp;quot;us-east-1&amp;quot;}&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;node-graph&#34;&gt;Node graph&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Node graph&lt;/strong&gt; setting is located under &lt;strong&gt;Additional settings&lt;/strong&gt;, which is collapsed by default. Expand the &lt;strong&gt;Additional settings&lt;/strong&gt; section on the data source configuration page to access it.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Node graph&lt;/strong&gt; setting enables the 
    &lt;a href=&#34;/docs/grafana/v13.0/panels-visualizations/visualizations/node-graph/&#34;&gt;Node Graph visualization&lt;/a&gt;, which is disabled by default.&lt;/p&gt;
&lt;p&gt;When enabled, Grafana displays the Node Graph above the trace view, showing the relationships between services in the trace.&lt;/p&gt;
&lt;h2 id=&#34;span-bar&#34;&gt;Span bar&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Span bar&lt;/strong&gt; setting is located under &lt;strong&gt;Additional settings&lt;/strong&gt;, which is collapsed by default. Expand the &lt;strong&gt;Additional settings&lt;/strong&gt; section on the data source configuration page to access it.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Span bar&lt;/strong&gt; setting controls what additional information appears in the span bar row of the trace view.&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;Option&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;&lt;strong&gt;None&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Adds nothing to the span bar row.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Duration&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&lt;em&gt;(Default)&lt;/em&gt; Displays the span duration on the span bar row.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Tag&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Displays a span tag value on the span bar row. Specify the tag key to use, such as &lt;code&gt;component&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;trace-id-time-parameters&#34;&gt;Trace ID time parameters&lt;/h2&gt;
&lt;p&gt;The &lt;strong&gt;Query Trace by ID with Time Params&lt;/strong&gt; setting is located under &lt;strong&gt;Additional settings&lt;/strong&gt;, which is collapsed by default. Expand the &lt;strong&gt;Additional settings&lt;/strong&gt; section on the data source configuration page to access it.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Enable Time Parameters&lt;/strong&gt; toggle controls whether Grafana sends &lt;code&gt;start&lt;/code&gt; and &lt;code&gt;end&lt;/code&gt; time parameters when querying a trace by ID. Enable this if your Jaeger instance benefits from time-bounded trace lookups.&lt;/p&gt;
&lt;h2 id=&#34;verify-the-connection&#34;&gt;Verify the connection&lt;/h2&gt;
&lt;p&gt;Click &lt;strong&gt;Save &amp;amp; test&lt;/strong&gt; to verify the data source connection. A successful test displays the message &lt;strong&gt;Data source is working&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;If the test fails, refer to 
    &lt;a href=&#34;/docs/grafana/v13.0/datasources/jaeger/troubleshooting/&#34;&gt;Troubleshoot Jaeger data source issues&lt;/a&gt; for help resolving common errors.&lt;/p&gt;
&lt;h2 id=&#34;provision-the-data-source&#34;&gt;Provision the data source&lt;/h2&gt;
&lt;p&gt;You can define and configure the data source in YAML files as part of the Grafana provisioning system. For more information about provisioning, refer to 
    &lt;a href=&#34;/docs/grafana/v13.0/administration/provisioning/#data-sources&#34;&gt;Provisioning Grafana&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;provisioning-example&#34;&gt;Provisioning example&lt;/h3&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;YAML&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-yaml&#34;&gt;apiVersion: 1

datasources:
  - name: Jaeger
    type: jaeger
    uid: jaeger-ds
    url: http://localhost:16686
    access: proxy
    basicAuth: true
    basicAuthUser: &amp;lt;USERNAME&amp;gt;
    isDefault: false
    jsonData:
      tracesToLogsV2:
        datasourceUid: &amp;#39;loki&amp;#39;
        spanStartTimeShift: &amp;#39;1h&amp;#39;
        spanEndTimeShift: &amp;#39;-1h&amp;#39;
        tags:
          - key: &amp;#39;job&amp;#39;
          - key: &amp;#39;instance&amp;#39;
          - key: &amp;#39;pod&amp;#39;
          - key: &amp;#39;namespace&amp;#39;
        filterByTraceID: false
        filterBySpanID: false
        customQuery: true
        query: &amp;#39;method=&amp;#34;$${__span.tags.method}&amp;#34;&amp;#39;
      tracesToMetrics:
        datasourceUid: &amp;#39;prom&amp;#39;
        spanStartTimeShift: &amp;#39;-2m&amp;#39;
        spanEndTimeShift: &amp;#39;2m&amp;#39;
        tags:
          - key: &amp;#39;service.name&amp;#39;
            value: &amp;#39;service&amp;#39;
          - key: &amp;#39;job&amp;#39;
        queries:
          - name: &amp;#39;Sample query&amp;#39;
            query: &amp;#39;sum(rate(traces_spanmetrics_latency_bucket{$$__tags}[5m]))&amp;#39;
      nodeGraph:
        enabled: true
      traceIdTimeParams:
        enabled: true
      spanBar:
        type: &amp;#39;Duration&amp;#39;
    secureJsonData:
      basicAuthPassword: &amp;lt;PASSWORD&amp;gt;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&amp;lt;USERNAME&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;PASSWORD&amp;gt;&lt;/code&gt; with your Jaeger credentials.&lt;/p&gt;
&lt;h2 id=&#34;provision-with-terraform&#34;&gt;Provision with Terraform&lt;/h2&gt;
&lt;p&gt;You can provision the Jaeger data source using &lt;a href=&#34;https://www.terraform.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Terraform&lt;/a&gt; with the &lt;a href=&#34;https://registry.terraform.io/providers/grafana/grafana/latest/docs&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana Terraform provider&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For more information about provisioning resources with Terraform, refer to the &lt;a href=&#34;/docs/grafana-cloud/developer-resources/infrastructure-as-code/terraform/&#34;&gt;Grafana as code using Terraform&lt;/a&gt; documentation.&lt;/p&gt;
&lt;h3 id=&#34;terraform-example&#34;&gt;Terraform example&lt;/h3&gt;
&lt;p&gt;The following example provisions a Jaeger data source:&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;hcl&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-hcl&#34;&gt;terraform {
  required_providers {
    grafana = {
      source  = &amp;#34;grafana/grafana&amp;#34;
      version = &amp;#34;&amp;gt;= 2.0.0&amp;#34;
    }
  }
}

provider &amp;#34;grafana&amp;#34; {
  url  = &amp;#34;&amp;lt;YOUR_GRAFANA_URL&amp;gt;&amp;#34;
  auth = &amp;#34;&amp;lt;YOUR_SERVICE_ACCOUNT_TOKEN&amp;gt;&amp;#34;
}

resource &amp;#34;grafana_data_source&amp;#34; &amp;#34;jaeger&amp;#34; {
  type = &amp;#34;jaeger&amp;#34;
  name = &amp;#34;Jaeger&amp;#34;
  url  = &amp;#34;http://localhost:16686&amp;#34;

  json_data_encoded = jsonencode({
    nodeGraph = {
      enabled = true
    }
    traceIdTimeParams = {
      enabled = true
    }
    tracesToLogsV2 = {
      datasourceUid    = &amp;#34;loki&amp;#34;
      filterByTraceID  = true
      filterBySpanID   = false
      tags = [
        { key = &amp;#34;service.name&amp;#34;, value = &amp;#34;service&amp;#34; },
        { key = &amp;#34;job&amp;#34; }
      ]
    }
  })
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;terraform-example-with-basic-authentication&#34;&gt;Terraform example with basic authentication&lt;/h3&gt;
&lt;p&gt;The following example provisions a Jaeger data source with basic authentication:&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;hcl&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-hcl&#34;&gt;resource &amp;#34;grafana_data_source&amp;#34; &amp;#34;jaeger_auth&amp;#34; {
  type                = &amp;#34;jaeger&amp;#34;
  name                = &amp;#34;Jaeger&amp;#34;
  url                 = &amp;#34;http://localhost:16686&amp;#34;
  basic_auth_enabled  = true
  basic_auth_username = &amp;#34;&amp;lt;USERNAME&amp;gt;&amp;#34;

  json_data_encoded = jsonencode({
    nodeGraph = {
      enabled = true
    }
    traceIdTimeParams = {
      enabled = true
    }
  })

  secure_json_data_encoded = jsonencode({
    basicAuthPassword = &amp;#34;&amp;lt;PASSWORD&amp;gt;&amp;#34;
  })
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace the following placeholders:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;YOUR_GRAFANA_URL&amp;gt;&lt;/code&gt;&lt;/em&gt;: Your Grafana instance URL (for example, &lt;code&gt;https://your-org.grafana.net&lt;/code&gt; for Grafana Cloud)&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;YOUR_SERVICE_ACCOUNT_TOKEN&amp;gt;&lt;/code&gt;&lt;/em&gt;: A service account token with data source permissions&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;USERNAME&amp;gt;&lt;/code&gt;&lt;/em&gt;: The username for basic authentication&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;&amp;lt;PASSWORD&amp;gt;&lt;/code&gt;&lt;/em&gt;: The password for basic authentication&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For all available configuration options, refer to the &lt;a href=&#34;https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/data_source&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana provider data source resource documentation&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="configure-the-jaeger-data-source">Configure the Jaeger data source&lt;/h1>
&lt;p>This document explains how to configure the Jaeger data source in Grafana, including connection settings, authentication, trace correlation, and provisioning.&lt;/p></description></item><item><title>Jaeger query editor</title><link>https://grafana.com/docs/grafana/v13.0/datasources/jaeger/query-editor/</link><pubDate>Tue, 21 Apr 2026 19:02:31 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.0/datasources/jaeger/query-editor/</guid><content><![CDATA[&lt;h1 id=&#34;jaeger-query-editor&#34;&gt;Jaeger query editor&lt;/h1&gt;
&lt;p&gt;This document explains how to use the Jaeger query editor to search for traces, query by trace ID, visualize service dependencies, and import trace files.&lt;/p&gt;
&lt;p&gt;For general information about querying data sources in Grafana, refer to 
    &lt;a href=&#34;/docs/grafana/v13.0/panels-visualizations/query-transform-data/&#34;&gt;Query and transform data&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ensure you have 
    &lt;a href=&#34;/docs/grafana/v13.0/datasources/jaeger/configure/&#34;&gt;configured the Jaeger data source&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Verify the connection is working by clicking &lt;strong&gt;Save &amp;amp; test&lt;/strong&gt; in the data source settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;query-types&#34;&gt;Query types&lt;/h2&gt;
&lt;p&gt;The Jaeger query editor supports the following query types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Search:&lt;/strong&gt; Find traces by service, operation, tags, and duration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TraceID:&lt;/strong&gt; Query a specific trace by its ID.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependency graph:&lt;/strong&gt; Visualize service dependencies within a time range.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Import trace:&lt;/strong&gt; Upload a JSON trace file for visualization.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;search-for-traces&#34;&gt;Search for traces&lt;/h2&gt;
&lt;p&gt;To search for traces:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Search&lt;/strong&gt; from the &lt;strong&gt;Query type&lt;/strong&gt; selector.&lt;/li&gt;
&lt;li&gt;Fill out the search form:&lt;/li&gt;
&lt;/ol&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;Field&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;&lt;strong&gt;Service Name&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Select a service from the drop-down list, or type to filter. Supports template variables.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Operation Name&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Select an operation for the chosen service. Select &lt;strong&gt;All&lt;/strong&gt; to query all operations. This field is disabled until you select a service.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Tags&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Enter tags in &lt;a href=&#34;https://brandur.org/logfmt&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;code&gt;logfmt&lt;/code&gt;&lt;/a&gt; format, such as &lt;code&gt;error=true db.statement=&amp;quot;select * from User&amp;quot;&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Min Duration&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Filter traces with a duration greater than this value. Use formats like &lt;code&gt;1.2s&lt;/code&gt;, &lt;code&gt;100ms&lt;/code&gt;, or &lt;code&gt;500us&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Max Duration&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Filter traces with a duration less than this value. Use the same format as &lt;strong&gt;Min Duration&lt;/strong&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Limit&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Maximum number of traces to return.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 1857px;&#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;/static/img/docs/explore/jaeger-search-form.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;/static/img/docs/explore/jaeger-search-form.png&#34;data-srcset=&#34;/static/img/docs/explore/jaeger-search-form.png?w=320 320w, /static/img/docs/explore/jaeger-search-form.png?w=550 550w, /static/img/docs/explore/jaeger-search-form.png?w=750 750w, /static/img/docs/explore/jaeger-search-form.png?w=900 900w, /static/img/docs/explore/jaeger-search-form.png?w=1040 1040w, /static/img/docs/explore/jaeger-search-form.png?w=1240 1240w, /static/img/docs/explore/jaeger-search-form.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Jaeger query editor showing a search query&#34;width=&#34;1857&#34;height=&#34;733&#34;title=&#34;Jaeger query editor showing a search query&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/explore/jaeger-search-form.png&#34;
            alt=&#34;Jaeger query editor showing a search query&#34;width=&#34;1857&#34;height=&#34;733&#34;title=&#34;Jaeger query editor showing a search query&#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;Jaeger query editor showing a search query&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h2 id=&#34;query-by-trace-id&#34;&gt;Query by trace ID&lt;/h2&gt;
&lt;p&gt;To query a specific trace:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;TraceID&lt;/strong&gt; from the &lt;strong&gt;Query type&lt;/strong&gt; selector.&lt;/li&gt;
&lt;li&gt;Enter the trace ID into the &lt;strong&gt;Trace ID&lt;/strong&gt; field.&lt;/li&gt;
&lt;li&gt;Press &lt;strong&gt;Shift&#43;Enter&lt;/strong&gt; to run the query.&lt;/li&gt;
&lt;/ol&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 1855px;&#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;/static/img/docs/explore/jaeger-trace-id.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;/static/img/docs/explore/jaeger-trace-id.png&#34;data-srcset=&#34;/static/img/docs/explore/jaeger-trace-id.png?w=320 320w, /static/img/docs/explore/jaeger-trace-id.png?w=550 550w, /static/img/docs/explore/jaeger-trace-id.png?w=750 750w, /static/img/docs/explore/jaeger-trace-id.png?w=900 900w, /static/img/docs/explore/jaeger-trace-id.png?w=1040 1040w, /static/img/docs/explore/jaeger-trace-id.png?w=1240 1240w, /static/img/docs/explore/jaeger-trace-id.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Jaeger query editor with TraceID selected&#34;width=&#34;1855&#34;height=&#34;778&#34;title=&#34;Jaeger query editor with TraceID selected&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/explore/jaeger-trace-id.png&#34;
            alt=&#34;Jaeger query editor with TraceID selected&#34;width=&#34;1855&#34;height=&#34;778&#34;title=&#34;Jaeger query editor with TraceID selected&#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;Jaeger query editor with TraceID selected&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h2 id=&#34;visualize-the-dependency-graph&#34;&gt;Visualize the dependency graph&lt;/h2&gt;
&lt;p&gt;The dependency graph query type displays service dependencies as a 
    &lt;a href=&#34;/docs/grafana/v13.0/panels-visualizations/visualizations/node-graph/&#34;&gt;Node Graph&lt;/a&gt;. It shows how services communicate and the volume of calls between them.&lt;/p&gt;
&lt;p&gt;To visualize the dependency graph:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select &lt;strong&gt;Dependency graph&lt;/strong&gt; from the &lt;strong&gt;Query type&lt;/strong&gt; selector.&lt;/li&gt;
&lt;li&gt;Set the dashboard time range to the period you want to analyze.&lt;/li&gt;
&lt;li&gt;Run the query.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The dependency graph uses the dashboard time range to query the Jaeger &lt;code&gt;/api/dependencies&lt;/code&gt; endpoint. Grafana displays the result as a Node Graph with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nodes:&lt;/strong&gt; Each node represents a service.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edges:&lt;/strong&gt; Each edge represents calls between services, with the call count shown as the edge label.&lt;/li&gt;
&lt;/ul&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 Jaeger instance must have dependency data available. If the graph is empty, verify that Jaeger is collecting and processing dependency information for the selected time range.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;import-a-trace&#34;&gt;Import a trace&lt;/h2&gt;
&lt;p&gt;You can upload a JSON file that contains a single trace and visualize it in Grafana. If the file contains multiple traces, Grafana visualizes the first trace.&lt;/p&gt;
&lt;p&gt;To import a trace:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Import trace&lt;/strong&gt; in the query editor.&lt;/li&gt;
&lt;li&gt;Select a JSON file in the Jaeger trace format.&lt;/li&gt;
&lt;/ol&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p docs-image--no-shadow&#34;
    style=&#34;max-width: 1849px;&#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;/static/img/docs/explore/jaeger-upload-json.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;/static/img/docs/explore/jaeger-upload-json.png&#34;data-srcset=&#34;/static/img/docs/explore/jaeger-upload-json.png?w=320 320w, /static/img/docs/explore/jaeger-upload-json.png?w=550 550w, /static/img/docs/explore/jaeger-upload-json.png?w=750 750w, /static/img/docs/explore/jaeger-upload-json.png?w=900 900w, /static/img/docs/explore/jaeger-upload-json.png?w=1040 1040w, /static/img/docs/explore/jaeger-upload-json.png?w=1240 1240w, /static/img/docs/explore/jaeger-upload-json.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Jaeger data source with import trace selected&#34;width=&#34;1849&#34;height=&#34;548&#34;title=&#34;Jaeger data source with import trace selected&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/static/img/docs/explore/jaeger-upload-json.png&#34;
            alt=&#34;Jaeger data source with import trace selected&#34;width=&#34;1849&#34;height=&#34;548&#34;title=&#34;Jaeger data source with import trace selected&#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;Jaeger data source with import trace selected&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h3 id=&#34;trace-json-example&#34;&gt;Trace JSON example&lt;/h3&gt;
&lt;p&gt;The JSON file must follow the Jaeger trace format with a &lt;code&gt;data&lt;/code&gt; array containing trace objects:&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;JSON&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-json&#34;&gt;{
  &amp;#34;data&amp;#34;: [
    {
      &amp;#34;traceID&amp;#34;: &amp;#34;2ee9739529395e31&amp;#34;,
      &amp;#34;spans&amp;#34;: [
        {
          &amp;#34;traceID&amp;#34;: &amp;#34;2ee9739529395e31&amp;#34;,
          &amp;#34;spanID&amp;#34;: &amp;#34;2ee9739529395e31&amp;#34;,
          &amp;#34;flags&amp;#34;: 1,
          &amp;#34;operationName&amp;#34;: &amp;#34;CAS&amp;#34;,
          &amp;#34;references&amp;#34;: [],
          &amp;#34;startTime&amp;#34;: 1616095319593196,
          &amp;#34;duration&amp;#34;: 1004,
          &amp;#34;tags&amp;#34;: [
            {
              &amp;#34;key&amp;#34;: &amp;#34;sampler.type&amp;#34;,
              &amp;#34;type&amp;#34;: &amp;#34;string&amp;#34;,
              &amp;#34;value&amp;#34;: &amp;#34;const&amp;#34;
            }
          ],
          &amp;#34;logs&amp;#34;: [],
          &amp;#34;processID&amp;#34;: &amp;#34;p1&amp;#34;,
          &amp;#34;warnings&amp;#34;: null
        }
      ],
      &amp;#34;processes&amp;#34;: {
        &amp;#34;p1&amp;#34;: {
          &amp;#34;serviceName&amp;#34;: &amp;#34;loki-all&amp;#34;,
          &amp;#34;tags&amp;#34;: [
            {
              &amp;#34;key&amp;#34;: &amp;#34;jaeger.version&amp;#34;,
              &amp;#34;type&amp;#34;: &amp;#34;string&amp;#34;,
              &amp;#34;value&amp;#34;: &amp;#34;Go-2.25.0&amp;#34;
            }
          ]
        }
      },
      &amp;#34;warnings&amp;#34;: null
    }
  ],
  &amp;#34;total&amp;#34;: 0,
  &amp;#34;limit&amp;#34;: 0,
  &amp;#34;offset&amp;#34;: 0,
  &amp;#34;errors&amp;#34;: null
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;query-data-via-grpc-endpoint-public-preview&#34;&gt;Query data via gRPC endpoint (public preview)&lt;/h2&gt;
&lt;p&gt;Jaeger offers an alternative method for querying data that uses their gRPC service over HTTP. For detailed information about the API and setup requirements, refer to the &lt;a href=&#34;https://www.jaegertracing.io/docs/2.12/architecture/apis/#query-json-over-http&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Jaeger API documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The following queries are supported through the gRPC endpoint:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Service search&lt;/li&gt;
&lt;li&gt;Operation search&lt;/li&gt;
&lt;li&gt;Trace ID search&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To enable gRPC querying for Jaeger within Grafana, enable the &lt;code&gt;jaegerEnableGrpcEndpoint&lt;/code&gt; feature flag. Grafana Cloud customers should contact support to request access and provide feedback on this feature.&lt;/p&gt;
&lt;h2 id=&#34;use-template-variables&#34;&gt;Use template variables&lt;/h2&gt;
&lt;p&gt;The Jaeger query editor supports 
    &lt;a href=&#34;/docs/grafana/v13.0/dashboards/variables/&#34;&gt;Grafana template variables&lt;/a&gt; for creating dynamic, reusable dashboards. You can use template variables in the following query fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Service Name&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Operation Name&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trace ID&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tags&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Min Duration&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Max Duration&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use standard Grafana variable syntax such as &lt;code&gt;$variable&lt;/code&gt; or &lt;code&gt;${variable}&lt;/code&gt; in these fields. For example, set &lt;strong&gt;Service Name&lt;/strong&gt; to &lt;code&gt;$service&lt;/code&gt; to let dashboard users select the service from a drop-down list.&lt;/p&gt;
]]></content><description>&lt;h1 id="jaeger-query-editor">Jaeger query editor&lt;/h1>
&lt;p>This document explains how to use the Jaeger query editor to search for traces, query by trace ID, visualize service dependencies, and import trace files.&lt;/p></description></item><item><title>Troubleshoot Jaeger data source issues</title><link>https://grafana.com/docs/grafana/v13.0/datasources/jaeger/troubleshooting/</link><pubDate>Tue, 21 Apr 2026 19:02:31 +0000</pubDate><guid>https://grafana.com/docs/grafana/v13.0/datasources/jaeger/troubleshooting/</guid><content><![CDATA[&lt;h1 id=&#34;troubleshoot-jaeger-data-source-issues&#34;&gt;Troubleshoot Jaeger data source issues&lt;/h1&gt;
&lt;p&gt;This document provides solutions to common issues you may encounter when configuring or using the Jaeger data source. For configuration instructions, refer to 
    &lt;a href=&#34;/docs/grafana/v13.0/datasources/jaeger/configure/&#34;&gt;Configure the Jaeger data source&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;connection-errors&#34;&gt;Connection errors&lt;/h2&gt;
&lt;p&gt;These errors occur when Grafana can&amp;rsquo;t reach the Jaeger instance.&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;&lt;strong&gt;Save &amp;amp; test&lt;/strong&gt; fails with a connection error&lt;/li&gt;
&lt;li&gt;Queries fail with network errors&lt;/li&gt;
&lt;li&gt;Service and operation drop-downs 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;Jaeger isn&amp;rsquo;t running&lt;/td&gt;
              &lt;td&gt;Verify Jaeger is running and accessible at the configured URL.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Incorrect URL&lt;/td&gt;
              &lt;td&gt;Check the &lt;strong&gt;URL&lt;/strong&gt; setting in the data source configuration. The default Jaeger query endpoint is &lt;code&gt;http://localhost:16686&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Firewall blocking access&lt;/td&gt;
              &lt;td&gt;Ensure firewall rules allow traffic from the Grafana server to the Jaeger endpoint.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Network segmentation&lt;/td&gt;
              &lt;td&gt;For Grafana Cloud accessing private Jaeger instances, 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;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;request-failed-404-not-found&#34;&gt;&amp;ldquo;request failed: 404 Not Found&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Save &amp;amp; test&lt;/strong&gt; returns a 404 error&lt;/li&gt;
&lt;li&gt;Queries fail with &amp;ldquo;request failed&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;Verify the Jaeger URL doesn&amp;rsquo;t include a trailing path such as &lt;code&gt;/api&lt;/code&gt;. The correct URL is the base endpoint, for example &lt;code&gt;http://localhost:16686&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Confirm the Jaeger query service is running and listening on the expected port.&lt;/li&gt;
&lt;li&gt;If using a reverse proxy, verify the proxy forwards requests to the correct Jaeger endpoint.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;tls-errors&#34;&gt;TLS 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 errors during &lt;strong&gt;Save &amp;amp; test&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Errors mentioning &lt;code&gt;x509&lt;/code&gt; or certificate verification&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 your TLS certificates are valid and not expired.&lt;/li&gt;
&lt;li&gt;Ensure the CA certificate is configured in the data source &lt;strong&gt;Additional settings&lt;/strong&gt; if using a private CA.&lt;/li&gt;
&lt;li&gt;For testing, you can temporarily toggle on &lt;strong&gt;Skip TLS verify&lt;/strong&gt; in the data source settings. Don&amp;rsquo;t use this in production.&lt;/li&gt;
&lt;li&gt;Verify the &lt;strong&gt;Server name&lt;/strong&gt; setting matches the certificate&amp;rsquo;s Common Name or Subject Alternative Name.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;timeout-errors&#34;&gt;Timeout errors&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 then fail&lt;/li&gt;
&lt;li&gt;Errors mention timeout&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;Increase the timeout value in &lt;strong&gt;Additional settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Timeout&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Verify network latency between Grafana and Jaeger is acceptable.&lt;/li&gt;
&lt;li&gt;Check that the Jaeger query service isn&amp;rsquo;t overloaded.&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 credentials are invalid or missing.&lt;/p&gt;
&lt;h3 id=&#34;401-unauthorized-or-403-forbidden&#34;&gt;&amp;ldquo;401 Unauthorized&amp;rdquo; or &amp;ldquo;403 Forbidden&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Save &amp;amp; test&lt;/strong&gt; fails with authorization errors&lt;/li&gt;
&lt;li&gt;Queries return access denied messages&lt;/li&gt;
&lt;li&gt;Services and operations don&amp;rsquo;t load in drop-downs&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 &lt;strong&gt;User&lt;/strong&gt; and &lt;strong&gt;Password&lt;/strong&gt; values in the data source configuration.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Missing authentication&lt;/td&gt;
              &lt;td&gt;If Jaeger requires authentication, toggle on the appropriate auth method.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Incorrect custom headers&lt;/td&gt;
              &lt;td&gt;Verify custom header names and values in &lt;strong&gt;Additional settings&lt;/strong&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;OAuth forwarding issues&lt;/td&gt;
              &lt;td&gt;If using &lt;strong&gt;Forward OAuth identity&lt;/strong&gt;, verify the upstream OAuth provider is configured correctly.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;query-errors&#34;&gt;Query errors&lt;/h2&gt;
&lt;p&gt;These errors occur when executing queries against Jaeger.&lt;/p&gt;
&lt;h3 id=&#34;traceid-is-empty&#34;&gt;&amp;ldquo;traceID is empty&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The query fails with &amp;ldquo;traceID is empty&amp;rdquo; when using the TraceID query type&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;Enter a valid trace ID in the &lt;strong&gt;Trace ID&lt;/strong&gt; field.&lt;/li&gt;
&lt;li&gt;Verify the trace ID is a valid hexadecimal string.&lt;/li&gt;
&lt;li&gt;If using a template variable, verify the variable resolves to a non-empty value.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;no-data-in-search-results&#34;&gt;No data in search results&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Search query returns no traces&lt;/li&gt;
&lt;li&gt;The trace list 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 or Explore time range. Verify traces exist in Jaeger for the selected period.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Service or operation doesn&amp;rsquo;t exist&lt;/td&gt;
              &lt;td&gt;Verify the selected service and operation names match what&amp;rsquo;s in Jaeger.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Tags syntax error&lt;/td&gt;
              &lt;td&gt;Ensure tags use &lt;a href=&#34;https://brandur.org/logfmt&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;code&gt;logfmt&lt;/code&gt;&lt;/a&gt; format: &lt;code&gt;error=true db.statement=&amp;quot;select * from User&amp;quot;&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Duration format error&lt;/td&gt;
              &lt;td&gt;Use supported duration formats: &lt;code&gt;1.2s&lt;/code&gt;, &lt;code&gt;100ms&lt;/code&gt;, &lt;code&gt;500us&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Limit set too low&lt;/td&gt;
              &lt;td&gt;Increase the &lt;strong&gt;Limit&lt;/strong&gt; value or leave it empty for the default.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;the-json-file-uploaded-is-not-in-a-valid-jaeger-format&#34;&gt;&amp;ldquo;The JSON file uploaded is not in a valid Jaeger format&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Importing a trace file fails with a format error&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 JSON file follows the Jaeger trace format with a &lt;code&gt;data&lt;/code&gt; array at the root level.&lt;/li&gt;
&lt;li&gt;Ensure the file contains at least one trace object in the &lt;code&gt;data&lt;/code&gt; array.&lt;/li&gt;
&lt;li&gt;Validate the JSON syntax using a JSON linter.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Expected format:&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;JSON&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-json&#34;&gt;{
  &amp;#34;data&amp;#34;: [
    {
      &amp;#34;traceID&amp;#34;: &amp;#34;&amp;lt;TRACE_ID&amp;gt;&amp;#34;,
      &amp;#34;spans&amp;#34;: [...],
      &amp;#34;processes&amp;#34;: {...}
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;dependency-graph-errors&#34;&gt;Dependency graph errors&lt;/h2&gt;
&lt;p&gt;These errors relate to the dependency graph query type.&lt;/p&gt;
&lt;h3 id=&#34;empty-dependency-graph&#34;&gt;Empty dependency graph&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The dependency graph query returns no nodes or edges&lt;/li&gt;
&lt;li&gt;The Node Graph panel 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;No dependency data&lt;/td&gt;
              &lt;td&gt;Verify Jaeger is collecting and processing service dependency information.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Time range too narrow&lt;/td&gt;
              &lt;td&gt;Expand the dashboard time range. Dependencies are calculated over the selected period.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Jaeger storage backend&lt;/td&gt;
              &lt;td&gt;Some Jaeger storage backends may not support dependency queries. Refer to the &lt;a href=&#34;https://www.jaegertracing.io/docs/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Jaeger documentation&lt;/a&gt; for storage-specific details.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;grpc-endpoint-errors&#34;&gt;gRPC endpoint errors&lt;/h2&gt;
&lt;p&gt;These errors occur when using the gRPC query endpoint.&lt;/p&gt;
&lt;h3 id=&#34;grpc-queries-fail&#34;&gt;gRPC queries fail&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Symptoms:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Queries don&amp;rsquo;t use the gRPC endpoint&lt;/li&gt;
&lt;li&gt;Search, service, and operation queries still use the REST API&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 &lt;code&gt;jaegerEnableGrpcEndpoint&lt;/code&gt; feature flag is enabled in Grafana. This feature is in public preview.&lt;/li&gt;
&lt;li&gt;Grafana Cloud customers should contact support to request access.&lt;/li&gt;
&lt;li&gt;Note that search and dependency graph queries currently use the REST endpoint even when the feature flag is enabled. Only service search, operation search, and trace ID queries use gRPC.&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;Reproduce the issue.&lt;/p&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 Jaeger-specific entries that include request URLs, response status codes, and error 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 document 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/grafana/issues&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana GitHub issues&lt;/a&gt; for known bugs related to the Jaeger data source.&lt;/li&gt;
&lt;li&gt;Refer to the &lt;a href=&#34;https://www.jaegertracing.io/docs/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Jaeger documentation&lt;/a&gt; for service-specific guidance.&lt;/li&gt;
&lt;li&gt;Contact Grafana Support if you&amp;rsquo;re an Enterprise, Cloud Pro, or Cloud Advanced 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;Jaeger version&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;Relevant data source configuration (redact credentials)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="troubleshoot-jaeger-data-source-issues">Troubleshoot Jaeger data source issues&lt;/h1>
&lt;p>This document provides solutions to common issues you may encounter when configuring or using the Jaeger data source. For configuration instructions, refer to
&lt;a href="/docs/grafana/v13.0/datasources/jaeger/configure/">Configure the Jaeger data source&lt;/a>.&lt;/p></description></item></channel></rss>