avoigt1121
Clean up dead code, fix two bugs, remove unused abstractions
2386a1a
Raw
History Blame Contribute Delete
678 Bytes
"""
Monitoring utilities for tracking execution timing.
"""
from dataclasses import dataclass
__all__ = ["Timing"]
@dataclass
class Timing:
"""Timing information for a step or run."""
start_time: float
end_time: float | None = None
@property
def duration(self):
return None if self.end_time is None else self.end_time - self.start_time
def dict(self):
return {
"start_time": self.start_time,
"end_time": self.end_time,
"duration": self.duration,
}
def __repr__(self) -> str:
return f"Timing(start_time={self.start_time}, end_time={self.end_time}, duration={self.duration})"