• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import time
2
3from .MetricBase import MetricBase
4
5
6class CPUMetric(MetricBase):
7    def __init__(self, name: str):
8        self.name = name
9        self.start = None
10        self.end = None
11
12    def record_start(self):
13        self.start = time.time()
14
15    def record_end(self):
16        self.end = time.time()
17
18    def elapsed_time(self):
19        if self.start is None:
20            raise RuntimeError("start is None")
21        if self.end is None:
22            raise RuntimeError("end is None")
23        return self.end - self.start
24