This is documentation for the next version of Grafana Tempo documentation. For the latest stable release, go to the latest version.
Tune the consistent hash rings
Tempo uses the Consistent Hash Ring implementation from Cortex. By default, the ring is gossiped between all Tempo components. However, it can be configured to use Consul or Etcd, if desired.
Tempo uses several consistent hash rings. This topic describes the distributor, live-store (partition ring), and live-store rings. Each hash ring exists for a distinct reason.
Distributor
Participants: Distributors
Used by: Distributors
Unless you are running with limits, this ring does not impact Tempo operation.
This ring is only used when global rate limits are used. The distributors use it to count the other active distributors. Incoming traffic is assumed to be evenly spread across all distributors and (global_rate_limit / # of distributors) is used to rate limit locally.
Live-store (partition ring)
Participants: Live-stores
Used by: Distributors, Queriers, Block-builders
The partition ring tracks which Tempo partitions are active and which live-stores own them. Distributors use this ring to determine which partitions to write to when sending data to Kafka. Queriers use it to find the live-stores for querying recent traces. Block-builders use it to determine which partitions to consume from.
Interacting with the rings
Web pages are available at the following endpoints. They show every ring member, their tokens and includes the ability to “Forget” a ring member. “Forgetting” is useful when a ring member leaves the ring without properly shutting down, and therefore leaves its tokens in the ring.
Distributor
Available on: Distributors
Path: /distributor/ring
Unhealthy distributors have little impact but should be forgotten to reduce cost of maintaining the ring .
Live-store (partition ring)
Available on: Distributors, Queriers, Live-stores
Path: /partition-ring
The partition ring shows partition ownership across live-stores. Unhealthy live-stores may cause recent data queries to degrade.
Live-store
Available on: Distributors, Queriers, Live-stores
Path: /live-store/ring
Configuring the rings
Ring/Lifecycler configuration control how a component interacts with the ring. Refer to the configuration topic for more details.


