Skip to content

Commit 2176fca

Browse files
authored
fix: migrate from events api to log records for otel 1.37.0+ compatibility (#3453)
1 parent da7ec49 commit 2176fca

File tree

176 files changed

+3403
-3145
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+3403
-3145
lines changed

packages/opentelemetry-instrumentation-alephalpha/opentelemetry/instrumentation/alephalpha/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from typing import Collection, List, Optional, Union
66

77
from opentelemetry import context as context_api
8-
from opentelemetry._events import EventLogger, get_event_logger
8+
from opentelemetry._logs import Logger, get_logger
99
from opentelemetry.instrumentation.alephalpha.config import Config
1010
from opentelemetry.instrumentation.alephalpha.event_emitter import emit_event
1111
from opentelemetry.instrumentation.alephalpha.event_models import (
@@ -38,7 +38,7 @@
3838

3939
logger = logging.getLogger(__name__)
4040

41-
_instruments = ("aleph_alpha_client >= 7.1.0, <8",)
41+
_instruments = ("aleph_alpha_client >= 7.1.0",)
4242

4343
WRAPPED_METHODS = [
4444
{
@@ -69,7 +69,7 @@ def _set_span_attribute(span, name, value):
6969

7070
@dont_throw
7171
def _handle_message_event(
72-
event: PromptEvent, span: Span, event_logger: Optional[EventLogger], kwargs
72+
event: PromptEvent, span: Span, event_logger: Optional[Logger], kwargs
7373
):
7474
if span.is_recording():
7575
_set_span_attribute(span, GenAIAttributes.GEN_AI_REQUEST_MODEL, kwargs.get("model"))
@@ -141,7 +141,7 @@ def _parse_completion_event(response) -> List[CompletionEvent]:
141141
@_with_tracer_wrapper
142142
def _wrap(
143143
tracer: Tracer,
144-
event_logger: Union[EventLogger, None],
144+
event_logger: Union[Logger, None],
145145
to_wrap,
146146
wrapped,
147147
instance,
@@ -197,11 +197,11 @@ def _instrument(self, **kwargs):
197197
event_logger = None
198198

199199
if should_emit_events():
200-
event_logger_provider = kwargs.get("event_logger_provider")
201-
event_logger = get_event_logger(
200+
logger_provider = kwargs.get("logger_provider")
201+
event_logger = get_logger(
202202
__name__,
203203
__version__,
204-
event_logger_provider=event_logger_provider,
204+
logger_provider=logger_provider,
205205
)
206206

207207
for wrapped_method in WRAPPED_METHODS:

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

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from enum import Enum
22
from typing import Union
33

4-
from opentelemetry._events import Event
4+
from opentelemetry._logs import LogRecord
55
from opentelemetry.instrumentation.alephalpha.event_models import (
66
CompletionEvent,
77
PromptEvent,
@@ -79,7 +79,12 @@ def _emit_prompt_event(event: PromptEvent, event_logger) -> None:
7979
for tool_call in body["tool_calls"]:
8080
tool_call["function"].pop("arguments", None)
8181

82-
event_logger.emit(Event(name=name, body=body, attributes=EVENT_ATTRIBUTES))
82+
log_record = LogRecord(
83+
body=body,
84+
attributes=EVENT_ATTRIBUTES,
85+
event_name=name
86+
)
87+
event_logger.emit(log_record)
8388

8489

8590
def _emit_completion_event(event: CompletionEvent, event_logger) -> None:
@@ -108,6 +113,10 @@ def _emit_completion_event(event: CompletionEvent, event_logger) -> None:
108113
for tool_call in body["tool_calls"]:
109114
tool_call["function"].pop("arguments", None)
110115

111-
event_logger.emit(
112-
Event(name="gen_ai.choice", body=body, attributes=EVENT_ATTRIBUTES)
116+
log_record = LogRecord(
117+
body=body,
118+
attributes=EVENT_ATTRIBUTES,
119+
event_name="gen_ai.choice"
120+
113121
)
122+
event_logger.emit(log_record)

packages/opentelemetry-instrumentation-alephalpha/poetry.lock

Lines changed: 39 additions & 57 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/opentelemetry-instrumentation-alephalpha/pyproject.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ include = "opentelemetry/instrumentation/alephalpha"
2424

2525
[tool.poetry.dependencies]
2626
python = ">=3.9,<4"
27-
opentelemetry-api = "^1.28.0"
28-
opentelemetry-instrumentation = ">=0.50b0"
29-
opentelemetry-semantic-conventions = ">=0.50b0"
27+
opentelemetry-api = "^1.38.0"
28+
opentelemetry-instrumentation = ">=0.59b0"
29+
opentelemetry-semantic-conventions = ">=0.59b0"
3030
opentelemetry-semantic-conventions-ai = "^0.4.13"
3131

3232
[tool.poetry.group.dev.dependencies]
@@ -42,7 +42,7 @@ pytest-sugar = "1.0.0"
4242
vcrpy = "^6.0.1"
4343
pytest-recording = "^0.13.1"
4444
pytest-asyncio = "^0.23.7"
45-
opentelemetry-sdk = "^1.27.0"
45+
opentelemetry-sdk = "^1.38.0"
4646

4747
[build-system]
4848
requires = ["poetry-core"]

0 commit comments

Comments
 (0)