specs/specs/approved/armada_time_metrics.rst

2.2 KiB

Time Performance Metrics for Each Chart

Allow time performance metrics on charts including deployment time, upgrade time, wait time, test time, and consumed time for docs or resources, if applicable.

Problem description

There are currently no time metrics within Armada for chart deployments, upgrades, tests, or other actions. This can cause issues in that there is no known time for deployment of an environment, potentially restricting deployment or upgrade periods for charts. By adding time metrics for the charts, this will allow for better predictability for deployments and upgrades as well as show when charts are acting not as intended.

Use Cases

Knowing how long a chart takes to deploy or upgrade can streamline these processes in future deployements or upgrades. It allows for predictable chart deployment and upgrade times as well as finding inconsistencies within those deployments and upgrades, likely pinpointing which chart(s) is causing errors.

Proposed change

Add time metrics to the ChartBuilder, ChartDeploy, and ChartDelete classes. The timer will be the built in python library time which will then be written to the logs for use or analysis.

TODO: examples

Alternatives

A simplistic alternative is to merely log time stamps for each action which occurs on a chart. While almost the same as the proposed change, it doesn't show an elapsed time but just start and end points.

TODO: other alternatives

Security Impact

None

Notifications Impact

Extra notification diplaying deployment or upgrade time

Other End User Impact

None

Performance Impact

None

Other Deployer Impact

None

Developer Impact

None

Implementation

Assignee(s)

Work Items

Dependencies

None

Documentation Impact

None

References

TODO