summaryrefslogtreecommitdiff
path: root/chromium/third_party/catapult/tracing/tracing/mre/json_output_formatter.py
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/catapult/tracing/tracing/mre/json_output_formatter.py')
-rw-r--r--chromium/third_party/catapult/tracing/tracing/mre/json_output_formatter.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/chromium/third_party/catapult/tracing/tracing/mre/json_output_formatter.py b/chromium/third_party/catapult/tracing/tracing/mre/json_output_formatter.py
new file mode 100644
index 00000000000..aafc8838de3
--- /dev/null
+++ b/chromium/third_party/catapult/tracing/tracing/mre/json_output_formatter.py
@@ -0,0 +1,20 @@
+# Copyright (c) 2015 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.
+import json
+
+from tracing.mre import output_formatter
+
+
+class JSONOutputFormatter(output_formatter.OutputFormatter):
+
+ def __init__(self, output_file):
+ # TODO(nduca): Resolve output_file here vs output_stream in base class.
+ super(JSONOutputFormatter, self).__init__(output_file)
+ self.output_file = output_file
+
+ def Format(self, result_list):
+ d = [result.AsDict() for result in result_list]
+ json.dump(d, self.output_file, indent=2)
+ if hasattr(self.output_file, 'flush'):
+ self.output_file.flush()