我希望统计每天PC的正常运行时间。
因此,我想绘制一个条形图以显示每天的正常运行时间(可能每天启动多次)。
条形图表示总共24小时,如果我的PC在某个时间范围内工作,我希望该条形图的相应区域用red
涂成white
,反之亦然。
现在,我使用类UptimeRangeInDay
来表示一个时间范围,一天中可能会有多个UptimeRangeInDay
对象,它们具有相同的self.day
但不同的self.start_point and end_point
。
from dataclasses import dataclass
@dataclass
class UptimeRangeInDay:
btime: int
uptime: float
def __post_init__(self):
bdate = datetime.datetime.fromtimestamp(self.btime)
self.day = datetime.datetime(bdate.year, bdate.month, bdate.day)
self.start_point = (self.btime - self.day.timestamp()) / 86400
self.end_point = self.start_point + self.uptime / 86400
如果我每天计算总的正常运行时间,然后绘制堆积的条形图,将会更加简单。
但是我希望图表能够显示PC是以小时还是分钟为单位运行。
答案 0 :(得分:0)
最后,我计算每天的总正常运行时间和停机时间,并标记最大的uptime + downtime
。填补前几天多余的服务器正常运行时间和停机时间(花费的时间为0),使其中的uptime + downtime
等于最大,然后进行规划。