CommonLibrary/Telemetry/
CaptureEvent.rs1use crate::Telemetry::{Client, DistinctId, IsAllowed};
7
8pub fn Fn(EventName:&str, Properties:Option<Vec<(&str, &str)>>) {
9 if !IsAllowed::PostHog() {
10 return;
11 }
12
13 let Some(C) = Client::CLIENT.get() else { return };
14
15 let TierStr = Client::TIER.get().map(|T| T.AsStr()).unwrap_or("common");
16
17 let mut Event = posthog_rs::Event::new(EventName, &DistinctId::Fn());
18
19 let _ = Event.insert_prop("$app", "fiddee");
20
21 let _ = Event.insert_prop("$app_version", "0.0.1");
22
23 let _ = Event.insert_prop("$build_mode", "debug");
24
25 let _ = Event.insert_prop("$component", TierStr);
26
27 let _ = Event.insert_prop("$tier", TierStr);
28
29 let _ = Event.insert_prop("$lib", "land-common-telemetry");
30
31 if let Some(Props) = Properties {
32 for (Key, Value) in Props {
33 let _ = Event.insert_prop(Key, Value);
34 }
35 }
36
37 let _ = C.capture(Event);
38}