blob: d0f048259cebf02e1a0cc65c86019c589e23ef80 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
###############################################################################
# Description
###############################################################################
# Display progress information:
# - Total number of bytes in trace files
# - Total number of event records in trace files
# - Message for every 1,000 records processed
# - Total records processed
# - Total elapsed time
###############################################################################
# Imports
###############################################################################
import time
import sys
import os
###############################################################################
# Public functions
###############################################################################
def progress(stream):
start_time = 0
count = 0
for record in stream:
if record.record_type=="event":
count += 1
if (count % 1000) == 0 and count > 0:
sys.stderr.write(("Parsed %d event records\n") % (count))
if record.record_type=="meta" and record.type_name=="trace_files":
bytes = 0
for file in record.files:
bytes += int(os.path.getsize(file))
sys.stderr.write(("Total bytes : %d\n") % (bytes))
# 192 bits per event record, 8 bits per byte
sys.stderr.write(("Total records: %d\n") % (bytes * 8 / 192))
start_time = time.time()
yield record
sys.stderr.write(("Total records processed: %d\n") % (count))
sys.stderr.write(("Time elapsed: %ds\n") % (time.time() - start_time))
|