From d261df5e9ee42daf7f48f07863067cd397db7410 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 23 Jun 2018 20:00:40 +0300 Subject: Add: script to exctract durtions of actions, build from build log --- timestamps | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 timestamps diff --git a/timestamps b/timestamps new file mode 100755 index 0000000..9c7b6fd --- /dev/null +++ b/timestamps @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 + + +import re +import sys + + +def getint(m, i): + return int(m.group(i)) + + +def parse_ts(ts): + m = re.match(r'(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)', ts) + assert m is not None + year = getint(m, 1) + month = getint(m, 2) + day = getint(m, 3) + hour = getint(m, 4) + minute = getint(m, 5) + second = getint(m, 6) + return hour * 3600 + minute * 60 + second + + +build_starts = re.compile(r'^Build starts at (?P.*)$') +build_ends = re.compile(r'^Build ends at (?P.*),') +action_starts = re.compile(r'^Action starts at (?P.*):$') +action_ends = re.compile(r'^Action ends at (?P.*),') +patterns = [ + build_starts, + build_ends, + action_starts, + action_ends, +] + +pairs = { + build_starts: build_ends, + build_ends: build_starts, + action_starts: action_ends, + action_ends: action_starts, +} + +started = { + build_starts: None, + action_starts: None, +} + +names = { + build_starts: 'Build', + action_starts: 'Action', +} + +durations = [] + +for line in sys.stdin: + for pat in patterns: + m = pat.match(line) + if m is None: + continue + ts = m.group('ts') + + if pat in started: + started[pat] = parse_ts(ts) + else: + ended = parse_ts(ts) + start_pat = pairs[pat] + print(names[start_pat], ended - started[start_pat]) + break -- cgit v1.2.1