[telemetry] Treat most exceptions as "possibly handleable"

Telemetry classifies errors as "handleable" and "unhandleable" errors.
Handleable errors, defined by a short explicit list, are displayed and
reported as an individual story failure. Unhandleable errors, any
error not in the list, are treated as fatal errors and stop the entire
benchmark execution.

This is often too drastic, as many errors raised by Telemetry clients
are in fact "handleable" and should not stop the execution of the
entire benchmark due to an error in one of its stories.

In this CL we define instead a small set of explicitly "unhandleable"
errors (KeyboardInterrupt, SystemExit, etc) which should definitely
halt the benchmark execution, while most other Exception's are
treated as "possibly handleable", allowing other stories to continue
running but restarting the shared state to be safe.

Bug: chromium:900909
Change-Id: I5f23d5c33319b04f7631f0f3e77fe2a2bb62c131
Reviewed-on: https://chromium-review.googlesource.com/c/1326943
Reviewed-by: Caleb Rouleau <crouleau@chromium.org>
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Juan Antonio Navarro PĂ©rez <perezju@chromium.org>
2 files changed
tree: 66cd06a3120d0fc8c52918b62caba27b9efa05b3
  1. bin/
  2. catapult_build/
  3. common/
  4. dashboard/
  5. dependency_manager/
  6. devil/
  7. docs/
  8. experimental/
  9. firefighter/
  10. hooks/
  11. infra/
  12. netlog_viewer/
  13. systrace/
  14. telemetry/
  15. third_party/
  16. trace_processor/
  17. tracing/
  18. web_page_replay_go/
  19. .eslintignore
  20. .eslintrc
  21. .gitignore
  22. .vpython
  23. AUTHORS
  24. BUILD.gn
  25. codereview.settings
  26. CONTRIBUTING.md
  27. generate_telemetry_build.py
  28. LICENSE
  29. navbar.md
  30. OWNERS
  31. PRESUBMIT.py
  32. pylintrc
  33. README.md
  34. 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