Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[exporter/awsemf] set default dimension_rollup_option to NoDimensionRollup #23997

Closed
abarganier opened this issue Jul 5, 2023 · 6 comments
Closed
Assignees
Labels

Comments

@abarganier
Copy link

Component(s)

exporter/awsemf

Is your feature request related to a problem? Please describe.

Currently, the dimension_rollup_option defaults to ZeroAndSingleDimensionRollup. This leads to an expensive explosion of metric counts in CloudWatch once ingested.

For example, if you have a metric:
my_metric{label1="a", label2="b"}

The CloudWatch exporter was exporting this as three unique metrics (potentially more?):

my_metric{label1="a", label2="b"}
my_metric{label1="a"}
my_metric{label2="b"}

As with most standard timeseries databases/monitoring systems, the default behavior here should be to just treat this is a single metric, my_metric{label1="a", label2="b"}.

To have the default behavior be anything different leads to large CloudWatch bills, where billing is done per-metric. This means that exploding a single metric into multiple drives the bill up considerably, and quite frankly, since I don't see any utility in decomposing a label set into multiple metrics per-label, it seems like the bill is high for no good reason.

Describe the solution you'd like

The default value of dimension_rollup_option should be NoDimensionRollup to avoid unexpected huge CloudWatch bills, where users can "opt-in" to the more expensive options if they choose to.

Describe alternatives you've considered

No response

Additional context

No response

@abarganier abarganier added enhancement New feature or request needs triage New item requiring triage labels Jul 5, 2023
@github-actions github-actions bot added the exporter/awsemf awsemf exporter label Jul 5, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jul 5, 2023

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@abarganier abarganier changed the title set default dimension_rollup_option to NoDimensionRollup [exporter/awsemf] set default dimension_rollup_option to NoDimensionRollup Jul 5, 2023
@bryan-aguilar
Copy link
Contributor

bryan-aguilar commented Jul 10, 2023

Hi @abarganier, thanks for bringing up this issue. I think the cost of the zeroandsingle dimension is a concern for many. While I can't comment on the reasoning for the default being set to ZeroAndSingleDimension rollup I do agree that NoDimensionRollup would be better suited as a default option. I will work on a PR for this and will link to this issue when ready.

@abarganier
Copy link
Author

@bryan-aguilar thank you for the response. Would love to see this merged & eventually become the default.

TylerHelmuth added a commit that referenced this issue Aug 4, 2023
**Description:** Add feature gate to change default
DimensionRollupOption. This was introduced as a feature gate since it
will be a breaking change when switching to Beta.

**Link to tracking Issue:** #23997

**Testing:** Added unit tests

**Documentation:** Updated readme.

---------

Co-authored-by: Antoine Toulme <[email protected]>
Co-authored-by: Anthony Mirabella <[email protected]>
Co-authored-by: Tyler Helmuth <[email protected]>
@bryan-aguilar bryan-aguilar added priority:p2 Medium and removed needs triage New item requiring triage labels Aug 11, 2023
@github-actions
Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

Copy link
Contributor

This issue has been inactive for 60 days. It will be closed in 60 days if there is no activity. To ping code owners by adding a component label, see Adding Labels via Comments, or if you are unsure of which component this issue relates to, please ping @open-telemetry/collector-contrib-triagers. If this issue is still relevant, please ping the code owners or leave a comment explaining why it is still relevant. Otherwise, please close it.

@github-actions github-actions bot added the Stale label Dec 13, 2023
Copy link
Contributor

This issue has been closed as inactive because it has been stale for 120 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Feb 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants