Skip to content

Commit 05a16f9

Browse files
committed
refactor(http): introduce variables to unify logging
1 parent d92597d commit 05a16f9

File tree

3 files changed

+49
-28
lines changed
  • exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http

3 files changed

+49
-28
lines changed

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,15 +192,22 @@ def export(
192192
resp = self._export(serialized_data, deadline_sec - time())
193193
if resp.ok:
194194
return LogExportResult.SUCCESS
195-
if not _is_retryable(resp):
196-
_logger.error(
197-
"Failed to export logs batch code: %s, reason: %s",
198-
resp.status_code,
199-
resp.text,
200-
)
201-
return LogExportResult.FAILURE
202195
except requests.exceptions.RequestException as error:
203-
_logger.error("Failed to export logs batch reason: %s", error)
196+
reason = str(error)
197+
retryable = True
198+
status_code = None
199+
else:
200+
reason = resp.reason
201+
retryable = _is_retryable(resp)
202+
status_code = resp.status_code
203+
204+
if not retryable:
205+
_logger.error(
206+
"Failed to export logs batch code: %s, reason: %s",
207+
status_code,
208+
reason,
209+
)
210+
return LogExportResult.FAILURE
204211

205212
if (
206213
retry_num + 1 == _MAX_RETRYS
@@ -213,7 +220,8 @@ def export(
213220
)
214221
return LogRecordExportResult.FAILURE
215222
_logger.warning(
216-
"Transient error encountered while exporting logs batch, retrying in %.2fs.",
223+
"Transient error %s encountered while exporting logs batch, retrying in %.2fs.",
224+
reason,
217225
backoff_seconds,
218226
)
219227
shutdown = self._shutdown_is_occuring.wait(backoff_seconds)

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -237,18 +237,22 @@ def export(
237237
resp = self._export(serialized_data, deadline_sec - time())
238238
if resp.ok:
239239
return MetricExportResult.SUCCESS
240-
if not _is_retryable(resp):
241-
_logger.error(
242-
"Failed to export metrics batch code: %s, reason: %s",
243-
resp.status_code,
244-
resp.text,
245-
)
246-
return MetricExportResult.FAILURE
247240
except requests.exceptions.RequestException as error:
241+
reason = str(error)
242+
retryable = True
243+
status_code = None
244+
else:
245+
reason = resp.reason
246+
retryable = _is_retryable(resp)
247+
status_code = resp.status_code
248+
249+
if not retryable:
248250
_logger.error(
249-
"Failed to export metrics batch reason: %s", error
251+
"Failed to export metrics batch code: %s, reason: %s",
252+
status_code,
253+
reason,
250254
)
251-
255+
return MetricExportResult.FAILURE
252256
if (
253257
retry_num + 1 == _MAX_RETRYS
254258
or backoff_seconds > (deadline_sec - time())
@@ -260,7 +264,8 @@ def export(
260264
)
261265
return MetricExportResult.FAILURE
262266
_logger.warning(
263-
"Transient error encountered while exporting metrics batch, retrying in %.2fs.",
267+
"Transient error %s encountered while exporting metrics batch, retrying in %.2fs.",
268+
reason,
264269
backoff_seconds,
265270
)
266271
shutdown = self._shutdown_in_progress.wait(backoff_seconds)

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -185,15 +185,22 @@ def export(self, spans: Sequence[ReadableSpan]) -> SpanExportResult:
185185
resp = self._export(serialized_data, deadline_sec - time())
186186
if resp.ok:
187187
return SpanExportResult.SUCCESS
188-
if not _is_retryable(resp):
189-
_logger.error(
190-
"Failed to export span batch code: %s, reason: %s",
191-
resp.status_code,
192-
resp.text,
193-
)
194-
return SpanExportResult.FAILURE
195188
except requests.exceptions.RequestException as error:
196-
_logger.error("Failed to export span batch reason: %s", error)
189+
reason = str(error)
190+
retryable = True
191+
status_code = None
192+
else:
193+
reason = resp.reason
194+
retryable = _is_retryable(resp)
195+
status_code = resp.status_code
196+
197+
if not retryable:
198+
_logger.error(
199+
"Failed to export span batch code: %s, reason: %s",
200+
status_code,
201+
reason,
202+
)
203+
return SpanExportResult.FAILURE
197204

198205
if (
199206
retry_num + 1 == _MAX_RETRYS
@@ -206,7 +213,8 @@ def export(self, spans: Sequence[ReadableSpan]) -> SpanExportResult:
206213
)
207214
return SpanExportResult.FAILURE
208215
_logger.warning(
209-
"Transient error encountered while exporting span batch, retrying in %.2fs.",
216+
"Transient error %s encountered while exporting span batch, retrying in %.2fs.",
217+
reason,
210218
backoff_seconds,
211219
)
212220
shutdown = self._shutdown_in_progress.wait(backoff_seconds)

0 commit comments

Comments
 (0)