Skip to content

Commit 8f8d019

Browse files
Creating a OTLPSpanExporter if configured in environment
1 parent 21a7083 commit 8f8d019

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

  • libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core

libraries/microsoft-agents-a365-observability-core/microsoft_agents_a365/observability/core/config.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Copyright (c) Microsoft Corporation.
22
# Licensed under the MIT License.
33

4+
import os
45
import logging
56
import threading
67
from collections.abc import Callable
@@ -10,6 +11,7 @@
1011
from opentelemetry.sdk.resources import SERVICE_NAME, SERVICE_NAMESPACE, Resource
1112
from opentelemetry.sdk.trace import TracerProvider
1213
from opentelemetry.sdk.trace.export import ConsoleSpanExporter
14+
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
1315

1416
from .exporters.agent365_exporter import _Agent365Exporter
1517
from .exporters.agent365_exporter_options import Agent365ExporterOptions
@@ -154,18 +156,27 @@ def _configure_internal(
154156
"max_export_batch_size": exporter_options.max_export_batch_size,
155157
}
156158

159+
exporter = None
157160
if is_agent365_exporter_enabled() and exporter_options.token_resolver is not None:
158161
exporter = _Agent365Exporter(
159162
token_resolver=exporter_options.token_resolver,
160163
cluster_category=exporter_options.cluster_category,
161164
use_s2s_endpoint=exporter_options.use_s2s_endpoint,
162165
suppress_invoke_agent_input=suppress_invoke_agent_input,
163166
)
167+
164168
else:
165-
exporter = ConsoleSpanExporter()
166-
self._logger.warning(
167-
"is_agent365_exporter_enabled() not enabled or token_resolver not set.Falling back to console exporter."
168-
)
169+
170+
if os.environ.get("OTEL_EXPORTER_OTLP_ENDPOINT"):
171+
exporter = OTLPSpanExporter()
172+
self._logger.warning(
173+
"is_agent365_exporter_enabled() not enabled or token_resolver not set. Falling back to OTLP exporter."
174+
)
175+
else:
176+
exporter = ConsoleSpanExporter()
177+
self._logger.warning(
178+
"is_agent365_exporter_enabled() not enabled or token_resolver not set.Falling back to console exporter."
179+
)
169180

170181
# Add span processors
171182

0 commit comments

Comments
 (0)