| #!/usr/bin/python2 |
| """Parses the total amount of sampled memory from log files. |
| |
| This file outputs the total amount of memory that has been sampled by tcmalloc. |
| The output is of the format: |
| |
| time in seconds from a base time, amount of memory that has been sampled |
| |
| """ |
| |
| import argparse |
| from cros_utils import compute_total_diff |
| from datetime import datetime |
| |
| parser = argparse.ArgumentParser() |
| parser.add_argument('filename') |
| args = parser.parse_args() |
| |
| my_file = open(args.filename) |
| output_file = open('memory_data.csv', 'a') |
| |
| base_time = datetime(2014, 6, 11, 0, 0) |
| prev_line = '' |
| half_entry = (None, None) |
| |
| for line in my_file: |
| if 'heap profile: ' not in line: |
| continue |
| memory_used = line.strip().split(':')[-1].strip().split(']')[0].strip() |
| total_diff = compute_total_diff(line, base_time) |
| output_file.write('{0},{1}\n'.format(int(total_diff), memory_used)) |