Tempo · JSON Structure

Tempo Trace Structure

Structure documentation for a Grafana Tempo distributed trace in OTLP format

Type: Properties: 0
Distributed TracingObservabilityOpenTelemetryGrafanaMonitoring

Grafana Tempo Trace is a JSON Structure definition published by Tempo.

Meta-schema:

JSON Structure

Raw ↑
{
  "name": "Grafana Tempo Trace",
  "description": "Structure documentation for a Grafana Tempo distributed trace in OTLP format",
  "fields": [
    {
      "name": "batches",
      "type": "array",
      "required": true,
      "description": "OTLP resource span batches",
      "items": {
        "name": "ResourceSpans",
        "fields": [
          {
            "name": "resource",
            "type": "object",
            "required": false,
            "description": "Service resource attributes",
            "fields": [
              {
                "name": "attributes",
                "type": "array",
                "required": false,
                "description": "Resource key-value attributes (service.name, deployment.environment, etc.)"
              }
            ]
          },
          {
            "name": "scopeSpans",
            "type": "array",
            "required": true,
            "description": "Spans grouped by instrumentation scope",
            "items": {
              "name": "ScopeSpans",
              "fields": [
                {
                  "name": "scope",
                  "type": "object",
                  "required": false,
                  "description": "Instrumentation library name and version"
                },
                {
                  "name": "spans",
                  "type": "array",
                  "required": true,
                  "description": "Individual span records",
                  "items": {
                    "name": "Span",
                    "fields": [
                      {
                        "name": "traceId",
                        "type": "string",
                        "required": true,
                        "description": "128-bit trace identifier in uppercase hex",
                        "example": "5B8EFFF798038103D269B633813FC60C"
                      },
                      {
                        "name": "spanId",
                        "type": "string",
                        "required": true,
                        "description": "64-bit span identifier in uppercase hex",
                        "example": "EEE19B7EC3C1B173"
                      },
                      {
                        "name": "parentSpanId",
                        "type": "string",
                        "required": false,
                        "description": "Parent span ID (empty for root spans)"
                      },
                      {
                        "name": "name",
                        "type": "string",
                        "required": true,
                        "description": "Operation name",
                        "example": "POST /orders"
                      },
                      {
                        "name": "kind",
                        "type": "integer",
                        "required": false,
                        "description": "Span kind: 0=unspecified, 1=internal, 2=server, 3=client, 4=producer, 5=consumer",
                        "example": 2
                      },
                      {
                        "name": "startTimeUnixNano",
                        "type": "string",
                        "required": true,
                        "description": "Start time in nanoseconds since Unix epoch",
                        "example": "1746259200000000000"
                      },
                      {
                        "name": "endTimeUnixNano",
                        "type": "string",
                        "required": false,
                        "description": "End time in nanoseconds since Unix epoch",
                        "example": "1746259200145000000"
                      },
                      {
                        "name": "attributes",
                        "type": "array",
                        "required": false,
                        "description": "Span attributes following OpenTelemetry semantic conventions"
                      },
                      {
                        "name": "status",
                        "type": "object",
                        "required": false,
                        "description": "Span status with code (0=unset, 1=ok, 2=error) and optional message"
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
}

Work with this as data

Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/tempo-trace-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.