Skip to content

Commit 36a7a7b

Browse files
committed
Respond to comments in PR
1 parent fd995c4 commit 36a7a7b

File tree

3 files changed

+25
-30
lines changed

3 files changed

+25
-30
lines changed

opentelemetry-sdk/src/opentelemetry/sdk/_shared_internal/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ def _export(self, batch_strategy: BatchExportStrategy) -> None:
172172
# See https://github.com/open-telemetry/opentelemetry-python/issues/4261
173173
def emit(self, data: Telemetry) -> None:
174174
if self._shutdown:
175+
self._logger.info("shutdowing")
175176
return
176177
if self._pid != os.getpid():
177178
self._bsp_reset_once.do_once(self._at_fork_reinit)

opentelemetry-sdk/tests/logs/test_export.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
from unittest.mock import Mock, patch
2121

2222
from opentelemetry._logs import SeverityNumber
23+
from opentelemetry._logs import set_logger_provider
24+
2325
from opentelemetry.sdk import trace
2426
from opentelemetry.sdk._logs import (
2527
LogData,
@@ -44,6 +46,7 @@
4446
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
4547
from opentelemetry.trace import TraceFlags
4648
from opentelemetry.trace.span import INVALID_SPAN_CONTEXT
49+
from opentelemetry.sdk.resources import Resource
4750

4851
EMPTY_LOG = LogData(
4952
log_record=LogRecord(),
@@ -342,6 +345,27 @@ def test_emit_call_log_record(self):
342345
logger.error("error")
343346
self.assertEqual(log_record_processor.emit.call_count, 1)
344347

348+
def test_logging_lib_not_invoked_in_batch_log_record_emit(self):
349+
exporter = Mock()
350+
processor = BatchLogRecordProcessor(exporter)
351+
logger_provider = LoggerProvider(
352+
resource=Resource.create(
353+
{
354+
"service.name": "shoppingcart",
355+
"service.instance.id": "instance-12",
356+
}
357+
),
358+
)
359+
logger_provider.add_log_record_processor(processor)
360+
# Attach OTLP handler to root logger
361+
logging.getLogger().addHandler(
362+
LoggingHandler(level=logging.INFO, logger_provider=logger_provider)
363+
)
364+
# If `emit` calls logging.log then this test will throw a maximum recursion depth exceeded exception and fail.
365+
processor.emit(EMPTY_LOG)
366+
processor.shutdown()
367+
processor.emit(EMPTY_LOG)
368+
345369
def test_args(self):
346370
exporter = InMemoryLogExporter()
347371
log_record_processor = BatchLogRecordProcessor(

opentelemetry-sdk/tests/shared_internal/test_batch_processor.py

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
# pylint: disable=protected-access
1616
import gc
17-
import logging
1817
import multiprocessing
1918
import os
2019
import time
@@ -28,11 +27,8 @@
2827
import pytest
2928
from pytest import mark
3029

31-
from opentelemetry._logs import set_logger_provider
3230
from opentelemetry.sdk._logs import (
3331
LogData,
34-
LoggerProvider,
35-
LoggingHandler,
3632
LogRecord,
3733
)
3834
from opentelemetry.sdk._logs.export import (
@@ -214,29 +210,3 @@ def test_record_processor_is_garbage_collected(
214210

215211
# Then the reference to the processor should no longer exist
216212
assert weak_ref() is None
217-
218-
def test_logging_lib_not_invoked_in_emit(
219-
self, batch_processor_class, telemetry
220-
):
221-
exporter = Mock()
222-
processor = batch_processor_class(exporter)
223-
processor._batch_processor.emit(telemetry)
224-
logger_provider = LoggerProvider(
225-
resource=Resource.create(
226-
{
227-
"service.name": "shoppingcart",
228-
"service.instance.id": "instance-12",
229-
}
230-
),
231-
)
232-
set_logger_provider(logger_provider)
233-
logger_provider.add_log_record_processor(processor)
234-
handler = LoggingHandler(
235-
level=logging.INFO, logger_provider=logger_provider
236-
)
237-
# Attach OTLP handler to root logger
238-
logging.getLogger().addHandler(handler)
239-
# If `emit` calls logging.log then this test will throw a maximum recursion depth exceeded exception and fail.
240-
processor.emit(telemetry)
241-
processor.shutdown()
242-
processor.emit(telemetry)

0 commit comments

Comments
 (0)