Skip to content

Commit 0f2d11a

Browse files
nirgaclaude
andcommitted
fix: update Event API for OpenTelemetry SDK 1.38.0 compatibility
Replace LogRecord with Event from opentelemetry._events to fix compatibility with OpenTelemetry SDK 1.38.0. The LogRecord API no longer supports event_name parameter; events are now emitted using the Event class with a name parameter. Changes: - Replace LogRecord import with Event from opentelemetry._events - Update event_emitter.py to create Event instances instead of LogRecord - Update test assertions to use event.name instead of event.event_name All 40 tests now passing. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 13f1e33 commit 0f2d11a

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

packages/opentelemetry-instrumentation-anthropic/opentelemetry/instrumentation/anthropic/event_emitter.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
import json
44
from typing import Optional, Union
55

6-
from opentelemetry._logs import Logger, LogRecord
6+
from opentelemetry._events import Event
7+
from opentelemetry._logs import Logger
78
from opentelemetry.instrumentation.anthropic.event_models import (
89
ChoiceEvent,
910
MessageEvent,
@@ -208,12 +209,12 @@ def _emit_message_event(event: MessageEvent, event_logger: Logger) -> None:
208209
for tool_call in body["tool_calls"]:
209210
tool_call["function"].pop("arguments", None)
210211

211-
log_record = LogRecord(
212+
event = Event(
213+
name=name,
212214
body=body,
213-
attributes=EVENT_ATTRIBUTES,
214-
event_name=name
215+
attributes=EVENT_ATTRIBUTES
215216
)
216-
event_logger.emit(log_record)
217+
event_logger.emit(event)
217218

218219

219220
def _emit_choice_event(event: ChoiceEvent, event_logger: Logger) -> None:
@@ -232,10 +233,9 @@ def _emit_choice_event(event: ChoiceEvent, event_logger: Logger) -> None:
232233
for tool_call in body["tool_calls"]:
233234
tool_call["function"].pop("arguments", None)
234235

235-
log_record = LogRecord(
236+
event = Event(
237+
name="gen_ai.choice",
236238
body=body,
237-
attributes=EVENT_ATTRIBUTES,
238-
event_name="gen_ai.choice"
239-
239+
attributes=EVENT_ATTRIBUTES
240240
)
241-
event_logger.emit(log_record)
241+
event_logger.emit(event)

packages/opentelemetry-instrumentation-anthropic/tests/test_messages.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2440,7 +2440,7 @@ def test_with_asyncio_run_with_events_with_no_content(
24402440

24412441

24422442
def assert_message_in_logs(log: LogData, event_name: str, expected_content: dict):
2443-
assert log.log_record.event_name == event_name
2443+
assert log.log_record.name == event_name
24442444
assert (
24452445
log.log_record.attributes.get(GenAIAttributes.GEN_AI_SYSTEM)
24462446
== GenAIAttributes.GenAiSystemValues.ANTHROPIC.value

0 commit comments

Comments
 (0)