statsig_rust/event_logging/
event_logger_constants.rs

1const TICK_INTERVAL_MS: u64 = 1000;
2const MIN_FLUSH_INTERVAL_MS: u64 = 1000;
3const MAX_LOG_EVENT_RETRIES: u8 = 5;
4const MAX_FLUSH_INTERVAL_MS: u64 = 60_000;
5
6pub struct EventLoggerConstants;
7
8impl EventLoggerConstants {
9    pub fn tick_interval_ms() -> u64 {
10        let env_var = std::env::var("STATSIG_TEST_OVERRIDE_TICK_INTERVAL_MS")
11            .ok()
12            .unwrap_or_default();
13
14        if env_var.is_empty() {
15            return TICK_INTERVAL_MS;
16        }
17
18        env_var.parse::<u64>().unwrap_or(TICK_INTERVAL_MS)
19    }
20
21    pub fn min_flush_interval_ms() -> u64 {
22        let env_var = std::env::var("STATSIG_TEST_OVERRIDE_MIN_FLUSH_INTERVAL_MS")
23            .ok()
24            .unwrap_or_default();
25
26        if env_var.is_empty() {
27            return MIN_FLUSH_INTERVAL_MS;
28        }
29
30        env_var.parse::<u64>().unwrap_or(MIN_FLUSH_INTERVAL_MS)
31    }
32
33    pub fn max_flush_interval_ms() -> u64 {
34        let env_var = std::env::var("STATSIG_TEST_OVERRIDE_MAX_FLUSH_INTERVAL_MS")
35            .ok()
36            .unwrap_or_default();
37
38        if env_var.is_empty() {
39            return MAX_FLUSH_INTERVAL_MS;
40        }
41
42        env_var.parse::<u64>().unwrap_or(MAX_FLUSH_INTERVAL_MS)
43    }
44
45    pub fn max_log_event_retries() -> u8 {
46        let env_var = std::env::var("STATSIG_TEST_OVERRIDE_MAX_LOG_EVENT_RETRIES")
47            .ok()
48            .unwrap_or_default();
49
50        if env_var.is_empty() {
51            return MAX_LOG_EVENT_RETRIES;
52        }
53
54        env_var.parse::<u8>().unwrap_or(MAX_LOG_EVENT_RETRIES)
55    }
56}