@@ -48,10 +48,15 @@ import os
4848os.environ[" AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED" ] = " true"
4949os.environ[" AZURE_SDK_TRACING_IMPLEMENTATION" ] = " opentelemetry"
5050
51+ from opentelemetry import trace, _events
5152from opentelemetry.sdk.resources import Resource
5253from opentelemetry.sdk.trace import TracerProvider
5354from opentelemetry.sdk.trace.export import BatchSpanProcessor
55+ from opentelemetry.sdk._logs import LoggerProvider
56+ from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
5457from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
58+ from opentelemetry.sdk._events import EventLoggerProvider
59+ from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
5560
5661resource = Resource(attributes = {
5762 " service.name" : " opentelemetry-instrumentation-azure-ai-agents"
@@ -64,6 +69,12 @@ processor = BatchSpanProcessor(otlp_exporter)
6469provider.add_span_processor(processor)
6570trace.set_tracer_provider(provider)
6671
72+ logger_provider = LoggerProvider(resource = resource)
73+ logger_provider.add_log_record_processor(
74+ BatchLogRecordProcessor(OTLPLogExporter(endpoint = " http://localhost:4318/v1/logs" ))
75+ )
76+ _events.set_event_logger_provider(EventLoggerProvider(logger_provider))
77+
6778from azure.ai.inference.tracing import AIInferenceInstrumentor
6879AIInferenceInstrumentor().instrument(True )
6980```
@@ -124,10 +135,15 @@ import os
124135os.environ[" AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED" ] = " true"
125136os.environ[" AZURE_SDK_TRACING_IMPLEMENTATION" ] = " opentelemetry"
126137
138+ from opentelemetry import trace, _events
127139from opentelemetry.sdk.resources import Resource
128140from opentelemetry.sdk.trace import TracerProvider
129141from opentelemetry.sdk.trace.export import BatchSpanProcessor
142+ from opentelemetry.sdk._logs import LoggerProvider
143+ from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
130144from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
145+ from opentelemetry.sdk._events import EventLoggerProvider
146+ from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
131147
132148resource = Resource(attributes = {
133149 " service.name" : " opentelemetry-instrumentation-azure-ai-agents"
@@ -140,6 +156,12 @@ processor = BatchSpanProcessor(otlp_exporter)
140156provider.add_span_processor(processor)
141157trace.set_tracer_provider(provider)
142158
159+ logger_provider = LoggerProvider(resource = resource)
160+ logger_provider.add_log_record_processor(
161+ BatchLogRecordProcessor(OTLPLogExporter(endpoint = " http://localhost:4318/v1/logs" ))
162+ )
163+ _events.set_event_logger_provider(EventLoggerProvider(logger_provider))
164+
143165from azure.ai.agents.telemetry import AIAgentsInstrumentor
144166AIAgentsInstrumentor().instrument(True )
145167```
@@ -195,11 +217,15 @@ pip install opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemet
195217
196218** Setup:**
197219``` python
198- from opentelemetry import trace
220+ from opentelemetry import trace, _events
199221from opentelemetry.sdk.resources import Resource
200222from opentelemetry.sdk.trace import TracerProvider
201223from opentelemetry.sdk.trace.export import BatchSpanProcessor
224+ from opentelemetry.sdk._logs import LoggerProvider
225+ from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
202226from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
227+ from opentelemetry.sdk._events import EventLoggerProvider
228+ from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
203229
204230resource = Resource(attributes = {
205231 " service.name" : " opentelemetry-instrumentation-anthropic-traceloop"
@@ -212,6 +238,12 @@ processor = BatchSpanProcessor(otlp_exporter)
212238provider.add_span_processor(processor)
213239trace.set_tracer_provider(provider)
214240
241+ logger_provider = LoggerProvider(resource = resource)
242+ logger_provider.add_log_record_processor(
243+ BatchLogRecordProcessor(OTLPLogExporter(endpoint = " http://localhost:4318/v1/logs" ))
244+ )
245+ _events.set_event_logger_provider(EventLoggerProvider(logger_provider))
246+
215247from opentelemetry.instrumentation.anthropic import AnthropicInstrumentor
216248AnthropicInstrumentor().instrument()
217249```
@@ -248,11 +280,15 @@ pip install opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemet
248280
249281** Setup:**
250282``` python
251- from opentelemetry import trace
283+ from opentelemetry import trace, _events
252284from opentelemetry.sdk.resources import Resource
253285from opentelemetry.sdk.trace import TracerProvider
254286from opentelemetry.sdk.trace.export import BatchSpanProcessor
287+ from opentelemetry.sdk._logs import LoggerProvider
288+ from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
255289from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
290+ from opentelemetry.sdk._events import EventLoggerProvider
291+ from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
256292
257293resource = Resource(attributes = {
258294 " service.name" : " opentelemetry-instrumentation-google-genai"
@@ -265,6 +301,12 @@ processor = BatchSpanProcessor(otlp_exporter)
265301provider.add_span_processor(processor)
266302trace.set_tracer_provider(provider)
267303
304+ logger_provider = LoggerProvider(resource = resource)
305+ logger_provider.add_log_record_processor(
306+ BatchLogRecordProcessor(OTLPLogExporter(endpoint = " http://localhost:4318/v1/logs" ))
307+ )
308+ _events.set_event_logger_provider(EventLoggerProvider(logger_provider))
309+
268310from opentelemetry.instrumentation.google_genai import GoogleGenAiSdkInstrumentor
269311GoogleGenAiSdkInstrumentor().instrument(enable_content_recording = True )
270312```
@@ -316,14 +358,24 @@ pip install opentelemetry-sdk opentelemetry-exporter-otlp-proto-http opentelemet
316358
317359** Setup:**
318360``` python
319- from opentelemetry import trace
320- from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
361+ from opentelemetry import trace, _events
362+ from opentelemetry.sdk.resources import Resource
321363from opentelemetry.sdk.trace import TracerProvider
322364from opentelemetry.sdk.trace.export import BatchSpanProcessor
365+ from opentelemetry.sdk._logs import LoggerProvider
366+ from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
367+ from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
368+ from opentelemetry.sdk._events import EventLoggerProvider
369+ from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
323370from opentelemetry.instrumentation.openai_v2 import OpenAIInstrumentor
324371
372+ # Set up resource
373+ resource = Resource(attributes = {
374+ " service.name" : " opentelemetry-instrumentation-openai"
375+ })
376+
325377# Set up tracer provider
326- trace.set_tracer_provider(TracerProvider())
378+ trace.set_tracer_provider(TracerProvider(resource = resource ))
327379
328380# Configure OTLP exporter
329381otlp_exporter = OTLPSpanExporter(
@@ -335,6 +387,13 @@ trace.get_tracer_provider().add_span_processor(
335387 BatchSpanProcessor(otlp_exporter)
336388)
337389
390+ # Set up logger provider
391+ logger_provider = LoggerProvider(resource = resource)
392+ logger_provider.add_log_record_processor(
393+ BatchLogRecordProcessor(OTLPLogExporter(endpoint = " http://localhost:4318/v1/logs" ))
394+ )
395+ _events.set_event_logger_provider(EventLoggerProvider(logger_provider))
396+
338397# Enable OpenAI instrumentation
339398OpenAIInstrumentor().instrument()
340399```
@@ -437,11 +496,15 @@ import os
437496os.environ[" AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED" ] = " true"
438497os.environ[" AZURE_SDK_TRACING_IMPLEMENTATION" ] = " opentelemetry"
439498
440- from opentelemetry import trace
499+ from opentelemetry import trace, _events
441500from opentelemetry.sdk.resources import Resource
442501from opentelemetry.sdk.trace import TracerProvider
443502from opentelemetry.sdk.trace.export import BatchSpanProcessor
503+ from opentelemetry.sdk._logs import LoggerProvider
504+ from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
444505from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
506+ from opentelemetry.sdk._events import EventLoggerProvider
507+ from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
445508
446509github_token = os.environ[" GITHUB_TOKEN" ]
447510
@@ -456,6 +519,12 @@ processor = BatchSpanProcessor(otlp_exporter)
456519provider.add_span_processor(processor)
457520trace.set_tracer_provider(provider)
458521
522+ logger_provider = LoggerProvider(resource = resource)
523+ logger_provider.add_log_record_processor(
524+ BatchLogRecordProcessor(OTLPLogExporter(endpoint = " http://localhost:4318/v1/logs" ))
525+ )
526+ _events.set_event_logger_provider(EventLoggerProvider(logger_provider))
527+
459528from azure.ai.inference.tracing import AIInferenceInstrumentor
460529AIInferenceInstrumentor().instrument()
461530# ## Set up for OpenTelemetry tracing ###
0 commit comments