From 9db3ab201ec73d5bbc547ebe2701b4695d1e281f Mon Sep 17 00:00:00 2001 From: Andrey Logvin Date: Wed, 25 Nov 2020 09:47:40 +0000 Subject: [PATCH] Filter out NaNs before uploading to the dasboard No-Presubmit: True Bug: webrtc:12224 Change-Id: I48a140f08276362491650496f63a23727c56fa6e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195320 Commit-Queue: Andrey Logvin Reviewed-by: Mirko Bonadei Cr-Commit-Position: refs/heads/master@{#32690} --- tools_webrtc/perf/catapult_uploader.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools_webrtc/perf/catapult_uploader.py b/tools_webrtc/perf/catapult_uploader.py index 2760f731d0..bca641a0ae 100644 --- a/tools_webrtc/perf/catapult_uploader.py +++ b/tools_webrtc/perf/catapult_uploader.py @@ -10,6 +10,7 @@ import datetime import httplib2 import json +import math import subprocess import time import zlib @@ -170,7 +171,8 @@ def _CheckFullUploadInfo(url, upload_token, # TODO(https://crbug.com/1029452): HACKHACK -# Remove once we have doubles in the proto and handle -infinity correctly. +# Remove once we have doubles in the proto and handle -infinity and NaN +# correctly. def _ApplyHacks(dicts): def _NoInf(value): if value == float('inf'): @@ -181,8 +183,12 @@ def _ApplyHacks(dicts): for d in dicts: if 'running' in d: - d['running'] = [_NoInf(value) for value in d['running']] + d['running'] = [ + _NoInf(value) for value in d['running'] + if not math.isnan(value)] if 'sampleValues' in d: + # We always have a single sample value. If it's NaN - the upload + # should fail. d['sampleValues'] = [_NoInf(value) for value in d['sampleValues']] return dicts