[AWS OTel] increase cloudwatch autodiscover limit and add section to readme explaining the consequence - #21199
Conversation
…aining the consequence
✅ Elastic Docs Style Checker (Vale)No issues found on modified lines! The Vale linter checks documentation changes against the Elastic Docs style guide. To use Vale locally or report issues, refer to Elastic style guide for Vale. |
There was a problem hiding this comment.
🟡 Changes recommended
Documentation issues and the placeholder changelog URL must be corrected before approval.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
This PR increases AWS CloudWatch OTel autodiscovery limits and documents the related metric and cost implications.
Changes:
- Raises selected autodiscovery defaults to 10,000.
- Adds limit and cost guidance to both README copies.
- Updates the package version and changelog.
File summaries
| File | Summary |
|---|---|
packages/aws_cloudwatch_input_otel/manifest.yml |
Updates package version and autodiscovery limits. |
packages/aws_cloudwatch_input_otel/docs/README.md |
Adds guidance; heading formatting, limit wording, and cost estimate require correction. |
packages/aws_cloudwatch_input_otel/changelog.yml |
Adds the enhancement entry; the placeholder PR URL requires replacement. |
packages/aws_cloudwatch_input_otel/_dev/build/docs/README.md |
Mirrors README updates; the same formatting, limit wording, and cost estimate issues require correction. |
Review details
Suppressed comments (6)
packages/aws_cloudwatch_input_otel/_dev/build/docs/README.md:88
- The receiver is capped by
discovery.limit, so a namespace with more metrics than the configured limit will not have all of its metrics collected. Please qualify this sentence to say metrics are collected up to the limit in the source and regenerate this copy.
This integration automatically discovers and collects all CloudWatch metrics published for the configured namespaces. The CloudWatch API bills per metric requested, so the more resources that exist in your account, the more metrics are discovered and the higher the collection cost.
packages/aws_cloudwatch_input_otel/_dev/build/docs/README.md:90
- This says the limit defaults to 10,000 for the integration, but the ALB, CLB, NLB, and GWLB policy templates still default to 250 (
manifest.yml:344,404,466,526). Please document the per-stream defaults or update the remaining templates so this cost guidance matches the actual configuration in the source and regenerate this copy.
To avoid unexpectedly large bills, the number of metrics collected is capped by the **Autodiscover Limit**, which defaults to 10,000, high enough to capture all metrics in a typical deployment. The limit applies to each namespace separately. It is a ceiling, not a fixed value - you are billed only for the metrics that actually exist, so smaller accounts cost proportionally less. With the 10,000 limit, the maximum cost per namespace is ~$3,500 per month at a 5-minute collection interval.
packages/aws_cloudwatch_input_otel/_dev/build/docs/README.md:90
- The generated README repeats the cost estimate that does not match the documented billing model and the receiver's three default statistics. Correct or remove the estimate here when updating the source README.
To avoid unexpectedly large bills, the number of metrics collected is capped by the **Autodiscover Limit**, which defaults to 10,000, high enough to capture all metrics in a typical deployment. The limit applies to each namespace separately. It is a ceiling, not a fixed value - you are billed only for the metrics that actually exist, so smaller accounts cost proportionally less. With the 10,000 limit, the maximum cost per namespace is ~$3,500 per month at a 5-minute collection interval.
packages/aws_cloudwatch_input_otel/docs/README.md:89
- The receiver is capped by
discovery.limit, so a namespace with more metrics than the configured limit will not have all of its metrics collected. Please qualify this sentence to say metrics are collected up to the limit.
This integration automatically discovers and collects all CloudWatch metrics published for the configured namespaces. The CloudWatch API bills per metric requested, so the more resources that exist in your account, the more metrics are discovered and the higher the collection cost.
packages/aws_cloudwatch_input_otel/docs/README.md:91
- This says the limit defaults to 10,000 for the integration, but the ALB, CLB, NLB, and GWLB policy templates still default to 250 (
manifest.yml:344,404,466,526). Please document the per-stream defaults or update the remaining templates so this cost guidance matches the actual configuration.
To avoid unexpectedly large bills, the number of metrics collected is capped by the **Autodiscover Limit**, which defaults to 10,000, high enough to capture all metrics in a typical deployment. The limit applies to each namespace separately. It is a ceiling, not a fixed value - you are billed only for the metrics that actually exist, so smaller accounts cost proportionally less. With the 10,000 limit, the maximum cost per namespace is ~$3,500 per month at a 5-minute collection interval.
packages/aws_cloudwatch_input_otel/docs/README.md:91
- The stated ~$3,500 maximum does not follow from the documented billing model and the receiver defaults: the manifest requests three statistics per discovered metric, so 10,000 × 3 × 8,640 five-minute intervals × $0.01/1,000 is about $2,592 per 30-day month. Please verify the AWS pricing basis and correct or remove this precise estimate.
To avoid unexpectedly large bills, the number of metrics collected is capped by the **Autodiscover Limit**, which defaults to 10,000, high enough to capture all metrics in a typical deployment. The limit applies to each namespace separately. It is a ceiling, not a fixed value - you are billed only for the metrics that actually exist, so smaller accounts cost proportionally less. With the 10,000 limit, the maximum cost per namespace is ~$3,500 per month at a 5-minute collection interval.
- Files reviewed: 4/4 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| | AWS Application ELB | 1m | 1m | | ||
| | AWS ECS | 1m | 1m | | ||
|
|
||
| ### Autodiscover Limit and impact on cost |
| | AWS Application ELB | 1m | 1m | | ||
| | AWS ECS | 1m | 1m | | ||
|
|
||
| ### Autodiscover Limit and impact on cost |
|
✅ All changelog entries have the correct PR link. |
There was a problem hiding this comment.
🟡 Changes recommended
Documentation and configured defaults are inconsistent, with additional rendering, override, and cost-accuracy issues.
Get a fresh assessment by requesting another Copilot review.
Review details
Suppressed comments (4)
packages/aws_cloudwatch_input_otel/_dev/build/docs/README.md:86
- The character after
###is a non-breaking space (U+00A0), unlike the ordinary ASCII spaces in the surrounding headings. Markdown parsers that require an ASCII space may render this as paragraph text instead of a level-3 heading; replace it in this source and the generated README with a regular space.
### Autodiscover Limit and impact on cost
packages/aws_cloudwatch_input_otel/_dev/build/docs/README.md:88
- This paragraph says the integration collects all metrics, but
discovery.limitexplicitly caps enumeration and the next paragraph says metrics over the cap are dropped. That is misleading for namespaces with more metrics than the configured limit; please say that metrics are collected up to the configured limit.
This integration automatically discovers and collects all CloudWatch metrics published for the configured namespaces. The CloudWatch API bills per metric requested, so the more resources that exist in your account, the more metrics are discovered and the higher the collection cost.
packages/aws_cloudwatch_input_otel/docs/README.md:87
- The separator after
###is a non-breaking space (U+00A0), not an ASCII space. CommonMark/GFM heading syntax may not recognize this as a heading, so the new section can render as a paragraph and be omitted from the table of contents; use a regular space here and regenerate the built README.
### Autodiscover Limit and impact on cost
packages/aws_cloudwatch_input_otel/manifest.yml:105
- These updates leave the Application, Classic, Network, and Gateway ELB policy templates at
default: 250(manifest lines 344, 404, 466, and 526), while the new README says the default is 10,000 and the changelog says the default was increased to 10,000. ELB users therefore retain the old cap and the documented behavior is incorrect; update the remaining service defaults or qualify the documentation and changelog to exclude them.
default: 10000
- Files reviewed: 4/4 changed files
- Comments generated: 3
- Review effort level: Lite
|
|
||
| This integration automatically discovers and collects all CloudWatch metrics published for the configured namespaces. The CloudWatch API bills per metric requested, so the more resources that exist in your account, the more metrics are discovered and the higher the collection cost. | ||
|
|
||
| To avoid unexpectedly large bills, the number of metrics collected is capped by the **Autodiscover Limit**, which defaults to 10,000, high enough to capture all metrics in a typical deployment. The limit applies to each namespace separately. It is a ceiling, not a fixed value - you are billed only for the metrics that actually exist, so smaller accounts cost proportionally less. With the 10,000 limit, the maximum cost per namespace is ~$3,500 per month at a 5-minute collection interval. |
| To avoid unexpectedly large bills, the number of metrics collected is capped by the **Autodiscover Limit**, which defaults to 10,000, high enough to capture all metrics in a typical deployment. The limit applies to each namespace separately. It is a ceiling, not a fixed value - you are billed only for the metrics that actually exist, so smaller accounts cost proportionally less. With the 10,000 limit, the maximum cost per namespace is ~$3,500 per month at a 5-minute collection interval. | ||
|
|
|
|
||
| To avoid unexpectedly large bills, the number of metrics collected is capped by the **Autodiscover Limit**, which defaults to 10,000, high enough to capture all metrics in a typical deployment. The limit applies to each namespace separately. It is a ceiling, not a fixed value - you are billed only for the metrics that actually exist, so smaller accounts cost proportionally less. With the 10,000 limit, the maximum cost per namespace is ~$3,500 per month at a 5-minute collection interval. | ||
|
|
||
| If you need to reduce cost, you can lower the **Autodiscover Limit** in the integration's advanced settings. Reducing the limit below the number of metrics in your account means some metrics will not be collected, and which ones are dropped is not predictable. We recommend changing this value only if you understand the metric volume in your AWS account, and lowering it gradually while verifying that the metrics you rely on are still present. |
💚 Build Succeeded
|
Proposed commit message
increase cloudwatch autodiscover limit and add section to readme explaining the consequence
Checklist
changelog.ymlfile.Author's Checklist
How to test this PR locally
Related issues
Screenshots