Skip to content

Accept: application/llm#5962

Merged
joe-elliott merged 17 commits intografana:mainfrom
joe-elliott:accept-text-markdown
Nov 20, 2025
Merged

Accept: application/llm#5962
joe-elliott merged 17 commits intografana:mainfrom
joe-elliott:accept-text-markdown

Conversation

@joe-elliott
Copy link
Copy Markdown
Collaborator

What this PR does:

Adds support to 2 endpoints for a new Accept header value: application/llm. This is a request for a response that is LLM friendly. After discussions with internal experts, Claude and Gemini the PR'ed format was chosen: a simplified json representation of the trace.

This representation is subject to change and should not be relied on. It is intended for LLM consumption only. Even a fundamental change to its representation (yaml? markdown?) would not be considered breaking.

Other changes:

  • tests
  • MCP server automatically sets application/llm as the header.

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
@joe-elliott joe-elliott changed the title Accept text markdown Accept: application/llm Nov 18, 2025
@mdisibio
Copy link
Copy Markdown
Contributor

This is neat. Is the usage of map[string]interface{} meaningful? What if we created regular structs for the things with json tags?

Signed-off-by: Joe Elliott <number101010@gmail.com>
@joe-elliott
Copy link
Copy Markdown
Collaborator Author

joe-elliott commented Nov 18, 2025

This is neat. Is the usage of map[string]interface{} meaningful? What if we created regular structs for the things with json tags?

No strong feelings. I liked this b/c I expect it to change in the future and this felt fluid and easy, but certainly actual structs would would be easier to read and test. Let me put that together.

Edit:

There is one place that needs to remain map[string]any and that's the attributes list. The attributes on the span are dynamic key/value pairs. Let me dredge up some examples.

simplified json
{
  "metrics": {
    "inspectedBytes": 2902458
  },
  "trace": {
    "services": [
      {
        "resource": {
          "k6": "true",
          "k6.HKpIhGIFUS2GTpN": "RTYIalmPwx2DNuRouMX4clKqHqngRt",
          "k6.P9ZSO2EFWSqBuDZ": "gGjEpkT9YCpaXQisnb1jBpoEJJGKVg",
          "k6.t6Cr9gCEUgaZDxC": "HbBvHSpLAKHsB0JfxBUIQhR7zeKorT"
        },
        "scopes": [
          {
            "name": "k6-scope-name/fqcJYy1Ni65RMI2",
            "spans": [
              {
                "attributes": {
                  "http.request.method": "DELETE",
                  "http.response.header.content-length": [
                    433965
                  ],
                  "http.response.header.content-type": [
                    "application/xml"
                  ],
                  "http.response.status_code": 403,
                  "k6.AXFGl6MYLG3CnVJ": "Ro8rkgqNctK9lPpXytY3EmlnlyuqA5",
                  "k6.bSCgrK9VoiaC44e": "SscIHLrmFgbjKAMAiffRSPgjsA8i6C",
                  "net.host.name": "shop-backend.local",
                  "net.host.port": 8132,
                  "net.sock.family": "inet",
                  "net.sock.host.addr": "192.168.204.168",
                  "net.transport": "ip_tcp",
                  "network.protocol.name": "http",
                  "network.protocol.version": "1.1",
                  "one": "three",
                  "url.full": "https://shop-backend.local:8132/remove-payment",
                  "url.schema": "https",
                  "url.target": "/remove-payment"
                },
                "durationMs": 797.999887,
                "endTimeUnixNano": "1763393081021538989",
                "kind": "SPAN_KIND_SERVER",
                "name": "remove-payment",
                "spanId": "715cac7b54890e6b",
                "startTimeUnixNano": "1763393080223539102",
                "status": {
                  "code": "STATUS_CODE_UNSET",
                  "message": ""
                }
              },
              {
                "attributes": {
                  "http.request.header.accept": [
                    "application/json"
                  ],
                  "http.request.method": "PUT",
                  "http.response.status_code": 403,
                  "k6.AXFGl6MYLG3CnVJ": "Ro8rkgqNctK9lPpXytY3EmlnlyuqA5",
                  "k6.bSCgrK9VoiaC44e": "SscIHLrmFgbjKAMAiffRSPgjsA8i6C",
                  "net.peer.name": "auth-service.local",
                  "net.peer.port": 8140,
                  "net.sock.family": "inet",
                  "net.sock.peer.addr": "192.168.249.200",
                  "net.transport": "ip_tcp",
                  "network.protocol.name": "http",
                  "network.protocol.version": "1.1",
                  "one": "three",
                  "url.full": "https://auth-service.local:8154/authenticate"
                },
                "durationMs": 559.02164,
                "endTimeUnixNano": "1763393080827732353",
                "kind": "SPAN_KIND_CLIENT",
                "name": "authenticate",
                "parentSpanId": "715cac7b54890e6b",
                "spanId": "6d3ef8f41cbeed38",
                "startTimeUnixNano": "1763393080268710713",
                "status": {
                  "code": "STATUS_CODE_ERROR",
                  "message": "Forbidden"
                }
              }
            ],
            "version": "k6-scope-version:v38.40"
          }
        ],
        "serviceName": "shop-backend"
      },
      {
        "resource": {
          "k6": "true",
          "k6.1nIwRMJW4R1forC": "XLCEJLI6N6vh73mcr08iqG8LrukFBX",
          "k6.RPbSr0Xo2tLlA1B": "sT20P3aK0lwQNxPPqyQuryX2pGDcsn",
          "k6.SDcd5x2pheuenDX": "ta5jVH7I67YysCvm5L8x2ndslzSdnv"
        },
        "scopes": [
          {
            "name": "k6-scope-name/zWig361cJe6jpXO",
            "spans": [
              {
                "attributes": {
                  "http.request.header.content-length": [
                    84312
                  ],
                  "http.request.method": "PUT",
                  "http.response.header.content-length": [
                    837682
                  ],
                  "http.response.header.content-type": [
                    "application/json"
                  ],
                  "http.status_code": 403,
                  "k6.AXFGl6MYLG3CnVJ": "Ro8rkgqNctK9lPpXytY3EmlnlyuqA5",
                  "k6.bSCgrK9VoiaC44e": "SscIHLrmFgbjKAMAiffRSPgjsA8i6C",
                  "net.host.name": "auth-service.local",
                  "net.host.port": 8154,
                  "net.sock.family": "inet",
                  "net.sock.host.addr": "192.168.249.200",
                  "net.transport": "ip_tcp",
                  "network.protocol.name": "http",
                  "network.protocol.version": "1.1",
                  "one": "three",
                  "url.full": "https://auth-service.local:8154/authenticate",
                  "url.schema": "https",
                  "url.target": "/authenticate"
                },
                "durationMs": 462.415274,
                "endTimeUnixNano": "1763393080777899655",
                "events": [
                  {
                    "attributes": {
                      "exception.escape": false,
                      "exception.message": "error: k6.Hb6QD2MaOyc6ibYPGrh6",
                      "exception.stacktrace": "panic: runtime error: index out of range\ntrace.makespan()",
                      "exception.type": "error.type_k6.EKLMrkHtPV",
                      "k6.4SlLWUGYUuVHox8": "7mL7CxGqSYvDXGHS1y35pWxmfT79lD",
                      "k6.7dTDA7yVJ8Oguta": "KFg3rtESX6Mu4HMHsZAtLpexdlJitc",
                      "k6.8Jeh8OU2izbb1YH": "kzaGu7KmedAn1RhwTUY9oO4vyDNXbt",
                      "k6.hgG7YOAdGXPf8xC": "uO4MTyo6NzQGRAFQlMWWzBObHwjovt",
                      "k6.qc4Y5QZA2auyMG0": "T2KCTqvzoxveCdMXmAxB6zog03FE6p"
                    },
                    "name": "exception",
                    "timeUnixNano": "1763393080462193800"
                  },
                  {
                    "attributes": {
                      "exception.escape": false,
                      "exception.message": "error: k6.4icPijEW9zJKuhXn585D",
                      "exception.stacktrace": "panic: runtime error: can't divide by 0\ntrace.makespan()",
                      "exception.type": "error.type_k6.8AQy4s7Gyc",
                      "k6.AGXdTviIZlDbO2l": "O6IQQdRGYwd9JSrfIAkUK2FfQVruYh",
                      "k6.LO7iLCrh68zBz4Y": "xVf9RQPsD7ePT5X5MgjlTIQjo1XoTp",
                      "k6.aAKrNCb3vWhPyuz": "6m6rCqFWYRbE8N8LjeoXoaxf3wmJRq",
                      "k6.gGATpFmyL9voDoS": "rDk5PeGCujiiUfk4rbvrn2txsExwcw",
                      "k6.uMCrSLJKOts9Vry": "QKSBy18wv9acwcfKZvx7pwSGlGQ0fz"
                    },
                    "name": "exception",
                    "timeUnixNano": "1763393080350634786"
                  }
                ],
                "kind": "SPAN_KIND_SERVER",
                "name": "authenticate",
                "parentSpanId": "6d3ef8f41cbeed38",
                "spanId": "3c8f02d215a94c3b",
                "startTimeUnixNano": "1763393080315484381",
                "status": {
                  "code": "STATUS_CODE_UNSET",
                  "message": ""
                }
              }
            ],
            "version": "k6-scope-version:v76.20"
          }
        ],
        "serviceName": "auth-service"
      }
    ],
    "traceId": "19479fe435c84aa7db2eaa416fb9d3a6"
  }
}
otel json
{
  "trace": {
    "resourceSpans": [
      {
        "resource": {
          "attributes": [
            {
              "key": "k6",
              "value": {
                "stringValue": "true"
              }
            },
            {
              "key": "k6.HKpIhGIFUS2GTpN",
              "value": {
                "stringValue": "RTYIalmPwx2DNuRouMX4clKqHqngRt"
              }
            },
            {
              "key": "k6.P9ZSO2EFWSqBuDZ",
              "value": {
                "stringValue": "gGjEpkT9YCpaXQisnb1jBpoEJJGKVg"
              }
            },
            {
              "key": "k6.t6Cr9gCEUgaZDxC",
              "value": {
                "stringValue": "HbBvHSpLAKHsB0JfxBUIQhR7zeKorT"
              }
            },
            {
              "key": "service.name",
              "value": {
                "stringValue": "shop-backend"
              }
            }
          ]
        },
        "scopeSpans": [
          {
            "scope": {
              "name": "k6-scope-name/fqcJYy1Ni65RMI2",
              "version": "k6-scope-version:v38.40"
            },
            "spans": [
              {
                "traceId": "GUef5DXISqfbLqpBb7nTpg==",
                "spanId": "cVyse1SJDms=",
                "name": "remove-payment",
                "kind": "SPAN_KIND_SERVER",
                "startTimeUnixNano": "1763393080223539102",
                "endTimeUnixNano": "1763393081021538989",
                "attributes": [
                  {
                    "key": "one",
                    "value": {
                      "stringValue": "three"
                    }
                  },
                  {
                    "key": "http.response.status_code",
                    "value": {
                      "intValue": "403"
                    }
                  },
                  {
                    "key": "net.transport",
                    "value": {
                      "stringValue": "ip_tcp"
                    }
                  },
                  {
                    "key": "net.sock.family",
                    "value": {
                      "stringValue": "inet"
                    }
                  },
                  {
                    "key": "net.sock.host.addr",
                    "value": {
                      "stringValue": "192.168.204.168"
                    }
                  },
                  {
                    "key": "net.host.name",
                    "value": {
                      "stringValue": "shop-backend.local"
                    }
                  },
                  {
                    "key": "net.host.port",
                    "value": {
                      "intValue": "8132"
                    }
                  },
                  {
                    "key": "network.protocol.name",
                    "value": {
                      "stringValue": "http"
                    }
                  },
                  {
                    "key": "network.protocol.version",
                    "value": {
                      "stringValue": "1.1"
                    }
                  },
                  {
                    "key": "http.response.header.content-type",
                    "value": {
                      "arrayValue": {
                        "values": [
                          {
                            "stringValue": "application/xml"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "key": "url.full",
                    "value": {
                      "stringValue": "https://shop-backend.local:8132/remove-payment"
                    }
                  },
                  {
                    "key": "url.schema",
                    "value": {
                      "stringValue": "https"
                    }
                  },
                  {
                    "key": "url.target",
                    "value": {
                      "stringValue": "/remove-payment"
                    }
                  },
                  {
                    "key": "http.response.header.content-length",
                    "value": {
                      "arrayValue": {
                        "values": [
                          {
                            "intValue": "433965"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "key": "k6.AXFGl6MYLG3CnVJ",
                    "value": {
                      "stringValue": "Ro8rkgqNctK9lPpXytY3EmlnlyuqA5"
                    }
                  },
                  {
                    "key": "k6.bSCgrK9VoiaC44e",
                    "value": {
                      "stringValue": "SscIHLrmFgbjKAMAiffRSPgjsA8i6C"
                    }
                  },
                  {
                    "key": "http.request.method",
                    "value": {
                      "stringValue": "DELETE"
                    }
                  }
                ],
                "status": {}
              },
              {
                "traceId": "GUef5DXISqfbLqpBb7nTpg==",
                "spanId": "bT749By+7Tg=",
                "parentSpanId": "cVyse1SJDms=",
                "name": "authenticate",
                "kind": "SPAN_KIND_CLIENT",
                "startTimeUnixNano": "1763393080268710713",
                "endTimeUnixNano": "1763393080827732353",
                "attributes": [
                  {
                    "key": "one",
                    "value": {
                      "stringValue": "three"
                    }
                  },
                  {
                    "key": "http.request.header.accept",
                    "value": {
                      "arrayValue": {
                        "values": [
                          {
                            "stringValue": "application/json"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "key": "net.transport",
                    "value": {
                      "stringValue": "ip_tcp"
                    }
                  },
                  {
                    "key": "net.sock.family",
                    "value": {
                      "stringValue": "inet"
                    }
                  },
                  {
                    "key": "net.peer.port",
                    "value": {
                      "intValue": "8140"
                    }
                  },
                  {
                    "key": "network.protocol.name",
                    "value": {
                      "stringValue": "http"
                    }
                  },
                  {
                    "key": "network.protocol.version",
                    "value": {
                      "stringValue": "1.1"
                    }
                  },
                  {
                    "key": "k6.AXFGl6MYLG3CnVJ",
                    "value": {
                      "stringValue": "Ro8rkgqNctK9lPpXytY3EmlnlyuqA5"
                    }
                  },
                  {
                    "key": "k6.bSCgrK9VoiaC44e",
                    "value": {
                      "stringValue": "SscIHLrmFgbjKAMAiffRSPgjsA8i6C"
                    }
                  },
                  {
                    "key": "net.sock.peer.addr",
                    "value": {
                      "stringValue": "192.168.249.200"
                    }
                  },
                  {
                    "key": "net.peer.name",
                    "value": {
                      "stringValue": "auth-service.local"
                    }
                  },
                  {
                    "key": "http.response.status_code",
                    "value": {
                      "intValue": "403"
                    }
                  },
                  {
                    "key": "url.full",
                    "value": {
                      "stringValue": "https://auth-service.local:8154/authenticate"
                    }
                  },
                  {
                    "key": "http.request.method",
                    "value": {
                      "stringValue": "PUT"
                    }
                  }
                ],
                "status": {
                  "message": "Forbidden",
                  "code": "STATUS_CODE_ERROR"
                }
              }
            ]
          }
        ]
      },
      {
        "resource": {
          "attributes": [
            {
              "key": "k6",
              "value": {
                "stringValue": "true"
              }
            },
            {
              "key": "k6.1nIwRMJW4R1forC",
              "value": {
                "stringValue": "XLCEJLI6N6vh73mcr08iqG8LrukFBX"
              }
            },
            {
              "key": "k6.RPbSr0Xo2tLlA1B",
              "value": {
                "stringValue": "sT20P3aK0lwQNxPPqyQuryX2pGDcsn"
              }
            },
            {
              "key": "k6.SDcd5x2pheuenDX",
              "value": {
                "stringValue": "ta5jVH7I67YysCvm5L8x2ndslzSdnv"
              }
            },
            {
              "key": "service.name",
              "value": {
                "stringValue": "auth-service"
              }
            }
          ]
        },
        "scopeSpans": [
          {
            "scope": {
              "name": "k6-scope-name/zWig361cJe6jpXO",
              "version": "k6-scope-version:v76.20"
            },
            "spans": [
              {
                "traceId": "GUef5DXISqfbLqpBb7nTpg==",
                "spanId": "PI8C0hWpTDs=",
                "parentSpanId": "bT749By+7Tg=",
                "name": "authenticate",
                "kind": "SPAN_KIND_SERVER",
                "startTimeUnixNano": "1763393080315484381",
                "endTimeUnixNano": "1763393080777899655",
                "attributes": [
                  {
                    "key": "one",
                    "value": {
                      "stringValue": "three"
                    }
                  },
                  {
                    "key": "net.transport",
                    "value": {
                      "stringValue": "ip_tcp"
                    }
                  },
                  {
                    "key": "net.sock.family",
                    "value": {
                      "stringValue": "inet"
                    }
                  },
                  {
                    "key": "net.sock.host.addr",
                    "value": {
                      "stringValue": "192.168.249.200"
                    }
                  },
                  {
                    "key": "net.host.name",
                    "value": {
                      "stringValue": "auth-service.local"
                    }
                  },
                  {
                    "key": "net.host.port",
                    "value": {
                      "intValue": "8154"
                    }
                  },
                  {
                    "key": "network.protocol.name",
                    "value": {
                      "stringValue": "http"
                    }
                  },
                  {
                    "key": "network.protocol.version",
                    "value": {
                      "stringValue": "1.1"
                    }
                  },
                  {
                    "key": "http.response.header.content-type",
                    "value": {
                      "arrayValue": {
                        "values": [
                          {
                            "stringValue": "application/json"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "key": "url.full",
                    "value": {
                      "stringValue": "https://auth-service.local:8154/authenticate"
                    }
                  },
                  {
                    "key": "url.schema",
                    "value": {
                      "stringValue": "https"
                    }
                  },
                  {
                    "key": "url.target",
                    "value": {
                      "stringValue": "/authenticate"
                    }
                  },
                  {
                    "key": "http.response.header.content-length",
                    "value": {
                      "arrayValue": {
                        "values": [
                          {
                            "intValue": "837682"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "key": "http.request.header.content-length",
                    "value": {
                      "arrayValue": {
                        "values": [
                          {
                            "intValue": "84312"
                          }
                        ]
                      }
                    }
                  },
                  {
                    "key": "k6.AXFGl6MYLG3CnVJ",
                    "value": {
                      "stringValue": "Ro8rkgqNctK9lPpXytY3EmlnlyuqA5"
                    }
                  },
                  {
                    "key": "k6.bSCgrK9VoiaC44e",
                    "value": {
                      "stringValue": "SscIHLrmFgbjKAMAiffRSPgjsA8i6C"
                    }
                  },
                  {
                    "key": "http.request.method",
                    "value": {
                      "stringValue": "PUT"
                    }
                  },
                  {
                    "key": "http.status_code",
                    "value": {
                      "intValue": "403"
                    }
                  }
                ],
                "events": [
                  {
                    "timeUnixNano": "1763393080462193800",
                    "name": "exception",
                    "attributes": [
                      {
                        "key": "exception.escape",
                        "value": {
                          "boolValue": false
                        }
                      },
                      {
                        "key": "exception.message",
                        "value": {
                          "stringValue": "error: k6.Hb6QD2MaOyc6ibYPGrh6"
                        }
                      },
                      {
                        "key": "exception.stacktrace",
                        "value": {
                          "stringValue": "panic: runtime error: index out of range\ntrace.makespan()"
                        }
                      },
                      {
                        "key": "exception.type",
                        "value": {
                          "stringValue": "error.type_k6.EKLMrkHtPV"
                        }
                      },
                      {
                        "key": "k6.4SlLWUGYUuVHox8",
                        "value": {
                          "stringValue": "7mL7CxGqSYvDXGHS1y35pWxmfT79lD"
                        }
                      },
                      {
                        "key": "k6.8Jeh8OU2izbb1YH",
                        "value": {
                          "stringValue": "kzaGu7KmedAn1RhwTUY9oO4vyDNXbt"
                        }
                      },
                      {
                        "key": "k6.hgG7YOAdGXPf8xC",
                        "value": {
                          "stringValue": "uO4MTyo6NzQGRAFQlMWWzBObHwjovt"
                        }
                      },
                      {
                        "key": "k6.7dTDA7yVJ8Oguta",
                        "value": {
                          "stringValue": "KFg3rtESX6Mu4HMHsZAtLpexdlJitc"
                        }
                      },
                      {
                        "key": "k6.qc4Y5QZA2auyMG0",
                        "value": {
                          "stringValue": "T2KCTqvzoxveCdMXmAxB6zog03FE6p"
                        }
                      }
                    ]
                  },
                  {
                    "timeUnixNano": "1763393080350634786",
                    "name": "exception",
                    "attributes": [
                      {
                        "key": "exception.escape",
                        "value": {
                          "boolValue": false
                        }
                      },
                      {
                        "key": "exception.message",
                        "value": {
                          "stringValue": "error: k6.4icPijEW9zJKuhXn585D"
                        }
                      },
                      {
                        "key": "exception.stacktrace",
                        "value": {
                          "stringValue": "panic: runtime error: can't divide by 0\ntrace.makespan()"
                        }
                      },
                      {
                        "key": "exception.type",
                        "value": {
                          "stringValue": "error.type_k6.8AQy4s7Gyc"
                        }
                      },
                      {
                        "key": "k6.gGATpFmyL9voDoS",
                        "value": {
                          "stringValue": "rDk5PeGCujiiUfk4rbvrn2txsExwcw"
                        }
                      },
                      {
                        "key": "k6.uMCrSLJKOts9Vry",
                        "value": {
                          "stringValue": "QKSBy18wv9acwcfKZvx7pwSGlGQ0fz"
                        }
                      },
                      {
                        "key": "k6.LO7iLCrh68zBz4Y",
                        "value": {
                          "stringValue": "xVf9RQPsD7ePT5X5MgjlTIQjo1XoTp"
                        }
                      },
                      {
                        "key": "k6.AGXdTviIZlDbO2l",
                        "value": {
                          "stringValue": "O6IQQdRGYwd9JSrfIAkUK2FfQVruYh"
                        }
                      },
                      {
                        "key": "k6.aAKrNCb3vWhPyuz",
                        "value": {
                          "stringValue": "6m6rCqFWYRbE8N8LjeoXoaxf3wmJRq"
                        }
                      }
                    ]
                  }
                ],
                "status": {}
              }
            ]
          }
        ]
      }
    ]
  },
  "metrics": {
    "inspectedBytes": "2902458"
  }
}

Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Comment thread pkg/api/http.go Outdated
@mdisibio
Copy link
Copy Markdown
Contributor

LGTM, the new accept content type makes this easy to support in the future, and understand that some looseness in the response here is totally fine (preferable even). But defer on the specific header value - if there is a growing spec and recommended value, it makes sense to adopt it. But as long as existing callers (i.e. Grafana Assistant) can send it, it should be fine.

Signed-off-by: Joe Elliott <number101010@gmail.com>
Signed-off-by: Joe Elliott <number101010@gmail.com>
Copy link
Copy Markdown
Member

@electron0zero electron0zero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, and like the application/vnd.grafana.llm content type.

@joe-elliott joe-elliott merged commit 032d476 into grafana:main Nov 20, 2025
36 of 37 checks passed
knylander-grafana added a commit to knylander-grafana/tempo-doc-work that referenced this pull request Jan 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants