From 48f79758ea1a4a2abac38566e411e8d0a6f66ac5 Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Wed, 25 Jan 2017 10:12:47 +0200 Subject: scripts/buildstats-diff: simplify timestamp handling Simply use floats instead of datetime and timedelta objects for handling timestamps. (From OE-Core rev: d97c844f388bd4c52248fe597d5985ef20d5a96d) Signed-off-by: Markus Lehtonen Signed-off-by: Richard Purdie --- scripts/buildstats-diff | 34 +++------------------------------- 1 file changed, 3 insertions(+), 31 deletions(-) (limited to 'scripts/buildstats-diff') diff --git a/scripts/buildstats-diff b/scripts/buildstats-diff index f918a6d5e0..5cea184eb2 100755 --- a/scripts/buildstats-diff +++ b/scripts/buildstats-diff @@ -22,7 +22,6 @@ import os import re import sys from collections import namedtuple -from datetime import datetime, timedelta, tzinfo from operator import attrgetter # Setup logging @@ -35,38 +34,11 @@ class ScriptError(Exception): pass -class TimeZone(tzinfo): - """Simple fixed-offset tzinfo""" - def __init__(self, seconds, name): - self._offset = timedelta(seconds=seconds) - self._name = name - - def utcoffset(self, dt): - return self._offset - - def tzname(self, dt): - return self._name - - def dst(self, dt): - return None - -TIMEZONES = {'UTC': TimeZone(0, 'UTC'), - 'EET': TimeZone(7200, 'EET'), - 'EEST': TimeZone(10800, 'EEST')} - taskdiff_fields = ('pkg', 'pkg_op', 'task', 'task_op', 'value1', 'value2', 'absdiff', 'reldiff') TaskDiff = namedtuple('TaskDiff', ' '.join(taskdiff_fields)) -def to_datetime_obj(obj): - """Helper for getting timestamps in datetime format""" - if isinstance(obj, datetime): - return obj - else: - return datetime.utcfromtimestamp(obj).replace(tzinfo=TIMEZONES['UTC']) - - class BSTask(dict): def __init__(self, *args, **kwargs): self['start_time'] = None @@ -86,7 +58,7 @@ class BSTask(dict): @property def walltime(self): """Elapsed wall clock time""" - return self['elapsed_time'].total_seconds() + return self['elapsed_time'] @property def read_bytes(self): @@ -118,10 +90,10 @@ def read_buildstats_file(buildstat_file): key, val = line.split(':', 1) val = val.strip() if key == 'Started': - start_time = to_datetime_obj(float(val)) + start_time = float(val) bs_task['start_time'] = start_time elif key == 'Ended': - end_time = to_datetime_obj(float(val)) + end_time = float(val) elif key.startswith('IO '): split = key.split() bs_task['iostat'][split[1]] = int(val) -- cgit v1.2.3-54-g00ecf