Skip to content

Commit 275a48f

Browse files
committed
Initial commit removing events from vertex ai instrumentation
1 parent c4347e0 commit 275a48f

File tree

5 files changed

+36
-38
lines changed

5 files changed

+36
-38
lines changed

instrumentation-genai/opentelemetry-instrumentation-vertexai/src/opentelemetry/instrumentation/vertexai/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
wrap_function_wrapper, # type: ignore[reportUnknownVariableType]
4848
)
4949

50-
from opentelemetry._events import get_event_logger
50+
from opentelemetry._logs import get_logger
5151
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
5252
from opentelemetry.instrumentation.utils import unwrap
5353
from opentelemetry.instrumentation.vertexai.package import _instruments
@@ -111,16 +111,16 @@ def _instrument(self, **kwargs: Any):
111111
tracer_provider,
112112
schema_url=Schemas.V1_28_0.value,
113113
)
114-
event_logger_provider = kwargs.get("event_logger_provider")
115-
event_logger = get_event_logger(
114+
logger_provider = kwargs.get("logger_provider")
115+
logger = get_logger(
116116
__name__,
117117
"",
118118
schema_url=Schemas.V1_28_0.value,
119-
event_logger_provider=event_logger_provider,
119+
logger_provider=logger_provider,
120120
)
121121

122122
method_wrappers = MethodWrappers(
123-
tracer, event_logger, is_content_enabled()
123+
tracer, logger, is_content_enabled()
124124
)
125125
for client_class, method_name, wrapper in _methods_to_wrap(
126126
method_wrappers

instrumentation-genai/opentelemetry-instrumentation-vertexai/src/opentelemetry/instrumentation/vertexai/events.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from dataclasses import asdict, dataclass
2626
from typing import Any, Iterable, Literal
2727

28-
from opentelemetry._events import Event
28+
from opentelemetry._logs import LogRecord
2929
from opentelemetry.semconv._incubating.attributes import gen_ai_attributes
3030
from opentelemetry.util.types import AnyValue
3131

@@ -34,7 +34,7 @@ def user_event(
3434
*,
3535
role: str = "user",
3636
content: AnyValue = None,
37-
) -> Event:
37+
) -> LogRecord:
3838
"""Creates a User event
3939
https://github.com/open-telemetry/semantic-conventions/blob/v1.28.0/docs/gen-ai/gen-ai-events.md#user-event
4040
"""
@@ -43,8 +43,8 @@ def user_event(
4343
}
4444
if content is not None:
4545
body["content"] = content
46-
return Event(
47-
name="gen_ai.user.message",
46+
return LogRecord(
47+
event_name="gen_ai.user.message",
4848
attributes={
4949
gen_ai_attributes.GEN_AI_SYSTEM: gen_ai_attributes.GenAiSystemValues.VERTEX_AI.value,
5050
},
@@ -56,7 +56,7 @@ def assistant_event(
5656
*,
5757
role: str = "assistant",
5858
content: AnyValue = None,
59-
) -> Event:
59+
) -> LogRecord:
6060
"""Creates an Assistant event
6161
https://github.com/open-telemetry/semantic-conventions/blob/v1.28.0/docs/gen-ai/gen-ai-events.md#assistant-event
6262
"""
@@ -65,8 +65,8 @@ def assistant_event(
6565
}
6666
if content is not None:
6767
body["content"] = content
68-
return Event(
69-
name="gen_ai.assistant.message",
68+
return LogRecord(
69+
event_name="gen_ai.assistant.message",
7070
attributes={
7171
gen_ai_attributes.GEN_AI_SYSTEM: gen_ai_attributes.GenAiSystemValues.VERTEX_AI.value,
7272
},
@@ -78,7 +78,7 @@ def system_event(
7878
*,
7979
role: str = "system",
8080
content: AnyValue = None,
81-
) -> Event:
81+
) -> LogRecord:
8282
"""Creates a System event
8383
https://github.com/open-telemetry/semantic-conventions/blob/v1.28.0/docs/gen-ai/gen-ai-events.md#system-event
8484
"""
@@ -87,8 +87,8 @@ def system_event(
8787
}
8888
if content is not None:
8989
body["content"] = content
90-
return Event(
91-
name="gen_ai.system.message",
90+
return LogRecord(
91+
event_name="gen_ai.system.message",
9292
attributes={
9393
gen_ai_attributes.GEN_AI_SYSTEM: gen_ai_attributes.GenAiSystemValues.VERTEX_AI.value,
9494
},
@@ -101,7 +101,7 @@ def tool_event(
101101
role: str | None,
102102
id_: str,
103103
content: AnyValue = None,
104-
) -> Event:
104+
) -> LogRecord:
105105
"""Creates a Tool message event
106106
https://github.com/open-telemetry/semantic-conventions/blob/v1.28.0/docs/gen-ai/gen-ai-events.md#event-gen_aitoolmessage
107107
"""
@@ -114,8 +114,8 @@ def tool_event(
114114
}
115115
if content is not None:
116116
body["content"] = content
117-
return Event(
118-
name="gen_ai.tool.message",
117+
return LogRecord(
118+
event_name="gen_ai.tool.message",
119119
attributes={
120120
gen_ai_attributes.GEN_AI_SYSTEM: gen_ai_attributes.GenAiSystemValues.VERTEX_AI.value,
121121
},
@@ -156,7 +156,7 @@ def choice_event(
156156
index: int,
157157
message: ChoiceMessage,
158158
tool_calls: Iterable[ChoiceToolCall] = (),
159-
) -> Event:
159+
) -> LogRecord:
160160
"""Creates a choice event, which describes the Gen AI response message.
161161
https://github.com/open-telemetry/semantic-conventions/blob/v1.28.0/docs/gen-ai/gen-ai-events.md#event-gen_aichoice
162162
"""
@@ -172,8 +172,8 @@ def choice_event(
172172
if tool_calls_list:
173173
body["tool_calls"] = tool_calls_list
174174

175-
return Event(
176-
name="gen_ai.choice",
175+
return LogRecord(
176+
event_name="gen_ai.choice",
177177
attributes={
178178
gen_ai_attributes.GEN_AI_SYSTEM: gen_ai_attributes.GenAiSystemValues.VERTEX_AI.value,
179179
},

instrumentation-genai/opentelemetry-instrumentation-vertexai/src/opentelemetry/instrumentation/vertexai/patch.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
MutableSequence,
2424
)
2525

26-
from opentelemetry._events import EventLogger
26+
from opentelemetry._logs import Logger
2727
from opentelemetry.instrumentation.vertexai.utils import (
2828
GenerateContentParams,
2929
get_genai_request_attributes,
@@ -91,10 +91,10 @@ def _extract_params(
9191

9292
class MethodWrappers:
9393
def __init__(
94-
self, tracer: Tracer, event_logger: EventLogger, capture_content: bool
94+
self, tracer: Tracer, logger: Logger, capture_content: bool
9595
) -> None:
9696
self.tracer = tracer
97-
self.event_logger = event_logger
97+
self.logger = logger
9898
self.capture_content = capture_content
9999

100100
@contextmanager
@@ -122,7 +122,7 @@ def _with_instrumentation(
122122
for event in request_to_events(
123123
params=params, capture_content=self.capture_content
124124
):
125-
self.event_logger.emit(event)
125+
self.logger.emit(event)
126126

127127
# TODO: set error.type attribute
128128
# https://github.com/open-telemetry/semantic-conventions/blob/main/docs/gen-ai/gen-ai-spans.md
@@ -143,7 +143,7 @@ def handle_response(
143143
for event in response_to_events(
144144
response=response, capture_content=self.capture_content
145145
):
146-
self.event_logger.emit(event)
146+
self.logger.emit(event)
147147

148148
yield handle_response
149149

instrumentation-genai/opentelemetry-instrumentation-vertexai/src/opentelemetry/instrumentation/vertexai/utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
from google.protobuf import json_format
3030

31-
from opentelemetry._events import Event
31+
from opentelemetry._logs import LogRecord
3232
from opentelemetry.instrumentation.vertexai.events import (
3333
ChoiceMessage,
3434
ChoiceToolCall,
@@ -204,7 +204,7 @@ def get_span_name(span_attributes: Mapping[str, AttributeValue]) -> str:
204204

205205
def request_to_events(
206206
*, params: GenerateContentParams, capture_content: bool
207-
) -> Iterable[Event]:
207+
) -> Iterable[LogRecord]:
208208
# System message
209209
if params.system_instruction:
210210
request_content = _parts_to_any_value(
@@ -261,7 +261,7 @@ def response_to_events(
261261
response: prediction_service.GenerateContentResponse
262262
| prediction_service_v1beta1.GenerateContentResponse,
263263
capture_content: bool,
264-
) -> Iterable[Event]:
264+
) -> Iterable[LogRecord]:
265265
for candidate in response.candidates:
266266
tool_calls = _extract_tool_calls(
267267
candidate=candidate, capture_content=capture_content

instrumentation-genai/opentelemetry-instrumentation-vertexai/tests/conftest.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
from opentelemetry.instrumentation.vertexai.utils import (
1818
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT,
1919
)
20-
from opentelemetry.sdk._events import EventLoggerProvider
2120
from opentelemetry.sdk._logs import LoggerProvider
2221
from opentelemetry.sdk._logs.export import (
2322
InMemoryLogExporter,
@@ -63,13 +62,12 @@ def fixture_tracer_provider(span_exporter):
6362
return provider
6463

6564

66-
@pytest.fixture(scope="function", name="event_logger_provider")
67-
def fixture_event_logger_provider(log_exporter):
65+
@pytest.fixture(scope="function", name="logger_provider")
66+
def fixture_logger_provider(log_exporter):
6867
provider = LoggerProvider()
6968
provider.add_log_record_processor(SimpleLogRecordProcessor(log_exporter))
70-
event_logger_provider = EventLoggerProvider(provider)
7169

72-
return event_logger_provider
70+
return provider
7371

7472

7573
@pytest.fixture(scope="function", name="meter_provider")
@@ -96,7 +94,7 @@ def vertexai_init(vcr: VCR) -> None:
9694

9795
@pytest.fixture
9896
def instrument_no_content(
99-
tracer_provider, event_logger_provider, meter_provider
97+
tracer_provider, logger_provider, meter_provider
10098
):
10199
os.environ.update(
102100
{OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT: "False"}
@@ -105,7 +103,7 @@ def instrument_no_content(
105103
instrumentor = VertexAIInstrumentor()
106104
instrumentor.instrument(
107105
tracer_provider=tracer_provider,
108-
event_logger_provider=event_logger_provider,
106+
logger_provider=logger_provider,
109107
meter_provider=meter_provider,
110108
)
111109

@@ -117,15 +115,15 @@ def instrument_no_content(
117115

118116
@pytest.fixture
119117
def instrument_with_content(
120-
tracer_provider, event_logger_provider, meter_provider
118+
tracer_provider, logger_provider, meter_provider
121119
):
122120
os.environ.update(
123121
{OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT: "True"}
124122
)
125123
instrumentor = VertexAIInstrumentor()
126124
instrumentor.instrument(
127125
tracer_provider=tracer_provider,
128-
event_logger_provider=event_logger_provider,
126+
logger_provider=logger_provider,
129127
meter_provider=meter_provider,
130128
)
131129

0 commit comments

Comments
 (0)