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

Cardinality or memory limit for prometheus exporters #33540

Open
LeoQuote opened this issue Jun 13, 2024 · 3 comments
Open

Cardinality or memory limit for prometheus exporters #33540

LeoQuote opened this issue Jun 13, 2024 · 3 comments

Comments

@LeoQuote
Copy link

Component(s)

exporter/prometheus, exporter/prometheusremotewrite

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

When the collector receives metrics, it occupies a portion of the memory, and when the workload stops sending metrics, this part of the memory is not released.

Memory growth may lead to memory limits being exceeded or excessively frequent garbage collection (GC), resulting in efficiency issues. Additionally, an excess of useless metrics can also cause storage and memory pressure on Prometheus.

Describe the solution you'd like

Provided a method to automatically expire related metrics at the collector level, it would alleviate the pressure on both the collector and Prometheus simultaneously.

Describe alternatives you've considered

Setting a cardinality limit could be an approach. If this limit is exceeded, the process should either exit or clean up the metrics. Developers can monitor the restart of the process to detect potential issues in real time.

Additional context

could be related to: #32511 #33324

Copy link
Contributor

Pinging code owners:

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

@wildum
Copy link

wildum commented Jul 4, 2024

Hi, isn't the memory released via the metric_expiration parameter in the prometheusexporter?

@LeoQuote
Copy link
Author

LeoQuote commented Jul 9, 2024

Yes, it is released, but metrics could be too much that reached the very high level for a short time even before any metric expires

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants