armada/armada
Sean Eagan aa036cb26b Implement Prometheus metric integration
This implements Prometheus metric integration, including metric
definition, collection, and exportation.

Actions measured include overall Manifest application, and Chart
application with sub-actions of download, deployment, and test.
Prometheus labels are included for Manifest and Chart name as
appropriate. Chart deployment also includes a label for which action
was taken (install, upgrade, noop).

For each of these actions, metrics are included for quantity of completed
and in progress attempts and failures, as well as the duration of the
attempts.

For the chart deployment and test actions, timeout and timeout usage
are included in order to identify charts whose timeouts may need to
be changed to avoid potential failures or to acheive faster failures.

For the chart handle action, a count of total concurrent charts is
included in order to identify opportunities for greater chart
concurrency.

The API exposes these metrics via an endpoint, and the Armada chart
includes the appropriate pod annotations to configure Prometheus
scraping of this endpoint.

The CLI includes a --metrics-output option to define a path
in which to output the metric data.

Change-Id: Ia0837f28073d6cd8e0220ac84cdd261b32704ae4
2019-07-31 16:58:41 -05:00
..
api Implement Prometheus metric integration 2019-07-31 16:58:41 -05:00
cli Implement Prometheus metric integration 2019-07-31 16:58:41 -05:00
common Standardize Armada code with YAPF 2019-07-31 10:16:15 -05:00
conf Implement Prometheus metric integration 2019-07-31 16:58:41 -05:00
exceptions Standardize Armada code with YAPF 2019-07-31 10:16:15 -05:00
handlers Implement Prometheus metric integration 2019-07-31 16:58:41 -05:00
schemas [v2 docs] Overhaul wait API 2019-05-13 16:52:44 +00:00
tests Implement Prometheus metric integration 2019-07-31 16:58:41 -05:00
utils Standardize Armada code with YAPF 2019-07-31 10:16:15 -05:00
__init__.py fix(init): remove duplicated version code 2018-05-28 05:52:58 -05:00
const.py Introduce v2 docs 2019-04-16 10:15:21 -05:00
shell.py fix: improve error message when user passes in only api and url 2019-07-17 13:12:07 -05:00
version.py Fix(linting): Make Armada pep8 compliant 2017-09-29 11:46:58 -04:00