Skip to content

Commit b6bc347

Browse files
committed
refactor: use single logs exporter and logs provider instance
1 parent 5a7d402 commit b6bc347

File tree

3 files changed

+12
-15
lines changed

3 files changed

+12
-15
lines changed

aws-opentelemetry-distro/src/amazon/opentelemetry/distro/aws_opentelemetry_configurator.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from amazon.opentelemetry.distro.sampler.aws_xray_remote_sampler import AwsXRayRemoteSampler
2929
from amazon.opentelemetry.distro.scope_based_exporter import ScopeBasedPeriodicExportingMetricReader
3030
from amazon.opentelemetry.distro.scope_based_filtering_view import ScopeBasedRetainingView
31-
from opentelemetry._logs import set_logger_provider
31+
from opentelemetry._logs import set_logger_provider, get_logger_provider
3232
from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
3333
from opentelemetry.exporter.otlp.proto.http.metric_exporter import OTLPMetricExporter as OTLPHttpOTLPMetricExporter
3434
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
@@ -163,16 +163,17 @@ def _initialize_components():
163163
sampler_name = _get_sampler()
164164
sampler = _custom_import_sampler(sampler_name, resource)
165165

166+
logging_enabled = os.getenv(_OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED, "false")
167+
if logging_enabled.strip().lower() == "true":
168+
_init_logging(log_exporters, resource)
169+
166170
_init_tracing(
167171
exporters=trace_exporters,
168172
id_generator=id_generator,
169173
sampler=sampler,
170174
resource=resource,
171175
)
172176
_init_metrics(metric_exporters, resource)
173-
logging_enabled = os.getenv(_OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED, "false")
174-
if logging_enabled.strip().lower() == "true":
175-
_init_logging(log_exporters, resource)
176177

177178

178179
def _init_logging(
@@ -367,7 +368,7 @@ def _customize_span_exporter(span_exporter: SpanExporter, resource: Resource) ->
367368
logs_exporter = OTLPAwsLogExporter(endpoint=logs_endpoint)
368369
span_exporter = OTLPAwsSpanExporter(
369370
endpoint=traces_endpoint,
370-
logs_exporter=logs_exporter
371+
logger_provider=get_logger_provider()
371372
)
372373
else:
373374
span_exporter = OTLPAwsSpanExporter(endpoint=traces_endpoint)

aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/otlp/aws/traces/otlp_aws_span_exporter.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
from amazon.opentelemetry.distro.exporter.otlp.aws.common.aws_auth_session import AwsAuthSession
77
from amazon.opentelemetry.distro.llo_handler import LLOHandler
8-
from amazon.opentelemetry.distro.exporter.otlp.aws.logs.otlp_aws_logs_exporter import OTLPAwsLogExporter
98
from amazon.opentelemetry.distro._utils import is_agent_observability_enabled
9+
from opentelemetry.sdk._logs import LoggerProvider
1010
from opentelemetry.exporter.otlp.proto.http import Compression
1111
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
1212
from opentelemetry.sdk.trace import ReadableSpan
@@ -25,12 +25,12 @@ def __init__(
2525
headers: Optional[Dict[str, str]] = None,
2626
timeout: Optional[int] = None,
2727
compression: Optional[Compression] = None,
28-
logs_exporter: Optional[OTLPAwsLogExporter] = None
28+
logger_provider: Optional[LoggerProvider] = None
2929
):
3030
self._aws_region = None
3131

32-
if logs_exporter:
33-
self._llo_handler = LLOHandler(logs_exporter)
32+
if logger_provider:
33+
self._llo_handler = LLOHandler(logger_provider)
3434

3535
if endpoint:
3636
self._aws_region = endpoint.split(".")[1]

aws-opentelemetry-distro/src/amazon/opentelemetry/distro/llo_handler.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,8 @@ class LLOHandler:
2020
This class identifies LLO attributes, emits them as log records, and filters
2121
them out from telemetry data.
2222
"""
23-
def __init__(self, logs_exporter: OTLPAwsLogExporter):
24-
self._logs_exporter = logs_exporter
25-
self._logger_provider = LoggerProvider()
26-
self._logger_provider.add_log_record_processor(
27-
BatchLogRecordProcessor(self._logs_exporter)
28-
)
23+
def __init__(self, logger_provider: LoggerProvider):
24+
self._logger_provider = logger_provider
2925

3026
self._event_logger_provider = EventLoggerProvider(logger_provider=self._logger_provider)
3127
self._event_logger = self._event_logger_provider.get_event_logger("gen_ai.events")

0 commit comments

Comments
 (0)