Chromium Code Reviews| Index: tracing/tracing/metrics/compare_samples.py |
| diff --git a/tracing/tracing/metrics/compare_samples.py b/tracing/tracing/metrics/compare_samples.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..75d03b027bade7f7b2efe3b1b583e176f45eca42 |
| --- /dev/null |
| +++ b/tracing/tracing/metrics/compare_samples.py |
| @@ -0,0 +1,50 @@ |
| +#!/usr/bin/env python |
| +# Copyright (c) 2015 The Chromium Authors. All rights reserved. |
|
eakuefner
2016/07/21 19:35:34
nit: no c
RobertoCN
2016/09/02 21:19:30
Done.
|
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +import argparse |
| +import sys |
| +import tempfile |
| + |
| +import tracing_project |
| +import vinn |
| + |
| + |
| +def CompareSamples(sample_a, sample_b, metric, method='compareCharts'): |
| + project = tracing_project.TracingProject() |
| + temp_out = tempfile.TemporaryFile() |
| + |
| + cmd = """ |
| + HTMLImportsLoader.loadHTML('/tracing/metrics/compare_samples.html'); |
| + var results = tr.metrics.BisectComparison.%s('%s', '%s', '%s'); |
| + console.log(JSON.stringify(results)); |
| + """ % (method, sample_a, sample_b, metric) |
| + try: |
| + res = vinn.RunJsString( |
| + cmd, source_paths=list(project.source_paths), |
| + stdout=temp_out) |
| + except: |
| + temp_out.seek(0) |
| + print temp_out.read() # Stack trace gets dumped here. |
| + raise |
| + temp_out.seek(0) |
| + return res.returncode, temp_out.read() |
| + |
| + |
| +def Main(argv): |
| + parser = argparse.ArgumentParser( |
| + description='Compare samples.') |
| + parser.add_argument('sample_a', type=str, |
| + help='comma-separated list of paths to valuesets from ' |
| + 'sample a') |
|
eakuefner
2016/07/21 19:35:34
nit: should be indented with the first ' above
RobertoCN
2016/09/02 21:19:30
Done.
|
| + parser.add_argument('sample_b', type=str, |
| + help='comma-separated list of paths to valuesets from ' |
| + 'sample b') |
| + parser.add_argument('metric', type=str, |
| + help='name of the metric to compare') |
| + args = parser.parse_args(argv[1:]) |
| + |
| + error_code, output = CompareSamples(args.sample_a, args.sample_b, args.metric) |
| + print output |
| + sys.exit(error_code) |