Reland Fix _GetSelectedTestPathsForDict in /list_tests handler.

Currently, _GetSelectedTestPathsForDict sometimes filters out test paths that have
no rows. This causes the frontend to sometimes request timeseries that are empty,
which has unpredictable effects on various features such as the minimap.

This CL makes _GetSelectedTestPathsForDict always filter out test paths that have
no rows.

This CL is careful to avoid leaking information about internal timeseries by
catching the exception raised by the post-get hook, and returning an empty list so
that requests for empty timeseries, requests for internal-only timeseries, and
requests for non-existent timeseries all return the same results.

This CL also updates report-page to display a new error message whenever /list_tests
returns empty results:
"Some charts failed to load. Either they don't exist, or they are
empty, or they are accessible only for signed-in google.com accounts."

This is a reland of https://codereview.chromium.org/2895483002
Which caused this bug: https://github.com/catapult-project/catapult/issues/3619

https://dev-benjhayden-ac343097-dot-chromeperf.appspot.com/report?sid=b22d91217ee3ed5a934cb313faeba75904e26dec76f7845df109a98f7175ec05

https://dev-benjhayden-ac343097-dot-chromeperf.appspot.com/report?sid=9e2284521c01ea9d498275782527b1d41b6fe01f82dcb20cfd576bf37d040533

http://i.imgur.com/8ZRoJG2h.png

BUG=catapult:#3565,catapult:#3391

Review-Url: https://codereview.chromium.org/2920383003
7 files changed
tree: fe529be4afeefe4113ded52b9674d64c55414516
  1. bin/
  2. catapult_base/
  3. catapult_build/
  4. common/
  5. dashboard/
  6. dependency_manager/
  7. devil/
  8. docs/
  9. experimental/
  10. firefighter/
  11. hooks/
  12. infra/
  13. netlog_viewer/
  14. systrace/
  15. telemetry/
  16. third_party/
  17. trace_processor/
  18. tracing/
  19. web_page_replay_go/
  20. .eslintignore
  21. .eslintrc
  22. .gitignore
  23. AUTHORS
  24. codereview.settings
  25. CONTRIBUTING.md
  26. LICENSE
  27. navbar.md
  28. OWNERS
  29. PRESUBMIT.py
  30. pylintrc
  31. README.md
  32. WATCHLISTS
README.md

Catapult

Catapult is the home for several performance tools that span from gathering, displaying and analyzing performance data. This includes:

These tools were created by Chromium developers for performance analysis, testing, and monitoring of Chrome, but they can also be used for analyzing and monitoring websites, and eventually Android apps.

Contributing

Please see our contributor's guide

Current build status