The builder pushes its build metrics (builds by kind and outcome, build duration, queue depth and wait, reply publish failures) to its forwarder's OTLP receiver, which relays them to the swarm collector. It also registers the standard store client-certificate gauges (bao.client_cert.*, cert=builder) on the same exporter. They are the builder's liveness signal: exported every minute whether or not a build runs. The cert-metrics table in docs/scheduler/observability.md gains the builder row.
40 lines
1.2 KiB
TOML
40 lines
1.2 KiB
TOML
[package]
|
|
name = "swarm-builder"
|
|
version.workspace = true
|
|
readme = "README.md"
|
|
edition.workspace = true
|
|
|
|
[[bin]]
|
|
name = "swarm-builder"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
async-nats.workspace = true
|
|
# StreamExt::next on the subscription.
|
|
futures-util.workspace = true
|
|
hive-log.workspace = true
|
|
# The build metrics, exported over OTLP like the review classifier's.
|
|
opentelemetry.workspace = true
|
|
opentelemetry-otlp.workspace = true
|
|
opentelemetry_sdk.workspace = true
|
|
serde_json.workspace = true
|
|
swarm-queue-client.workspace = true
|
|
# The forge token and queue client secret paths, and the store login.
|
|
swarm-secret-client = { workspace = true, features = ["otel"] }
|
|
# The build subject and the shapes the controller sends and reads back.
|
|
swarm-wire.workspace = true
|
|
tokio.workspace = true
|
|
tracing.workspace = true
|
|
|
|
# `test-util` for `#[tokio::test(start_paused = true)]`: the slot tests wait
|
|
# out the build slot's wait limit on paused time.
|
|
[dev-dependencies]
|
|
mockall.workspace = true
|
|
# `testing`: the in-memory exporter the metric tests read.
|
|
opentelemetry_sdk = { workspace = true, features = ["testing"] }
|
|
tokio = { workspace = true, features = ["test-util"] }
|
|
tracing-subscriber.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|