MCPcopy
hub / github.com/stanford-oval/storm / EventLog

Class EventLog

knowledge_storm/logging_wrapper.py:10–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8
9
10class EventLog:
11 def __init__(self, event_name):
12 self.event_name = event_name
13 self.start_time = None
14 self.end_time = None
15 self.child_events = {}
16
17 def record_start_time(self):
18 self.start_time = datetime.now(
19 pytz.utc
20 ) # Store in UTC for consistent timezone conversion
21
22 def record_end_time(self):
23 self.end_time = datetime.now(
24 pytz.utc
25 ) # Store in UTC for consistent timezone conversion
26
27 def get_total_time(self):
28 if self.start_time and self.end_time:
29 return (self.end_time - self.start_time).total_seconds()
30 return 0
31
32 def get_start_time(self):
33 if self.start_time:
34 # Format to milliseconds
35 return self.start_time.astimezone(CALIFORNIA_TZ).strftime(
36 "%Y-%m-%d %H:%M:%S.%f"
37 )[:-3]
38 return None
39
40 def get_end_time(self):
41 if self.end_time:
42 # Format to milliseconds
43 return self.end_time.astimezone(CALIFORNIA_TZ).strftime(
44 "%Y-%m-%d %H:%M:%S.%f"
45 )[:-3]
46 return None
47
48 def add_child_event(self, child_event):
49 self.child_events[child_event.event_name] = child_event
50
51 def get_child_events(self):
52 return self.child_events
53
54
55class LoggingWrapper:

Callers 1

_event_startMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected