Commit graph

38 commits

Author SHA1 Message Date
Jeremy Leconte
94029b812f Remove unused script webrtc_dashboard_upload.py
The script process_perf_results.py is used instead.

Bug: webrtc:13806
Change-Id: I672da41d7264d5f996eef38f1178f486dad968ee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256220
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36278}
2022-03-21 12:54:42 +00:00
Jeremy Leconte
4fc9bd9f69 Add a new script to upload perf tests.
Also add a script to do the bridge between a python 2 and a python 3 interpreter.
This should be removed when the merge scripts will be using python 3 (https://crbug.com/webrtc/13835).

Note that webrtc_dashboard_upload.py will be removed when the new script is stabilized.

Bug: webrtc:13806
Change-Id: I806fa11f417ef37674bdaeb5126c71570e3697d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255560
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@google.com>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Christoffer Jansson <jansson@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36252}
2022-03-18 13:30:59 +00:00
Jeremy Leconte
fa577c5eb6 Fix file open mode issue for the uploader.
This is a forward fix for https://webrtc-review.googlesource.com/c/src/+/255320.
The error is the following:
https://logs.chromium.org/logs/webrtc-internal/buildbucket/cr-buildbucket/8819696929332742321/+/u/webrtc_perf_tests_Dashboard_upload/stdout

Bug: webrtc:13806
Change-Id: I1ccba1be69edf0b1023c1d197d2033bdc718f64b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255420
Owners-Override: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36196}
2022-03-14 19:34:46 +00:00
Jeremy Leconte
fa2c945f73 Fix type issue for the uploader.
This is a forward fix for https://webrtc-review.googlesource.com/c/src/+/255320.
The error is the following:
https://logs.chromium.org/logs/webrtc/buildbucket/cr-buildbucket/8819700229708372817/+/u/low_bandwidth_audio_perf_test_Dashboard_upload/stdout

Bug: webrtc:13806
Change-Id: Ia7d5362d1131d9bab41a9112946a4c84e509d98f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255382
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#36195}
2022-03-14 17:22:35 +00:00
Jeremy Leconte
2c4a4472a5 Prepare uploader to be used as a 'merge script'.
* Don't exit by throwing exceptions.
* Rely on a dataclass instead of argument list.
* Prepare to remove arg wait_upload because it's always true.
* Remove unused args wait_timeout_sec and wait_timeout_secwait_polling_period_sec.

Bug: webrtc:13806
Change-Id: I0879fa7fd22c72f5b174f8823bdd51d49f1f140b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/255320
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Jeremy Leconte <jleconte@google.com>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36193}
2022-03-14 14:42:28 +00:00
Christoffer Jansson
1b083a998b Encode data for compression + add initial tests
Bug: webrtc:13607
Change-Id: I3bbec5558e676ca45125fad3fdbd10cc47c84601
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251390
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#36003}
2022-02-15 14:24:11 +00:00
Christoffer Jansson
e6aa6a8740 Set file mode in the argparse argument
Bug: webrtc:13607
Change-Id: I7943761933e0e110ff16b65284d8b36644b5c4ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251381
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#35970}
2022-02-10 09:02:26 +00:00
Christoffer Jansson
c98fb2ca0f Use binary mode for proto ingestion
Bug: webrtc:13607
Change-Id: Id0385f74215360ff604641a50ce9f599c87abb5e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251327
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#35960}
2022-02-09 07:19:35 +00:00
Christoffer Jansson
409ac89b43 decode strings to utf-8 and use universal_newlines for subprocess
Bug: webrtc:13607
Change-Id: I4d8df7488b819b477cd0ae5553c0eb8a7adfb179
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251343
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#35955}
2022-02-08 17:42:25 +00:00
Christoffer Jansson
4e8a773b4b tools_webrtc dir converted to py3 + top level PRESUBMIT script
Bug: webrtc:13607
Change-Id: Ib018e43ea977cc24dd71048e68e3343741f7f31b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249083
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#35953}
2022-02-08 14:42:26 +00:00
landrey
722a8a6875 Tolerate more not completed measurements for CPD uploads
Recently CPD team rolled out upload completion token feature to all users. Pressure on the system increased. Now became more common situations when upload completed, but because of Datastore limitations we can't see confirmation of it for some measurements.

I've checked 6 recent failures. For all of them amount of timeout measurements were less than 3% (less than 15 in absolute numbers, the biggest percent of failures was for 80 measurements, 2 of which timed out).

Bug: b/182111579
Change-Id: Ia5af367870d1cf7d28b9422c4114c6b85c41f865
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228562
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34749}
2021-08-13 10:21:29 +00:00
Andrey Logvin
2ba604db5b Update upload completion check logs to make them more intuitive
No-Presubmit: True
Bug: None
Change-Id: I28c1c3b7226676f88b8918d3ed2aeb1579f3fda7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224664
Commit-Queue: Andrey Logvin <landrey@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34406}
2021-07-02 09:52:14 +00:00
Andrey Logvin
7a3db9d950 Fix CPD upload script --input-results-file description
No-Try: True
No-Presubmit: True
Bug: None
Change-Id: Id797c42b38a8cbe2cd998897768734aea9c11484
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224460
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34394}
2021-06-30 19:48:51 +00:00
Andrey Logvin
bcca3b08a9 Improve dashboard upload script so the errors are more understandable
No-Presubmit: True
Bug: None
Change-Id: I2bc297fddacd33037a7c77107d653da87dd2737e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195560
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32715}
2020-11-27 15:26:58 +00:00
Andrey Logvin
b6b678d0f8 Revert "Filter out NaNs before uploading to the dasboard"
This reverts commit 9db3ab201e.

Reason for revert: We shouldn't delete numbers from "running", since they represent count, mean, max, min, sum, variance and meanlogs. Just removing will lead to undefined behaviur.

Original change's description:
> 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 <landrey@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32690}

TBR=mbonadei@webrtc.org,landrey@webrtc.org

Change-Id: If2b0bd5046d040b8289eefd22e313ce554b98bff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:12224
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195323
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32691}
2020-11-25 10:34:14 +00:00
Andrey Logvin
9db3ab201e 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 <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32690}
2020-11-25 10:16:41 +00:00
Andrey Logvin
25767f7c3f Fix timout message while uploading to the dashboard
No-Presubmit: True
Bug: webrtc:12223
Change-Id: I8991962f6ec7fbf92ce6a90561e8438452ed632c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195220
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32686}
2020-11-24 15:56:08 +00:00
Andrey Logvin
659d7015db Replace all infinity values before uploading to the dashoard
No-Presubmit: True
Bug: webrtc:12224
Change-Id: I4a7a33bedb5449d7e36293e0c6f47e9cd4d0235a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195200
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32685}
2020-11-24 15:19:56 +00:00
Andrey Logvin
bce02a9467 Fix authentication error while polling for upload results
I'm not 100% sure that is the reason. But I think it worth trying.

No-Presubmit: True
Bug: webrtc:12223
Change-Id: Idc6a9006ce2e3c6d299ad56cd747faebfeff37ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195003
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32682}
2020-11-24 10:37:16 +00:00
Mirko Bonadei
db9095de83 Fix perf results upload.
Starting from [1], //third_party/protobuf has been updated to 3.13.0
and this introduces a breaking change which breaks WebRTC's perf results
upload (see bugs.webrtc.org/12211).

Error:

File [..]/tracing/proto/histogram_proto.py", line 9, in <module>
    import histogram_pb2  # pylint:disable=relative-import
  File "[..]/tracing/proto/histogram_pb2.py", line 22, in <module>
    create_key=_descriptor._internal_create_key,
AttributeError: 'module' object has no attribute '_internal_create_key'

It looks like vpython is not able to load the wheel from the vpython
environment if the import happens in the "from ... import ..." form
while it works if the library is pre-imported with "import ...".

[1] - https://chromium-review.googlesource.com/c/chromium/src/+/2545204

No-Try: True
No-Presubmit: True
Bug: webrtc:12211
Change-Id: Id3e365eb9d4c4c31bcd4dcfab7db700e0e6e00b2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195000
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32677}
2020-11-23 16:56:51 +00:00
Mirko Bonadei
0958ca3e31 Reland "Add protobuf-py2_py3 3.13.0 to .vpython."
This is a reland of 9b53c29832

It looks like the idea was correct (see [1]), changes with respect to
the original at [2].

[1] - https://chromium-review.googlesource.com/c/chromium/src/+/2545204/7/tools/privacy_budget/blink_apis/generate_blink_api_db.py
[2] - https://webrtc-review.googlesource.com/c/src/+/194261/1..2

Original change's description:
> Add protobuf-py2_py3 3.13.0 to .vpython.
>
> Starting from https://webrtc-review.googlesource.com/c/src/+/194081,
> WebRTC's protobuf are using version 3.13.0.1+ but when running on
> bots, we see errors that are probably caused by a version mismatch, see
> https://ci.chromium.org/p/webrtc/builders/perf/Perf%20Linux%20Trusty/4597.
>
> This CL updates WebRTC's .vpython to use protobuf 3.13.0.
>
> TBR=kwiberg@webrtc.org
>
> No-Try: True
> Bug: None
> Change-Id: I6bc5e71bacc67dbd9299a9588ddf826778451949
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194143
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Andrey Logvin <landrey@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32642}

TBR=kwiberg@webrtc.org

No-Try: True
No-Presubmit: True
Bug: None
Change-Id: Ic61d477b7ad104d15edf4afbbfb9c51f261bc435
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194261
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32649}
2020-11-20 07:52:26 +00:00
Andrey Logvin
844125cc48 Reduce test flakiness because of upload issues
Sometimes upload fails because of one measurement out of hundreds
couldn't be upload. It happens because of issues on the Dashboard side
like https://crbug.com/1145904. Such failures are flaky and happens
rarely. However, we don't want it to affect our tests.

No-Presubmit: True
Bug: webrtc:12162
Change-Id: Ieb56a67a7d3d18b86c715ba14578aac7b9f6ba94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194040
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32636}
2020-11-18 22:41:35 +00:00
Andrey Logvin
9e302eaaca Fix address of checking the Dashboard upload status
No-Presubmit: True
Bug: webrtc:12162
Change-Id: I11d46550f5f1beb412b5c8911d6864ab8eaac114
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/194001
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32634}
2020-11-18 18:39:28 +00:00
Andrey Logvin
e850af2f79 Log responce of the Dashboard before start using it at upload script
No-Presubmit: True
Bug: webrtc:12162
Change-Id: Ib4a2a29be2b1917f8ea3364fa08e5c7aae8fb65b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193943
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32632}
2020-11-18 15:39:34 +00:00
Andrey Logvin
728b5d01b0 Add possibility of upload check for pc perf tests
Presubmit bot failures are unrelated to the cl.

No-Presubmit: True
Bug: webrtc:12162
Change-Id: I598d3aea8df9429bdff18b80a400c358fa1461d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186123
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32592}
2020-11-11 17:51:15 +00:00
Mirko Bonadei
8cc6695652 Reformat python files checked by pylint (part 1/2).
After recently changing .pylintrc (see [1]) we discovered that
the presubmit check always checks all the python files when just
one python file gets updated.

This CL moves all these files one step closer to what the linter
wants.

Autogenerated with:

# Added all the files under pylint control to ~/Desktop/to-reformat
cat ~/Desktop/to-reformat | xargs sed -i '1i\\'
git cl format --python --full

This is part 1 out of 2. The second part will fix function names and
will not be automated.

[1] - https://webrtc-review.googlesource.com/c/src/+/186664

No-Presubmit: True
Bug: webrtc:12114
Change-Id: Idfec4d759f209a2090440d0af2413a1ddc01b841
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190980
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32530}
2020-10-30 10:13:11 +00:00
Patrik Höglund
6725b648c8 Proper fix to the summary options problem.
It's better to set this to the right value in the C++ API rather
than the hack in catapult_uploader.py.

Bug: chromium:1029452
Change-Id: Ia942ff22f8422874cd226e6a7fdce20333ac4a50
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170632
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30817}
2020-03-18 11:53:02 +00:00
Patrik Höglund
620bed1c71 Remove allbins and story hacks, fix -Infinity.
The problem that has stopped the uploads from working is likely that
json.dump writes -Infinity when encountering float('-inf'), but not
all JSON parsers handle that. Notably, the dashboard JSON library
doesn't when running in compressing mode.

I think the real fix is to land the float->double CL for the histogram
proto - I think we will not get float('inf') values then. Apply
this hack in the meantime.

Also remove allbins and story hacks, they're likely worse than the
defaults anyway.

Bug: chromium:1029452
Tbr: mbonadei@webrtc.org
Change-Id: I98e36307cc144bbe6878ba9d93c0a609cab71418
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170626
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30808}
2020-03-17 09:35:02 +00:00
Patrik Höglund
a89ad6124b Apply some more hacks.
Bug: chromium:1029452
Change-Id: I1be9d42b95f78a2f7f72fa304a35f852167c59e0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170461
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30792}
2020-03-13 15:13:17 +00:00
Patrik Höglund
457c8cfd47 Also apply all bins hack to the out file.
To avoid confusion what we're actually uploading. The out file is
for debugging.

Bug: chromium:1029452
Change-Id: I6856a8466b58bb4b8d2eac35df7c629af7002b2c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170441
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30791}
2020-03-13 14:22:53 +00:00
Patrik Höglund
0569a12ece Restructure uploader script so imports are less likely to break.
We need to modify sys.path before we import anything from catapult.
Unfortunately we need to modify it according to --outdir, so it needs
to happen at runtime rather than import time.

I try to split the script into a main which just sets up command line
args and sys.path and then imports the main script. This makes it less
likely that future maintainers will import something too early.

Bug: chromium:1029452
Change-Id: I16bf6257269ab8ab90dd74bff7880de8b5fb8071
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170341
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30788}
2020-03-13 12:33:22 +00:00
Patrik Höglund
85037bca98 Hack in allBins into perf results.
Let's see if this makes the perf dashboard accept the upload.
The proper fix requires some catapult work + a couple rolls.

Tbr: mbonadei@webrtc.org
Bug: chromium:1029452
Change-Id: I5fb94a08784620a423c4bd7a5bb6dc7f7c05cdc9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170363
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30786}
2020-03-13 09:55:50 +00:00
Patrik Höglund
8f47b27268 Partial revert: "Hand protos directly to histograms and fix summary."
This partially reverts commit 7427fc6560.

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}
2020-03-11 13:56:14 +00:00
Patrik Höglund
7427fc6560 Hand protos directly to histograms and fix summary.
The catapult code has learned how to deserialize protos, so we don't
need JSON as a middle step.

Also, set summary options to false for now to avoid polluting the
dashboard with _avg, _count for each metric. We don't use those
anyway. The durable solution is to set these from the histogram
writer, but catapult doesn't read the summary options correctly
from the proto yet.

Bug: chromium:1029452
Change-Id: I59d300fd34d36df836064ff41f6d0bf75bd6695e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170104
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30737}
2020-03-10 10:43:17 +00:00
Patrik Höglund
7252457778 Print explicitly to stdout to ensure script actually works.
I think it works, just want to make sure (and I think it's good to
print something for the build step).

Bug: chromium:1029452
Change-Id: I8df6818a2fb6305b688ae4ae7517159d1ca5b544
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168602
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@google.com>
Cr-Commit-Position: refs/heads/master@{#30528}
2020-02-17 08:20:58 +00:00
Patrik Höglund
83245bde3d Make the dashboard upload script read protos instead of JSON.
I had to pivot and make tests output protos instead of JSON.
I basically move the proto -> JSON conversion into this script instead
of doing it in the test binary.

This is a temporary state. Later it will be enough to just read up
the file and pass it straight to the Catapult implementation, once
it learns to de-serialize the proto directly.

Bug: chromium:1029452
Change-Id: I7ce992eeeb1a5ae0f20eed54174b08b496e74dfd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166920
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30419}
2020-01-30 10:25:47 +00:00
Patrik Höglund
abea26873f Repurpose upload script to read natively generated histogram json.
This script will be used when tests write proto-backed JSON. It still
has to reside source-side because we need to access the catapult Python
API to get at HistogramSet and reserved_infos, etc.

WebRTC tests will write proto-backed JSON, and this script can read
it because the Histogram class has been made capable of doing it.
Build information diagnostics are added, and then we upload in the
old JSON format (the dashboard can read the new format as well, but
there's no reason to implement export to the new format at this point).

We could imagine more outlandish solutions where the test binaries
themselves do the uploading, but then we would have to pass the
build information to them, and they would have to upload from the
shards. Alternatively, we could pass build information to tests so
they write it right into the histograms.

This solution is probably the best one for now since it's
1) consistent with how Chromium does it
2) flexible in the right ways
3) we don't have to worry if uploading from shards even works.

Bug: webrtc:11084
Change-Id: I8888ce9f24e0ca58f984d2c2e9af7740ee5e89b6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166464
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30301}
2020-01-17 13:19:07 +00:00
Patrik Höglund
cb0b87473a Add source-side perf upload script for WebRTC.
This effectively makes WebRTC upload histogram sets instead of Chart
JSON. Histogram sets is the newest format used by Chromium. I'm doing
this because it's nice to use the most modern thing, but mostly because
it's the default for PinPoint. This means I don't have to implement and
support a new read quest for Chart JSON.

This script has to be source side, because we need third_party/catapult
to write correct histograms. This script will be called from recipes.

I also considered generating histogram JSON directly in
test/testsupport/perf_test.cc, which could have avoided this conversion
from Chart JSON to histogram sets, but I can't because there is no C++
API for histogram sets.

Bug: webrtc:11084
Change-Id: If0d2315d2057112b3c2d54a9cfd12e59b5858a18
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159780
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29818}
2019-11-18 14:37:01 +00:00