diff --git a/CHANGELOG.md b/CHANGELOG.md index 42eda6b7e7..0d4b84fa46 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ **Internal**: - Spread out metric aggregation over the aggregation window to avoid concentrated waves of metrics requests to the upstream every 10 seconds. Relay now applies jitter to `initial_delay` to spread out requests more evenly over time. ([#1185](https://github.com/getsentry/relay/pull/1185)) +- Add new statsd metrics for bucketing efficiency ([#1199](https://github.com/getsentry/relay/pull/1199), [#1192](https://github.com/getsentry/relay/pull/1192)) ## 22.2.0 diff --git a/relay-metrics/src/aggregation.rs b/relay-metrics/src/aggregation.rs index a34a7af662..9a89c6e94b 100644 --- a/relay-metrics/src/aggregation.rs +++ b/relay-metrics/src/aggregation.rs @@ -1078,7 +1078,6 @@ impl Aggregator { relay_statsd::metric!( counter(MetricCounters::InsertMetric) += 1, metric_type = metric.value.ty().as_str(), - metric_name = &metric.name ); let key = BucketKey { project_key, @@ -1178,10 +1177,10 @@ impl Aggregator { ); total_bucket_count += bucket_count; - let mut sizes: Vec = Vec::new(); - project_buckets + let size_statsd_metrics: Vec<_> = project_buckets .iter() - .for_each(|bucket| sizes.push(bucket.value.relative_size())); + .map(|bucket| (bucket.value.ty(), bucket.value.relative_size())) + .collect(); self.receiver .send(FlushBuckets::new(project_key, project_buckets)) @@ -1205,11 +1204,13 @@ impl Aggregator { ); } } else { - sizes.iter().for_each(|rel_size| { + for (bucket_type, bucket_relative_size) in size_statsd_metrics { relay_statsd::metric!( - histogram(MetricHistograms::BucketRelativeSize) = *rel_size as u64 + histogram(MetricHistograms::BucketRelativeSize) = + bucket_relative_size as u64, + metric_type = bucket_type.as_str(), ); - }); + } } fut::ok(()) })