Skip to content

Commit 4332efb

Browse files
committed
ref(spans): Always emit a usage metric
1 parent aa11124 commit 4332efb

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## Unreleased
44

5+
**Features**:
6+
7+
- Always emit a span usage metric, independent of span feature flags. ([#4976](https://github.com/getsentry/relay/pull/4976))
8+
59
**Bug Fixes**:
610

711
- Normalize OS and Browser names in contexts when missing a version. ([#4957](https://github.com/getsentry/relay/pull/4957))

relay-dynamic-config/src/defaults.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ pub fn add_span_metrics(project_config: &mut ProjectConfig) {
1414

1515
let features = &project_config.features;
1616

17-
if !config.is_supported() || config._span_metrics_extended || !features.produces_spans() {
17+
if !config.is_supported() || config._span_metrics_extended {
1818
return;
1919
}
20+
config._span_metrics_extended = true;
2021

2122
// If there are any spans in the system, extract the usage metric for them:
2223
config.metrics.push(MetricSpec {
@@ -27,6 +28,10 @@ pub fn add_span_metrics(project_config: &mut ProjectConfig) {
2728
tags: vec![],
2829
});
2930

31+
if !features.produces_spans() {
32+
return;
33+
}
34+
3035
config
3136
.global_groups
3237
.entry(GroupKey::SpanMetricsCommon)
@@ -38,7 +43,6 @@ pub fn add_span_metrics(project_config: &mut ProjectConfig) {
3843
.or_default()
3944
.is_enabled = true;
4045

41-
config._span_metrics_extended = true;
4246
if config.version == 0 {
4347
config.version = MetricExtractionConfig::MAX_SUPPORTED_VERSION;
4448
}

relay-server/src/metrics_extraction/event.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1276,7 +1276,14 @@ mod tests {
12761276
#[test]
12771277
fn no_feature_flags_enabled() {
12781278
let metrics = extract_span_metrics([]);
1279-
assert!(metrics.project_metrics.is_empty());
1279+
1280+
assert_eq!(metrics.project_metrics.len(), 75);
1281+
assert!(
1282+
metrics
1283+
.project_metrics
1284+
.into_iter()
1285+
.all(|x| &x.name == "c:spans/usage@none")
1286+
);
12801287

12811288
assert_eq!(metrics.sampling_metrics.len(), 1);
12821289
assert_eq!(

0 commit comments

Comments
 (0)