#!/usr/bin/env python3 from sys import argv from re import compile, search records = [] with open(argv[1], 'r') as f: record = [] for line in f.readlines(): l = line.strip() if len(l) == 0: records.append(record) record = [] else: record.append(l) # Timestamp format: 120.239372 expr = compile('\d+\.\d{6}') prev = -1 for record in records: for bt in record[1:]: if bt.find('snd_pcm_period_elapsed') > 0: matches = search(expr, record[0]) tstamp = float(matches.group(0)) if prev > 0: gap = tstamp - prev if gap < 0.02 or gap > 0.03: res = 'unexpected' else: res = 'expected' print('{:0.4f} {:0.8f} {}'.format(tstamp, gap, res)) prev = tstamp