next_web_ai/observation/
simple_event.rs1use 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}