Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: document metrics-generator ring #1316

Merged
merged 2 commits into from
Apr 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions docs/tempo/website/api_docs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ For the sake of clarity, in this document we have grouped API endpoints by servi
| [Shutdown](#shutdown) | Ingester | HTTP | `GET,POST /shutdown` |
| [Distributor ring status](#distributor-ring-status) (*) | Distributor | HTTP | `GET /distributor/ring` |
| [Ingesters ring status](#ingesters-ring-status) | Distributor, Querier | HTTP | `GET /ingester/ring` |
| [Metrics-generator ring status](#metrics-generator-ring-status) (*) | Distributor | HTTP | `GET /metrics-generator/ring` |
| [Compactor ring status](#compactor-ring-status) | Compactor | HTTP | `GET /compactor/ring` |
| [Status](#status) | Status | HTTP | `GET /status` |

Expand Down Expand Up @@ -299,7 +300,17 @@ Displays a web page with the ingesters hash ring status, including the state, he

_For more information, check the page on [consistent hash ring](../operations/consistent_hash_ring)._

### Metrics-generator ring status

```
GET /metrics-generator/ring
```

Displays a web page with the metrics-generator hash ring status, including the state, health, and last heartbeat time of each metrics-generator.

This endpoint is only available when the metrics-generator is enabled. See [metrics-generator](../configuration/_index.md#metrics-generator).

_For more information, check the page on [consistent hash ring](../operations/consistent_hash_ring)._

### Compactor ring status

Expand Down
14 changes: 13 additions & 1 deletion docs/tempo/website/operations/consistent_hash_ring.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Tempo uses the [Consistent Hash Ring](https://cortexmetrics.io/docs/architecture

### Lord of the Rings?

In Tempo there are three consistent hash rings that are used for three distinct reasons: distributor, ingester and compactor.
There are four consistent hash rings : distributor, ingester, metrics-generator, and compactor. Each exists for a distinct reason.

#### Distributor
**Participants:** Distributors
Expand All @@ -25,6 +25,12 @@ This ring is only used when "global" rate limits are used. The distributors use

This ring is used by the distributors to load balance traffic into the ingesters. When spans are received the trace id is hashed and they are sent to the appropriate ingesters based on token ownership in the ring. Queriers also use this ring to find the ingesters for querying recent traces.

#### Metrics-generator
**Participants:** Metrics-generators
**Used by:** Distributors

This ring is used by distributors to load balance traffic to the metrics-generators. When spans are received, the trace ID is hashed, and the traces are sent to the appropriate metrics-generators based on token ownership in the ring.
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we mention what the hash is?

Copy link
Member Author

Choose a reason for hiding this comment

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

I think that's an implementation detail of the ring in dskit. How a hash ring works is explained here: https://cortexmetrics.io/docs/architecture/#the-hash-ring (this link is also on the top of this page in the docs)


#### Compactor
**Participants:** Compactors
**Used by:** Compactors
Expand All @@ -48,6 +54,12 @@ Unhealthy distributors have little impact but should be forgotten to reduce cost

Unhealthy ingesters will cause writes to fail. If the ingester is really gone forget immediately!

#### Metrics-generators
**Available on:** Distributors
**Path:** `/metrics-generator/ring`

Unhealthy metrics-generators will cause writes to fail. If the metrics-generator is really gone, forget it immediately.

#### Compactor
**Available on:** Compactors
**Path:** `/compactor/ring`
Expand Down