Open Bruno-DaSilva opened 8 months ago
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself.
xref https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/20304 where 5xx retrying was implemented.
From the spec this looks like a valid request to me. The code owners may have more thoughts though as they have more context than I do.
Hi, could I get this assigned please, working a draft.
Thanks @jmichalek132!
Related, open issue on the backoff library to implement support for retry after https://github.com/cenkalti/backoff/issues/134.
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.
not stale
Component(s)
exporter/prometheusremotewrite
Is your feature request related to a problem? Please describe.
Prometheus remote write exporter does not currently retry on HTTP 429s TooManyRequests. Many remote write destinations implement 429 and it's not great if we're dropping metrics because we're being temporarily rate limited.
For context, the remotewrite spec says:
Describe the solution you'd like
The prometheus reference implementation here retries on 429: https://github.com/prometheus/prometheus/blob/main/storage/remote/client.go#L239-L242 It also uses the 'retry after duration' header to modulate the retry backoff -- not sure how best to handle that in the otel implementation.
The current implementation retries on 500, so I figure we could just add a 429 check to this same if statement, at minimum. https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/prometheusremotewriteexporter/exporter.go#L270-L273
Describe alternatives you've considered
No response
Additional context
No response