parse_stats_trace.py 1.0 KB

123456789101112131415161718192021222324252627
  1. #!/usr/bin/env python
  2. import argparse
  3. import numpy as np
  4. def read_stats_trace(stats_text_file):
  5. allocated_regexp = r"dmmlib - ms all (\d+)"
  6. allocated = np.fromregex(stats_text_file.name, allocated_regexp,
  7. [('num', np.int64)])
  8. requested_regexp = r"dmmlib - ms req (\d+)"
  9. requested = np.fromregex(stats_text_file.name, requested_regexp,
  10. [('num', np.int64)])
  11. if allocated.size != requested.size:
  12. print "Warning: Allocated and requested arrays have different sizes"
  13. return (allocated['num'], requested['num'])
  14. if __name__=='__main__':
  15. parser = argparse.ArgumentParser(
  16. description="parse dmmlib's memory traces")
  17. parser.add_argument("memory_trace", type=argparse.FileType('r'),
  18. help="dmmlib memory trace file")
  19. args = parser.parse_args()
  20. (allocated, requested) = read_stats_trace(args.memory_trace)
  21. np.savez_compressed(args.memory_trace.name,
  22. allocated=allocated, requested=requested)
  23. args.memory_trace.close()