Skip to content

Commit 1858edb

Browse files
authored
Parse prometheus metrics from crdb admin server (#8379)
- Adds a wrapper around the cockroach admin server to query from many backends - Parses the output from the admin server (and the underlying CRDB HTTP server) - Adds integration tests that validate the data is flowing correctly - Adds proptests to validate the parsing works
1 parent 55779df commit 1858edb

File tree

4 files changed

+1119
-0
lines changed

4 files changed

+1119
-0
lines changed

Cargo.lock

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ members = [
2424
"cockroach-admin",
2525
"cockroach-admin/api",
2626
"cockroach-admin/types",
27+
"cockroach-metrics",
2728
"common",
2829
"dev-tools/cert-dev",
2930
"dev-tools/clickana",
@@ -175,6 +176,7 @@ default-members = [
175176
"cockroach-admin",
176177
"cockroach-admin/api",
177178
"cockroach-admin/types",
179+
"cockroach-metrics",
178180
"common",
179181
"dev-tools/cert-dev",
180182
"dev-tools/clickana",
@@ -549,6 +551,7 @@ num = { version = "0.4.3", default-features = false, features = [ "libm" ] }
549551
omicron-clickhouse-admin = { path = "clickhouse-admin" }
550552
omicron-certificates = { path = "certificates" }
551553
omicron-cockroach-admin = { path = "cockroach-admin" }
554+
omicron-cockroach-metrics = { path = "cockroach-metrics" }
552555
omicron-common = { path = "common" }
553556
omicron-dev-lib = { path = "dev-tools/omicron-dev-lib" }
554557
omicron-gateway = { path = "gateway" }

cockroach-metrics/Cargo.toml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
[package]
2+
name = "omicron-cockroach-metrics"
3+
version = "0.1.0"
4+
edition = "2021"
5+
license = "MPL-2.0"
6+
7+
[dependencies]
8+
anyhow.workspace = true
9+
chrono.workspace = true
10+
cockroach-admin-client.workspace = true
11+
futures.workspace = true
12+
serde_json.workspace = true
13+
slog.workspace = true
14+
serde.workspace = true
15+
strum.workspace = true
16+
tokio.workspace = true
17+
18+
omicron-workspace-hack.workspace = true
19+
20+
[dev-dependencies]
21+
proptest.workspace = true
22+
23+
[lints]
24+
workspace = true

0 commit comments

Comments
 (0)