Commit Graph

7 Commits (d31f54754f26e4c5d63c3c86858e1802e08e2c16)

Author SHA1 Message Date
Marco Neumann 9b7697e0d0
feat: backoff & retry for i->q V2 client (#8688)
* feat: error classifiers for retries etc.

* feat: backoff-based retries

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-09-08 08:14:28 +00:00
Marco Neumann 7f06f524eb
feat: i->q V2 metrics integration (#8687)
Same metric names as V1, so dashboards don't need any migration.
2023-09-08 08:07:22 +00:00
Marco Neumann 6f1c6fa44a
feat: i->q V2 tracing integration (#8680)
* refactor: improve `TestLayer`

* feat: tracing layer
2023-09-07 09:13:17 +00:00
Marco Neumann 377d2a8215
feat: network layer for i->q V2 client (#8640)
Adds the actual network IO layer for #8349.

This is a rather simple layer for now, but we may want to tune some
connection settings in the future.
2023-09-06 09:07:17 +00:00
Marco Neumann 4d49be9777
feat: add "serialize" layer for i->q V2 client (#8638)
The layer that serializes our requests. This also contains the logic to
leave out non-serialiable filters like the V1 version (same tests, just
slightly differently arranged).

For #8349.
2023-09-06 08:36:33 +00:00
Marco Neumann 260aa0d64c
feat: "logging" layer for i->q V2 client (#8641)
* feat: more `TestResponse` constructors

* feat: "logging" layer for i->q V2 client

Logging layer for #8349. This mostly logs in debug mode but emits errors
to the log. Simple implementation that can be extended later.

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-09-06 08:16:17 +00:00
Marco Neumann 12f2716180
feat: scaffolding for ingester->querier V2 client (#8632)
Adds basic structure for #8349. This will be filled in using separate
PRs for easier review.

The layer structure was chosen to simplify testing and allow composition
of features (like retries, circuit breaking, metrics, etc.). In contrast
to the V1 client (`querier::ingester`) a client here addresses exactly 1
ingester, not multiple (via an `addr` parameter). The tracking around
mutiple states in the V1 version is not really nice and overly
complicated.
2023-09-01 07:58:26 +00:00