relay_cardinality/
statsd.rs1use relay_statsd::TimerMetric;
2#[cfg(feature = "redis")]
3use relay_statsd::{CounterMetric, HistogramMetric, SetMetric};
4
5#[cfg(feature = "redis")]
7pub enum CardinalityLimiterCounters {
8 #[cfg(feature = "redis")]
14 Accepted,
15 #[cfg(feature = "redis")]
21 Rejected,
22 #[cfg(feature = "redis")]
28 RedisCacheHit,
29 #[cfg(feature = "redis")]
35 RedisCacheMiss,
36 #[cfg(feature = "redis")]
38 RedisCacheVacuum,
39}
40
41#[cfg(feature = "redis")]
42impl CounterMetric for CardinalityLimiterCounters {
43 fn name(&self) -> &'static str {
44 match *self {
45 #[cfg(feature = "redis")]
46 Self::Accepted => "cardinality.limiter.accepted",
47 #[cfg(feature = "redis")]
48 Self::Rejected => "cardinality.limiter.rejected",
49 #[cfg(feature = "redis")]
50 Self::RedisCacheHit => "cardinality.limiter.redis.cache_hit",
51 #[cfg(feature = "redis")]
52 Self::RedisCacheMiss => "cardinality.limiter.redis.cache_miss",
53 #[cfg(feature = "redis")]
54 Self::RedisCacheVacuum => "cardinality.limiter.redis.cache_vacuum",
55 }
56 }
57}
58
59pub enum CardinalityLimiterTimers {
60 CardinalityLimiter,
62 #[cfg(feature = "redis")]
68 Redis,
69 #[cfg(feature = "redis")]
72 CacheVacuum,
73}
74
75impl TimerMetric for CardinalityLimiterTimers {
76 fn name(&self) -> &'static str {
77 match self {
78 CardinalityLimiterTimers::CardinalityLimiter => "cardinality.limiter.duration",
79 #[cfg(feature = "redis")]
80 CardinalityLimiterTimers::Redis => "cardinality.limiter.redis.duration",
81 #[cfg(feature = "redis")]
82 CardinalityLimiterTimers::CacheVacuum => {
83 "cardinality.limiter.redis.cache_vacuum.duration"
84 }
85 }
86 }
87}
88
89#[cfg(feature = "redis")]
90pub enum CardinalityLimiterHistograms {
91 #[cfg(feature = "redis")]
96 RedisCheckHashes,
97 #[cfg(feature = "redis")]
102 RedisSetCardinality,
103}
104
105#[cfg(feature = "redis")]
106impl HistogramMetric for CardinalityLimiterHistograms {
107 fn name(&self) -> &'static str {
108 match *self {
109 #[cfg(feature = "redis")]
110 Self::RedisCheckHashes => "cardinality.limiter.redis.check_hashes",
111 #[cfg(feature = "redis")]
112 Self::RedisSetCardinality => "cardinality.limiter.redis.set_cardinality",
113 }
114 }
115}
116
117#[cfg(feature = "redis")]
118pub enum CardinalityLimiterSets {
119 #[cfg(feature = "redis")]
126 Organizations,
127}
128
129#[cfg(feature = "redis")]
130impl SetMetric for CardinalityLimiterSets {
131 fn name(&self) -> &'static str {
132 match *self {
133 #[cfg(feature = "redis")]
134 Self::Organizations => "cardinality.limiter.organizations",
135 }
136 }
137}