| Index: scripts/slave/telemetry_utils.py
|
| diff --git a/scripts/slave/telemetry_utils.py b/scripts/slave/telemetry_utils.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..79fb51b0698d00929c0296f339755347b8b1869e
|
| --- /dev/null
|
| +++ b/scripts/slave/telemetry_utils.py
|
| @@ -0,0 +1,71 @@
|
| +#! /usr/bin/env python
|
| +# Copyright (c) 2014 The Chromium Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +# pylint: disable=R0201
|
| +
|
| +"""Log parsing for telemetry tests."""
|
| +
|
| +import json
|
| +import logging
|
| +import os
|
| +import tempfile
|
| +
|
| +
|
| +class TelemetryResultsTracker(object):
|
| +
|
| + def __init__(self):
|
| + self._chart_filename = None
|
| + self._ref_chart_filename = None
|
| +
|
| + def GetArguments(self):
|
| + if not self._chart_filename:
|
| + (handle, self._chart_filename) = tempfile.mkstemp()
|
| + os.close(handle)
|
| + if not self._ref_chart_filename:
|
| + (handle, self._ref_chart_filename) = tempfile.mkstemp()
|
| + os.close(handle)
|
| + return (['--chart-output-filename', self._chart_filename,
|
| + '--ref-output-filename', self._ref_chart_filename])
|
| +
|
| + def _GetFileJson(self, filename):
|
| + try:
|
| + return json.loads(open(filename).read())
|
| + except (IOError, ValueError):
|
| + logging.error('Error reading telemetry results from %s', filename)
|
| + return None
|
| +
|
| + def ChartJson(self):
|
| + return self._GetFileJson(self._chart_filename)
|
| +
|
| + def RefJson(self):
|
| + return self._GetFileJson(self._ref_chart_filename)
|
| +
|
| + def Cleanup(self):
|
| + try:
|
| + os.remove(self._chart_filename)
|
| + except OSError:
|
| + pass
|
| + try:
|
| + os.remove(self._ref_chart_filename)
|
| + except OSError:
|
| + pass
|
| +
|
| + def IsChartJson(self):
|
| + """This is the new telemetry --chartjson output format."""
|
| + return True
|
| +
|
| + def ProcessLine(self, line):
|
| + pass
|
| +
|
| + def FailedTests(self):
|
| + return []
|
| +
|
| + def SuppressionHashes(self): # pylint: disable=R0201
|
| + return []
|
| +
|
| + def ParsingErrors(self): # pylint: disable=R0201
|
| + return []
|
| +
|
| + def PerformanceSummary(self):
|
| + return ''
|
|
|