Skip to content
Merged
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
28 changes: 28 additions & 0 deletions pgdog/src/stats/pools.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ impl Pools {
let mut avg_idle_xact_time = vec![];
let mut total_query_time = vec![];
let mut avg_query_time = vec![];
let mut total_wait_time = vec![];
let mut avg_wait_time = vec![];
let mut total_close = vec![];
let mut avg_close = vec![];
let mut total_server_errors = vec![];
Expand Down Expand Up @@ -241,6 +243,16 @@ impl Pools {
measurement: millis(averages.query_time).into(),
});

total_wait_time.push(Measurement {
labels: labels.clone(),
measurement: millis(totals.wait_time).into(),
});

avg_wait_time.push(Measurement {
labels: labels.clone(),
measurement: millis(averages.wait_time).into(),
});

total_close.push(Measurement {
labels: labels.clone(),
measurement: totals.close.into(),
Expand Down Expand Up @@ -604,6 +616,22 @@ impl Pools {
metric_type: None,
}));

metrics.push(Metric::new(PoolMetric {
name: "total_wait_time".into(),
measurements: total_wait_time,
help: "Total time spent waiting for connection.".into(),
unit: None,
metric_type: Some("counter".into()),
}));

metrics.push(Metric::new(PoolMetric {
name: "avg_wait_time".into(),
measurements: avg_wait_time,
help: "Average time spent waiting for connection.".into(),
unit: None,
metric_type: None,
}));

metrics.push(Metric::new(PoolMetric {
name: "total_prepared_evictions".into(),
measurements: total_close,
Expand Down
Loading