New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 649640 link

Starred by 3 users

Issue metadata

Status: Duplicate
Owner: ----
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

telemetry_perf_unittests should indicate how to reproduce the test locally

Project Member Reported by primiano@chromium.org, Sep 23 2016

Issue description

TL;DR
buildbot steps should have clear indications on how to reproduce a test.

A colleague was writing a CL and found that the telemetry_perf_unittests was red.

Link:
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/302496


Good:
his CL actually was causing a crash and the telemetry test was red because of that. There is a very useful stack trace in the stdio of that step that shows precisely the crash.

Bad:
There is no clear indication on how to reproduce that test locally.
Just a lot of references to swarming things. We both looked and got lost.

Not sure whether the bug here is in the buildbot output, in the telemetry_perf_unittests test, in swarming or wherever. This is definitely something that should be improved though.

Can somebody help triaging this?
 
Cc: altimin@chromium.org

Comment 2 by mar...@chromium.org, Sep 23 2016

Cc: dpranke@chromium.org
You mean like mb.py run? Because that's what is the closest to reproducing with a local build.

Otherwise you can fetch the binaries but it's likely less interesting for debugging.
I think the easiest is click on the link of the failing shard, then follow the instruction in the swarming dashboard:

"Run this task locally:
  python swarming.py reproduce -S https://chromium-swarm.appspot.com 316bf4469db56b10
"
I've seen the python swarming.py reproduce but that feels too end-to-end (as in: pulls all the binaries).
What I am missing here is pretty simple: what is the command line that this test executes?

For the other steps (e.g. compile, base_unittest) it is always visible in stdio.
What is the equivalent for telemetry_perf_unittests?
Very likely altimin@ (the author of the CL) wants to reproduce the failure locally against its build, so he can add printfs and more debugging things.
How should he proceed?

There is the command at the end of swarming output: 

"Command: /usr/bin/python ../../testing/scripts/run_telemetry_as_googletest.py ../../tools/perf/run_tests -v --xvfb --isolated-script-test-output=/b/swarm_slave/w/iosI6GaK/output.json"

It probably could be improve to make it clearer which command was run on the shard.

Though running the whole telemetry suite is probably idea since it takes very long. We have documentation for dealing with telemetry test failures in https://www.chromium.org/developers/telemetry/telemetry-unittests . Would be nice to add support linking to this doc in the https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/302496 page when the test fails.
agree with #5
would be great if each buildbot step had a "docs / help" link that pointed to some page like that.
Components: -Infra>Platform>Buildbot Infra>Client>Chrome
This is less of swarming/buildbot request and more of the chromium recipe && individual test runners to emit better metadata in their steps, failing or otherwise.
This could be a dup of issue 715089?
Mergedinto: 715089
Status: Duplicate (was: Untriaged)
I'm going to dup this with issue 715089.

Sign in to add a comment