From 12494b88bda11a12d9f0f60bffd46ba678b31c2b Mon Sep 17 00:00:00 2001 From: Denis Cornehl Date: Sat, 14 Feb 2026 06:25:38 +0100 Subject: [PATCH 1/2] update build-time metric histogram buckets --- crates/bin/docs_rs_builder/src/metrics.rs | 43 ++++++++++++----------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/crates/bin/docs_rs_builder/src/metrics.rs b/crates/bin/docs_rs_builder/src/metrics.rs index d115f8625..68710502f 100644 --- a/crates/bin/docs_rs_builder/src/metrics.rs +++ b/crates/bin/docs_rs_builder/src/metrics.rs @@ -15,27 +15,28 @@ pub const DOCUMENTATION_SIZE_BUCKETS: &[f64; 16] = &[ /// the measured times of building crates will be put into these buckets pub const BUILD_TIME_HISTOGRAM_BUCKETS: &[f64] = &[ - 30.0, // 0.5 - 60.0, // 1 - 120.0, // 2 - 180.0, // 3 - 240.0, // 4 - 300.0, // 5 - 360.0, // 6 - 420.0, // 7 - 480.0, // 8 - 540.0, // 9 - 600.0, // 10 - 660.0, // 11 - 720.0, // 12 - 780.0, // 13 - 840.0, // 14 - 900.0, // 15 - 1200.0, // 20 - 1800.0, // 30 - 2400.0, // 40 - 3000.0, // 50 - 3600.0, // 60 + 5.0, // 5s + 10.0, // 10s + 15.0, // 15s + 20.0, // 20s + 25.0, // 25s + 30.0, // 30s + 45.0, // 45s + 60.0, // 1 min + 90.0, // 1.5 min + 120.0, // 2 min + 150.0, // 2.5 min + 180.0, // 3 min + 210.0, // 3.5 min + 240.0, // 4 min + 270.0, // 4.5 min + 300.0, // 5 min + 420.0, // 7 min + 600.0, // 10 min + 900.0, // 15 min + 1200.0, // 20 min + 1800.0, // 30 min + 3600.0, // 60 min ]; #[derive(Debug)] From d2e6be371250d0bf6de0009778c060c61466bb67 Mon Sep 17 00:00:00 2001 From: Denis Cornehl Date: Sat, 14 Feb 2026 06:26:31 +0100 Subject: [PATCH 2/2] add build-result (success/fail/error) to build-time metric --- crates/bin/docs_rs_builder/src/build_queue.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/crates/bin/docs_rs_builder/src/build_queue.rs b/crates/bin/docs_rs_builder/src/build_queue.rs index 4c7e46397..9ad611e0c 100644 --- a/crates/bin/docs_rs_builder/src/build_queue.rs +++ b/crates/bin/docs_rs_builder/src/build_queue.rs @@ -6,6 +6,7 @@ use docs_rs_context::Context; use docs_rs_fastly::CdnBehaviour as _; use docs_rs_logging::BUILD_PACKAGE_TRANSACTION_NAME; use docs_rs_utils::{Handle, retry}; +use opentelemetry::KeyValue; use std::time::Instant; use tracing::{error, info_span}; @@ -25,7 +26,22 @@ fn process_next_crate( let instant = Instant::now(); let res = f(to_process); let elapsed = instant.elapsed().as_secs_f64(); - builder_metrics.build_time.record(elapsed, &[]); + builder_metrics.build_time.record( + elapsed, + &[KeyValue::new( + "result", + match &res { + Ok(summary) => { + if summary.successful { + "success" + } else { + "failed" + } + } + Err(_) => "error", + }, + )], + ); res };