Chromium Code Reviews| Index: tools/gc_nvp_common.py |
| diff --git a/tools/gc_nvp_common.py b/tools/gc_nvp_common.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d0c9228085de57b47e1c2e53c0c5c69f522ba489 |
| --- /dev/null |
| +++ b/tools/gc_nvp_common.py |
| @@ -0,0 +1,32 @@ |
| +# Copyright 2015 the V8 project authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +# |
| +# Common code for parsing gc-nvp output. |
|
Hannes Payer (out of office)
2015/06/18 20:57:56
--trace-gc-nvp
rmcilroy
2015/06/19 09:24:23
Done.
|
| +# |
| + |
| + |
| +from __future__ import with_statement |
| +import re |
| + |
| +def split_nvp(s): |
| + t = {} |
| + for (name, value) in re.findall(r"(\w+)=([-\w]+)", s): |
| + try: |
| + t[name] = float(value) |
| + except ValueError: |
| + t[name] = value |
| + |
| + return t |
| + |
| + |
| +def parse_gc_trace(input): |
| + trace = [] |
| + with open(input) as f: |
| + for line in f: |
| + info = split_nvp(line) |
| + if info and 'pause' in info and info['pause'] > 0: |
| + info['i'] = len(trace) |
| + trace.append(info) |
| + return trace |