next_web_ai/observation/
simple_event.rs

1use core::time;
2
3use crate::observation::observation::Event;
4
5pub struct SimpleEvent {
6    name: String,
7    contextual_name: String,
8    wall_time: u64,
9}
10
11impl SimpleEvent {
12    pub fn new<T>(name: T, contextual_name: T) -> Self
13    where
14        T: Into<String>,
15    {
16        Self {
17            name: name.into(),
18            contextual_name: contextual_name.into(),
19            wall_time: current_time_seconds(),
20        }
21    }
22}
23
24#[inline]
25pub fn current_time_seconds() -> u64 {
26    std::time::SystemTime::now()
27        .duration_since(std::time::UNIX_EPOCH)
28        .unwrap()
29        .as_millis() as u64
30}
31
32impl Event for SimpleEvent {
33    fn name(&self) -> &str {
34        self.name.as_str()
35    }
36}