#! /usr/bin/python
"""Parses the actual memory usage from TCMalloc.

This goes through logs that have the actual allocated memory (not sampled) in
the logs. The output is of the form of:

time (in seconds from some base time), amount of memory allocated by the
application

"""

import argparse
from utils import compute_total_diff
from datetime import datetime

pretty_print = True

parser = argparse.ArgumentParser()
parser.add_argument('filename')
args = parser.parse_args()

my_file = open(args.filename)
output_file = open('raw_memory_data.csv', 'a')

base_time = datetime(2014, 6, 11, 0, 0)
prev_line = ''
half_entry = (None, None)

for line in my_file:
  if 'Output Heap Stats:' in line:
    total_diff = compute_total_diff(line, base_time)
    half_entry = (total_diff, None)
  if 'Bytes in use by application' in line:
    total_diff = half_entry[0]
    memory_used = int(line.strip().split()[1])
    half_entry = (None, None)
    output_file.write('{0},{1}\n'.format(total_diff, memory_used))
