avoigt1121
Clean up dead code, fix two bugs, remove unused abstractions
837f20e
Raw
History Blame
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})"