Есть два типа событий:
Время происхождения события, нужно найти разницы между временами таких событий.
Событие чьё начало и конец залоггированны - нужно найти времена которые заняло событие.
На колене, я наговнякал утилиту на пайтоне:
import datetime
def from_string(string):
parts = string.split(".")
date_time = parts[0]
uss = parts[1]
stamp = datetime.datetime.strptime(date_time, "%Y%m%d-%H:%M:%S")
stamp += datetime.timedelta(microseconds=int(uss))
return stamp
def delta_us(lesser, greater):
delta = greater - lesser
return delta.microseconds
def deltas(stamps, pair=False):
lhs = None
for s in stamps:
if lhs is None:
lhs = s
continue
delta = delta_us(lhs, s)
yield delta
if pair:
lhs = None
else:
lhs = s
if __name__ == "__main__":
import argparse
import sys
parser = argparse.ArgumentParser(description='Converts list of timestamps'
' to delays in us')
parser.add_argument('--pair', '-p', action='store_true',
help='Group stamps by pair')
args = parser.parse_args()
stamps = []
for l in sys.stdin:
stamps.append(from_string(l))
for d in deltas(stamps, args.pair):
print (d)
Но может есть какое то годное универсальное средство?