Partial revert: "Hand protos directly to histograms and fix summary."
This partially reverts commit 7427fc6560b0cdf67912863162c72cfde2ed0cd6. Turns out proto importing is broken on the catapult side. A fix is coming. Until then I'll have to use the old JSON way. Bug: chromium:1029452 Change-Id: Ib5c43d721fe6c4e2639a0d518f4fa69b42b6c388 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170230 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Patrik Höglund <phoglund@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30761}
This commit is contained in:

committed by
Commit Bot

parent
6817394eac
commit
8f47b27268
@ -46,6 +46,8 @@ from tracing.value import histogram_set
|
||||
from tracing.value.diagnostics import generic_set
|
||||
from tracing.value.diagnostics import reserved_infos
|
||||
|
||||
from google.protobuf import json_format
|
||||
|
||||
|
||||
def _GenerateOauthToken():
|
||||
args = ['luci-auth', 'token']
|
||||
@ -92,10 +94,25 @@ def _LoadHistogramSetFromProto(options):
|
||||
'tracing', 'proto')
|
||||
sys.path.insert(0, histogram_proto_path)
|
||||
|
||||
hs = histogram_set.HistogramSet()
|
||||
with options.input_results_file as f:
|
||||
hs.ImportProto(f.read())
|
||||
# TODO(https://crbug.com/1029452): Get rid of this import hack once we can
|
||||
# just hand the contents of input_results_file straight to the histogram set.
|
||||
try:
|
||||
import histogram_pb2
|
||||
except ImportError:
|
||||
raise ImportError('Could not find histogram_pb2. You need to build the '
|
||||
'webrtc_dashboard_upload target before invoking this '
|
||||
'script. Expected to find '
|
||||
'histogram_pb2 in %s.' % histogram_proto_path)
|
||||
|
||||
with options.input_results_file as f:
|
||||
histograms = histogram_pb2.HistogramSet()
|
||||
histograms.ParseFromString(f.read())
|
||||
|
||||
# TODO(https://crbug.com/1029452): Don't convert to JSON as a middle step once
|
||||
# there is a proto de-serializer ready in catapult.
|
||||
json_data = json.loads(json_format.MessageToJson(histograms))
|
||||
hs = histogram_set.HistogramSet()
|
||||
hs.ImportDicts(json_data)
|
||||
return hs
|
||||
|
||||
|
||||
@ -114,6 +131,21 @@ def _AddBuildInfo(histograms, options):
|
||||
k.name, generic_set.GenericSet([v]))
|
||||
|
||||
|
||||
# TODO(https://crbug.com/1029452): Remove this once
|
||||
# https://chromium-review.googlesource.com/c/catapult/+/2094312 lands.
|
||||
def _HackSummaryOptions(histograms):
|
||||
for histogram in histograms:
|
||||
histogram.CustomizeSummaryOptions({
|
||||
'avg': False,
|
||||
'std': False,
|
||||
'count': False,
|
||||
'sum': False,
|
||||
'min': False,
|
||||
'max': False,
|
||||
'nans': False,
|
||||
})
|
||||
|
||||
|
||||
def _DumpOutput(histograms, output_file):
|
||||
with output_file:
|
||||
json.dump(histograms.AsDicts(), output_file, indent=4)
|
||||
@ -140,7 +172,7 @@ def _CreateParser():
|
||||
help='URL to the build page for this build.')
|
||||
parser.add_argument('--dashboard-url', required=True,
|
||||
help='Which dashboard to use.')
|
||||
parser.add_argument('--input-results-file', type=argparse.FileType('rb'),
|
||||
parser.add_argument('--input-results-file', type=argparse.FileType(),
|
||||
required=True,
|
||||
help='A JSON file with output from WebRTC tests.')
|
||||
parser.add_argument('--output-json-file', type=argparse.FileType('w'),
|
||||
@ -150,21 +182,6 @@ def _CreateParser():
|
||||
return parser
|
||||
|
||||
|
||||
# TODO(https://crbug.com/1029452): Remove this once
|
||||
# https://chromium-review.googlesource.com/c/catapult/+/2094312 lands.
|
||||
def _HackSummaryOptions(histograms):
|
||||
for histogram in histograms:
|
||||
histogram.CustomizeSummaryOptions({
|
||||
'avg': False,
|
||||
'std': False,
|
||||
'count': False,
|
||||
'sum': False,
|
||||
'min': False,
|
||||
'max': False,
|
||||
'nans': False,
|
||||
})
|
||||
|
||||
|
||||
def main(args):
|
||||
parser = _CreateParser()
|
||||
options = parser.parse_args(args)
|
||||
|
Reference in New Issue
Block a user