Skip to content

Commit f58e948

Browse files
committed
feat(db): expose connection setup timeline
Record operation checkout starts and bounded writer connection setup steps in metrics and lifecycle logs. Co-authored-by: Ravneet Arora <rarora@squareup.com> Signed-off-by: Ravneet Arora <rarora@squareup.com>
1 parent f4df5f4 commit f58e948

11 files changed

Lines changed: 1280 additions & 53 deletions

File tree

crates/buzz-db/src/lib.rs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ pub mod error;
3131
mod test_support;
3232

3333
pub use runtime::{
34-
insert_mentions, migration, replica_fence, Db, DbConfig, DbPoolStats, DbReadinessOutcome,
35-
ReadSession,
34+
insert_mentions, migration, replica_fence, Db, DbConfig, DbConnectionEdge,
35+
DbConnectionLifecycleEvent, DbConnectionObserver, DbConnectionOutcome, DbConnectionReason,
36+
DbConnectionStep, DbPoolRole, DbPoolStats, DbReadinessOutcome, ReadSession,
3637
};
3738

3839
/// Valid low-cardinality `(pool_role, operation)` pairs for pool-acquisition telemetry.
@@ -42,6 +43,21 @@ pub const DB_POOL_ACQUIRE_VALID_PAIRS: [(&str, &str); 11] =
4243
/// Raw Prometheus series ceiling per relay pod for the operation-aware contract.
4344
pub const DB_POOL_ACQUIRE_RAW_SERIES_PER_POD: usize =
4445
runtime::observability::POOL_ACQUIRE_RAW_SERIES_PER_POD;
46+
47+
/// Valid database connection role/step pairs with a start counter.
48+
pub const DB_CONNECTION_STARTED_STEPS: [(DbPoolRole, DbConnectionStep); 4] =
49+
runtime::CONNECTION_STARTED_STEPS;
50+
51+
/// Valid database connection role/step pairs with a duration histogram.
52+
pub const DB_CONNECTION_DURATION_STEPS: [(DbPoolRole, DbConnectionStep); 4] =
53+
runtime::CONNECTION_DURATION_STEPS;
54+
55+
/// Valid database connection role/step/outcome terminal combinations.
56+
pub const DB_CONNECTION_TERMINALS: [(DbPoolRole, DbConnectionStep, DbConnectionOutcome); 15] =
57+
runtime::CONNECTION_TERMINALS;
58+
59+
/// Raw Prometheus series ceiling per pod for connection-step telemetry.
60+
pub const DB_CONNECTION_RAW_SERIES_PER_POD: usize = runtime::CONNECTION_RAW_SERIES_PER_POD;
4561
pub(crate) use runtime::{
4662
insert_mentions_in_transaction, observability, route_proof, ReadSessionInner, RouteDecision,
4763
RoutePredicate,

0 commit comments

Comments
 (0)