@@ -52,13 +52,22 @@ fn histo_view(
5252}
5353
5454pub ( super ) fn augment_meter_provider_with_defaults (
55- mpb : MeterProviderBuilder ,
55+ mut mpb : MeterProviderBuilder ,
5656 global_tags : & HashMap < String , String > ,
5757 use_seconds : bool ,
5858 bucket_overrides : HistogramBucketOverrides ,
5959) -> opentelemetry:: metrics:: Result < MeterProviderBuilder > {
60- // Some histograms are actually gauges, but we have to use histograms otherwise they forget
61- // their value between collections since we don't use callbacks.
60+ for ( name, buckets) in bucket_overrides. overrides {
61+ mpb = mpb. with_view ( new_view (
62+ Instrument :: new ( ) . name ( format ! ( "*{name}" ) ) ,
63+ opentelemetry_sdk:: metrics:: Stream :: new ( ) . aggregation (
64+ Aggregation :: ExplicitBucketHistogram {
65+ boundaries : buckets,
66+ record_min_max : true ,
67+ } ,
68+ ) ,
69+ ) ?)
70+ }
6271 let mut mpb = mpb
6372 . with_view ( histo_view (
6473 WORKFLOW_E2E_LATENCY_HISTOGRAM_NAME ,
@@ -84,17 +93,6 @@ pub(super) fn augment_meter_provider_with_defaults(
8493 ACTIVITY_EXEC_LATENCY_HISTOGRAM_NAME ,
8594 use_seconds,
8695 ) ?) ;
87- for ( name, buckets) in bucket_overrides. overrides {
88- mpb = mpb. with_view ( new_view (
89- Instrument :: new ( ) . name ( format ! ( "*{name}" ) ) ,
90- opentelemetry_sdk:: metrics:: Stream :: new ( ) . aggregation (
91- Aggregation :: ExplicitBucketHistogram {
92- boundaries : buckets,
93- record_min_max : true ,
94- } ,
95- ) ,
96- ) ?)
97- }
9896 // Fallback default
9997 mpb = mpb. with_view ( new_view (
10098 {
0 commit comments