From ecfafa87165759f1d8bf1cfae017ef374e8d1c1e Mon Sep 17 00:00:00 2001 From: David Herberth Date: Tue, 22 Jul 2025 14:21:39 +0200 Subject: [PATCH] ref(ratelimits): Count a transaction also as a span --- relay-server/src/envelope/item.rs | 5 ++++- relay-server/src/services/projects/cache/project.rs | 4 +--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/relay-server/src/envelope/item.rs b/relay-server/src/envelope/item.rs index a4a87b50e1d..9e05bf508a0 100644 --- a/relay-server/src/envelope/item.rs +++ b/relay-server/src/envelope/item.rs @@ -106,7 +106,10 @@ impl Item { match self.ty() { ItemType::Event => smallvec![(DataCategory::Error, item_count)], - ItemType::Transaction => smallvec![(DataCategory::Transaction, item_count)], + ItemType::Transaction => smallvec![ + (DataCategory::Transaction, item_count), + (DataCategory::Span, item_count) + ], ItemType::Security | ItemType::RawSecurity => { smallvec![(DataCategory::Security, item_count)] } diff --git a/relay-server/src/services/projects/cache/project.rs b/relay-server/src/services/projects/cache/project.rs index 4c3c3eb3888..aea93638eb9 100644 --- a/relay-server/src/services/projects/cache/project.rs +++ b/relay-server/src/services/projects/cache/project.rs @@ -178,9 +178,7 @@ fn count_nested_spans(envelope: &ManagedEnvelope) -> usize { .items() .find(|item| *item.ty() == ItemType::Transaction && !item.spans_extracted()) .and_then(|item| serde_json::from_slice::(&item.payload()).ok()) - // We do + 1, since we count the transaction itself because it will be extracted - // as a span and counted during the slow path of rate limiting. - .map_or(0, |event| event.spans.0 + 1) + .map_or(0, |event| event.spans.0) } #[cfg(test)]