aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/profiling/microbenchmarks
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jtattermusch@google.com>2018-04-11 21:58:55 +0200
committerGravatar Jan Tattermusch <jtattermusch@google.com>2018-04-11 21:59:09 +0200
commit746479ad804170970056f09ef4c6631d44d67b14 (patch)
treeba1ca3bc3dc3f7a21de4740c8a7ac08548e6cbf7 /tools/profiling/microbenchmarks
parentc2233789bbbd9dd94540de5112a267ed5fdf17e1 (diff)
fix performance profile jobs
Diffstat (limited to 'tools/profiling/microbenchmarks')
-rwxr-xr-xtools/profiling/microbenchmarks/bm2bq.py8
-rw-r--r--tools/profiling/microbenchmarks/bm_json.py8
2 files changed, 9 insertions, 7 deletions
diff --git a/tools/profiling/microbenchmarks/bm2bq.py b/tools/profiling/microbenchmarks/bm2bq.py
index e084e28dcf..c5307c52bd 100755
--- a/tools/profiling/microbenchmarks/bm2bq.py
+++ b/tools/profiling/microbenchmarks/bm2bq.py
@@ -1,9 +1,5 @@
#!/usr/bin/env python2.7
#
-# Convert google-benchmark json output to something that can be uploaded to
-# BigQuery
-#
-#
# Copyright 2017 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,6 +14,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# Convert google-benchmark json output to something that can be uploaded to
+# BigQuery
+
import sys
import json
import csv
@@ -54,6 +53,7 @@ if len(sys.argv) > 2:
else:
js2 = None
+# TODO(jtattermusch): write directly to a file instead of stdout
writer = csv.DictWriter(sys.stdout, [c for c, t in columns])
for row in bm_json.expand_json(js, js2):
diff --git a/tools/profiling/microbenchmarks/bm_json.py b/tools/profiling/microbenchmarks/bm_json.py
index 497d7ca813..2f5eb708de 100644
--- a/tools/profiling/microbenchmarks/bm_json.py
+++ b/tools/profiling/microbenchmarks/bm_json.py
@@ -12,8 +12,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+# Utilities for manipulating JSON data that represents microbenchmark results.
+
import os
+# template arguments and dynamic arguments of individual benchmark types
+# Example benchmark name: "BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/0"
_BM_SPECS = {
'BM_UnaryPingPong': {
'tpl': ['fixture', 'client_mutator', 'server_mutator'],
@@ -115,6 +119,7 @@ _BM_SPECS = {
def numericalize(s):
+ """Convert abbreviations like '100M' or '10k' to a number."""
if not s: return ''
if s[-1] == 'k':
return float(s[:-1]) * 1024
@@ -159,9 +164,6 @@ def parse_name(name):
rest = s[0]
dyn_args = s[1:]
name = rest
- print(name)
- print(dyn_args, _BM_SPECS[name]['dyn'])
- print(tpl_args, _BM_SPECS[name]['tpl'])
assert name in _BM_SPECS, '_BM_SPECS needs to be expanded for %s' % name
assert len(dyn_args) == len(_BM_SPECS[name]['dyn'])
assert len(tpl_args) == len(_BM_SPECS[name]['tpl'])