Skip to content

Commit 938582a

Browse files
authored
ref(instr): Tag rate limiting time with limiter type (#5356)
1 parent d69fd6f commit 938582a

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

relay-server/src/services/processor.rs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3014,12 +3014,11 @@ impl RateLimiter {
30143014
}
30153015

30163016
let scoping = managed_envelope.scoping();
3017-
let (enforcement, rate_limits) =
3018-
metric!(timer(RelayTimers::EventProcessingRateLimiting), {
3019-
envelope_limiter
3020-
.compute(managed_envelope.envelope_mut(), &scoping)
3021-
.await
3022-
})?;
3017+
let (enforcement, rate_limits) = metric!(timer(RelayTimers::EventProcessingRateLimiting), type = self.name(), {
3018+
envelope_limiter
3019+
.compute(managed_envelope.envelope_mut(), &scoping)
3020+
.await
3021+
})?;
30233022
let event_active = enforcement.is_event_active();
30243023

30253024
// Use the same rate limits as used for the envelope on the metrics.
@@ -3036,6 +3035,14 @@ impl RateLimiter {
30363035

30373036
Ok(EnforcementResult::new(event, rate_limits))
30383037
}
3038+
3039+
fn name(&self) -> &'static str {
3040+
match self {
3041+
Self::Cached => "cached",
3042+
#[cfg(feature = "processing")]
3043+
Self::Consistent(_) => "consistent",
3044+
}
3045+
}
30393046
}
30403047

30413048
pub fn encode_payload(body: &Bytes, http_encoding: HttpEncoding) -> Result<Bytes, std::io::Error> {

relay-server/src/statsd.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,9 @@ pub enum RelayTimers {
386386
/// Not all events reach this point. After an event is rate limited for the first time, the rate
387387
/// limit is cached. Events coming in after this will be discarded earlier in the request queue
388388
/// and do not reach the processing queue.
389+
///
390+
/// This metric is tagged with:
391+
/// - `type`: The type of limiter executed, `cached` or `consistent`.
389392
EventProcessingRateLimiting,
390393
/// Time in milliseconds spent in data scrubbing for the current event. Data scrubbing happens
391394
/// last before serializing the event back to JSON.

0 commit comments

Comments
 (0)