Skip to content

Commit

Permalink
HAR convert script
Browse files Browse the repository at this point in the history
  • Loading branch information
samthor committed Dec 29, 2015
1 parent 0681894 commit 8ed6eff
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions utils/convert-har.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/usr/bin/env python

"""Converts from Chrome's HAR log format to a shortened TSV.
Used for determining services hit during Santa requests. Reads the
x-google-service response header.
Usage:
./convert-har.py < src.json > out.tsv
"""

import sys
import json
import time
import datetime

data = json.loads(sys.stdin.read())

entries = data['log']['entries']

def responseHeader(e, name):
for header in e['response']['headers']:
if header['name'].lower() == name.lower():
return header['value']
return ''

startTime = None # store so delta from first request can be printed

for e in entries:
st = time.strptime(e['startedDateTime'], '%Y-%m-%dT%H:%M:%S.%fZ')
now = time.mktime(st)

if startTime is None:
startTime = now

now = int(now - startTime)
delta = datetime.timedelta(seconds=now)

parts = [e['startedDateTime'], delta, e['request']['url'], responseHeader(e, 'x-google-service'), 1]
print('\t'.join([str(p) for p in parts]))

0 comments on commit 8ed6eff

Please sign in to comment.