Skip to content

Build Not yet confirmed elsewhere1 publisher 2 min read Published

Tempo 3.1 lets operators with TLS-only Kafka brokers run the 3.0 architecture

Grafana Labs released Tempo 3.1, adding TLS and four SASL mechanisms to a Kafka client that 3.0 limited to unencrypted SASL PLAIN. Redaction by query and a vParquet5 default add upgrade reasons, with a sequencing condition on the redaction flags.

The Engineer · Build desk

How we use AI Send a correction

Illustration accompanying Tempo 3.1 lets operators with TLS-only Kafka brokers run the 3.0 architecture
Generated illustration
Kafka TLS arrives; redaction flags need full 3.1 How Tempo 3.1's Kafka and redaction changes reach TLS-only brokers, Azure Event Hubs, availability-zone consumers and redaction runs.

Who Tempo 3.1 reaches: TLS-only brokers refused the 3.0 client; 3.1 adds TLS, optional mTLS and SASL mechanisms; older workers ignore --start/--end and remove every match without error; Event Hubs must set gzip; client_rack allows in-zone replica reads.

Kafka TLS arrives; redaction flags need full 3.1
WhoHowKindClaim
Operators with TLS-only brokersThe 3.0 client supported only SASL PLAIN unencrypted, so any broker requiring TLS refused itconstraint2
Tempo Kafka client3.1 adds TLS, optional mTLS, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER and AWS_MSK_IAMcapability3
Mixed-version redaction runsOlder workers ignore --start/--end and remove every match in each block they receive, without an errorexposure8
Azure Event Hubs deploymentsMust set producer_compression to gzip; Event Hubs accepts only gzip and the unset default is snappyconstraint15
Availability-zone consumersclient_rack lets them read a replica in their own zone; brokers need rack IDs configuredcapability9

What happened

  • The new Kafka client options include optional mTLS, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER and AWS_MSK_IAM.
  • In 3.1 the redact command accepts a TraceQL query where 3.0 required a list of trace IDs, and --dry-run counts matches without touching blocks.
  • A new client_rack option lets consumers read from a replica in their own availability zone, but it needs brokers with rack IDs configured.

Why it matters

  • exposure A windowed redaction run while any worker is still on 3.0 would delete every match in the blocks that worker handles, inside and outside the window, with no error.
  • decision Teams using Azure Event Hubs as the backend have to set producer_compression to gzip, because the unset default is snappy.
  • constraint The sampling-aware metrics hint is experimental and needs vParquet4 or later, so alert rules built on sampled data should wait for it to stabilise.

Kafka is on the critical path in the 3.0 design. Distributors write to a Kafka topic, block-builders read from it and turn what they read into Parquet blocks in object storage, and live-stores read the same topic and serve recent traces from it [4]. A client that cannot authenticate to the broker therefore sits in front of both the write path and recent-trace reads. The 3.0 client supported only SASL PLAIN over an unencrypted connection, so any broker requiring TLS refused it [2]. In our view, clusters with such brokers had no way to run the 3.0 design until 3.1 added TLS and four more SASL mechanisms [3][14]. Monolithic mode remains Kafka-free, so the client changes do not apply there [12].

Redaction is the more careful piece of engineering. The query syntax is deliberately narrow: one spanset filter, equality comparisons on resource.* and span.* attributes, and && or || between them [6]. Grafana limits it that way because the rewrite cannot be undone [6]. The --start and --end flags confine a run to a time window. That matters, because Tempo halts compaction for the tenant until the redaction has been applied [7].

Those flags carry a version condition. A worker on an older version silently disregards the window and deletes all matches in any block it is handed, so Grafana says to use the flags only once every scheduler and worker runs 3.1 [8]. A rolling upgrade leaves the fleet mixed for a while. A windowed redaction run in that interval would delete matches outside the window.

The speed claim comes from a narrow test. vParquet5 is the new default block format [16]. Grafana says simple metrics queries run close to twice as fast, and the one test the report cites is a warmed-up run of { } | rate() that finished in slightly over half the time [17][18]. The span-only fetch path, experimental in 3.0, is on by default for vParquet5 blocks [19]. For the number to transfer, your dashboards would need to be mostly queries that simple, your data would need to sit in vParquet5 blocks, and your caches would need to be warm. The report does not say whether blocks written in an older format get rewritten.

Three additions are still experimental: the sampling-aware extrapolate hint [11], span pruning on the trace-by-ID v2 endpoint, and the trace diff endpoint [13]. We would take the Kafka client options, redaction and the new block format with the 3.1 upgrade and wait on those three.

What to watch

  • Whether Grafana publishes the setup behind the 'close to twice as fast' figure, or other operators reproduce it on their own block mix.
  • Whether Tempo workers gain a version check that rejects --start and --end instead of ignoring them.
  • Whether the extrapolate hint, span pruning and the trace diff endpoint leave experimental status in a later 3.x release.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence50
Adoption
Insufficient
Hype gap+15
Incentives
Insufficient
Confidence65
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    Grafana Labs has released Tempo 3.1, the first minor update to the 3.0 architecture.

    Reported Supported Source: InfoQ, reporting on the Grafana Labs releaseView cited source
  2. [2]

    The Tempo 3.0 Kafka client supported only SASL PLAIN over an unencrypted connection, so any broker requiring TLS refused it.

    Reported Supported Source: InfoQView cited source
  3. [3]

    Tempo 3.1 adds TLS, including optional mTLS, plus SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, and AWS_MSK_IAM to the Kafka client.

    Reported Supported Source: InfoQView cited source

Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.

Add to ChatGPTAdd to Claude

Sources

1 independent publisher whose own reporting we read for this story.

  1. infoq.com

    1 article · October 15, 2026

    Grafana Tempo 3.1 Adds Query-Based Trace Redaction and Sampling-Aware TraceQL Metrics

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Entities

Loading related stories