Skip to content

Commit f4f3253

Browse files
authored
Configurable max backoff for GRPC exporter (#4333)
1 parent 5a821ac commit f4f3253

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8787
([#4353](https://github.com/open-telemetry/opentelemetry-python/pull/4353))
8888
- sdk: don't log or print warnings when the SDK has been disabled
8989
([#4371](https://github.com/open-telemetry/opentelemetry-python/pull/4371))
90+
- Configurable max retry timeout for grpc exporter
91+
([#4333](https://github.com/open-telemetry/opentelemetry-python/pull/4333))
9092
- Fix span context manager typing by using ParamSpec from typing_extensions
9193
([#4389](https://github.com/open-telemetry/opentelemetry-python/pull/4389))
9294
- Fix serialization of None values in logs body to match 1.31.0+ data model

exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@ class OTLPExporterMixin(
187187
compression: gRPC compression method to use
188188
"""
189189

190+
_MAX_RETRY_TIMEOUT = 64
191+
190192
def __init__(
191193
self,
192194
endpoint: Optional[str] = None,
@@ -286,12 +288,13 @@ def _export(
286288
# data.__class__.__name__,
287289
# delay,
288290
# )
289-
max_value = 64
290291
# expo returns a generator that yields delay values which grow
291292
# exponentially. Once delay is greater than max_value, the yielded
292293
# value will remain constant.
293-
for delay in _create_exp_backoff_generator(max_value=max_value):
294-
if delay == max_value or self._shutdown:
294+
for delay in _create_exp_backoff_generator(
295+
max_value=self._MAX_RETRY_TIMEOUT
296+
):
297+
if delay == self._MAX_RETRY_TIMEOUT or self._shutdown:
295298
return self._result.FAILURE
296299

297300
with self._export_lock:

0 commit comments

Comments
 (0)