aws / amazon-ecs-agent

Amazon Elastic Container Service Agent
http://aws.amazon.com/ecs/
Apache License 2.0
2.08k stars 616 forks source link

feat: allow disabling network and/or storage metric collection only #4420

Open weeniearms opened 3 weeks ago

weeniearms commented 3 weeks ago

Summary

Since not all metrics are likely to be of the same relevance, it would be beneficial from a cost perspective to allow disabling some of them, namely Network IO and Block IO.

This change introduces the ability to disable network and storage stats collection via ECS_DISABLE_NETWORK_METRICS and ECS_DISABLE_STORAGE_METRICS respectively.

Implementation details

Two new config parameters have been introduced that are used in agent/stats/engine.go to conditionally read the network and storage stats.

Testing

Extended existing agent/stats/engine_test.go with new test cases.

New tests cover the changes: yes (extended existing tests with new test cases)

Description for the changelog

Introduced ECS_DISABLE_NETWORK_METRICS and ECS_DISABLE_STORAGE_METRICS configuration variables to allow network and storage stats collection.

Additional Information

Does this PR include breaking model changes? If so, Have you added transformation functions? No

Does this PR include the addition of new environment variables in the README? Yes. Two new non-sensitive boolean configuration variables.

Licensing

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.