|
23 | 23 | AwsMetricAttributesSpanExporterBuilder,
|
24 | 24 | )
|
25 | 25 | from amazon.opentelemetry.distro.aws_span_metrics_processor_builder import AwsSpanMetricsProcessorBuilder
|
| 26 | +from amazon.opentelemetry.distro.exporter.otlp.aws.logs.otlp_aws_logs_exporter import OTLPAwsLogExporter |
| 27 | +from amazon.opentelemetry.distro.exporter.otlp.aws.traces.otlp_aws_span_exporter import OTLPAwsSpanExporter |
26 | 28 | from amazon.opentelemetry.distro.otlp_udp_exporter import OTLPUdpSpanExporter
|
27 | 29 | from amazon.opentelemetry.distro.sampler.aws_xray_remote_sampler import AwsXRayRemoteSampler
|
28 | 30 | from amazon.opentelemetry.distro.scope_based_exporter import ScopeBasedPeriodicExportingMetricReader
|
@@ -209,7 +211,8 @@ def _init_logging(
|
209 | 211 | for _, exporter_class in exporters.items():
|
210 | 212 | exporter_args = {}
|
211 | 213 | log_exporter: LogExporter = _customize_logs_exporter(exporter_class(**exporter_args))
|
212 |
| - _customize_log_record_processor(provider, log_exporter) |
| 214 | + log_processor = _customize_log_record_processor(log_exporter) |
| 215 | + provider.add_log_record_processor(log_processor) |
213 | 216 |
|
214 | 217 | event_logger_provider = EventLoggerProvider(logger_provider=provider)
|
215 | 218 | set_event_logger_provider(event_logger_provider)
|
@@ -412,20 +415,14 @@ def _customize_span_exporter(span_exporter: SpanExporter, resource: Resource) ->
|
412 | 415 | return AwsMetricAttributesSpanExporterBuilder(span_exporter, resource).build()
|
413 | 416 |
|
414 | 417 |
|
415 |
| -def _customize_log_record_processor(provider: LoggerProvider, log_exporter: Optional[LogExporter]) -> None: |
416 |
| - if log_exporter is None: |
417 |
| - return |
418 |
| - if is_agent_observability_enabled() and IS_BOTOCORE_INSTALLED: |
419 |
| - from amazon.opentelemetry.distro.exporter.otlp.aws.logs.aws_batch_log_record_processor import ( |
420 |
| - AwsCloudWatchOtlpBatchLogRecordProcessor, |
421 |
| - ) |
| 418 | +def _customize_log_record_processor(log_exporter: LogExporter): |
| 419 | + if isinstance(log_exporter, OTLPAwsLogExporter) and is_agent_observability_enabled(): |
| 420 | + return AwsCloudWatchOtlpBatchLogRecordProcessor(exporter=log_exporter) |
422 | 421 |
|
423 |
| - provider.add_log_record_processor(AwsCloudWatchOtlpBatchLogRecordProcessor(exporter=log_exporter)) |
424 |
| - else: |
425 |
| - provider.add_log_record_processor(BatchLogRecordProcessor(exporter=log_exporter)) |
| 422 | + return BatchLogRecordProcessor(exporter=log_exporter) |
426 | 423 |
|
427 | 424 |
|
428 |
| -def _customize_logs_exporter(log_exporter: LogExporter) -> Optional[LogExporter]: |
| 425 | +def _customize_logs_exporter(log_exporter: LogExporter) -> LogExporter: |
429 | 426 | logs_endpoint = os.environ.get(OTEL_EXPORTER_OTLP_LOGS_ENDPOINT)
|
430 | 427 |
|
431 | 428 | if _is_aws_otlp_endpoint(logs_endpoint, "logs"):
|
|
0 commit comments