Skip to content

Commit 915f09e

Browse files
author
Liudmila Molkova
committed
feedback
1 parent 3bfedae commit 915f09e

File tree

4 files changed

+23
-20
lines changed

4 files changed

+23
-20
lines changed

instrumentation/opentelemetry-instrumentation-openai-v2/src/opentelemetry/instrumentation/openai_v2/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@ def _instrument(self, **kwargs):
6868
tracer_provider,
6969
schema_url=Schemas.V1_28_0.value,
7070
)
71-
event_provider = kwargs.get("event_provider")
71+
event_logger_provider = kwargs.get("event_logger_provider")
7272
event_logger = get_event_logger(
7373
__name__,
7474
"",
7575
schema_url=Schemas.V1_28_0.value,
76-
event_logger_provider=event_provider,
76+
event_logger_provider=event_logger_provider,
7777
)
7878

7979
wrap_function_wrapper(

instrumentation/opentelemetry-instrumentation-openai-v2/src/opentelemetry/instrumentation/openai_v2/patch.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,6 @@ def traced_method(wrapped, instance, args, kwargs):
9090
def _set_response_attributes(
9191
span, result, event_logger: EventLogger, capture_content: bool
9292
):
93-
if not span.is_recording():
94-
return
95-
9693
set_span_attribute(
9794
span, GenAIAttributes.GEN_AI_RESPONSE_MODEL, result.model
9895
)

instrumentation/opentelemetry-instrumentation-openai-v2/src/opentelemetry/instrumentation/openai_v2/utils.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,14 @@ def extract_tool_calls(item, capture_content):
6868

6969
calls = []
7070
for tool_call in tool_calls:
71-
tool_call_dict = {
72-
"id": get_property_value(tool_call, "id"),
73-
"type": get_property_value(tool_call, "type"),
74-
}
71+
tool_call_dict = {}
72+
id = get_property_value(tool_call, "id")
73+
if id:
74+
tool_call_dict["id"] = id
75+
76+
type = get_property_value(tool_call, "type")
77+
if type:
78+
tool_call_dict["type"] = type
7579

7680
func = get_property_value(tool_call, "function")
7781
if func:
@@ -83,9 +87,11 @@ def extract_tool_calls(item, capture_content):
8387

8488
arguments = get_property_value(func, "arguments")
8589
if capture_content and arguments:
86-
tool_call_dict["function"]["arguments"] = arguments.replace(
87-
"\n", ""
88-
)
90+
if isinstance(arguments, str):
91+
arguments = arguments.replace(
92+
"\n", ""
93+
)
94+
tool_call_dict["function"]["arguments"] = arguments
8995

9096
calls.append(tool_call_dict)
9197
return calls
@@ -163,7 +169,7 @@ def choice_to_event(choice, span_ctx, capture_content):
163169
message = {
164170
"role": choice.message.role
165171
if choice.message and choice.message.role
166-
else "assistant"
172+
else None
167173
}
168174
tool_calls = extract_tool_calls(choice.message, capture_content)
169175
if tool_calls:

instrumentation/opentelemetry-instrumentation-openai-v2/tests/conftest.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ def tracer_provider(span_exporter):
4242

4343

4444
@pytest.fixture(scope="function")
45-
def event_provider(log_exporter):
45+
def event_logger_provider(log_exporter):
4646
provider = LoggerProvider()
4747
provider.add_log_record_processor(SimpleLogRecordProcessor(log_exporter))
48-
event_provider = EventLoggerProvider(provider)
48+
event_logger_provider = EventLoggerProvider(provider)
4949

50-
return event_provider
50+
return event_logger_provider
5151

5252

5353
@pytest.fixture(autouse=True)
@@ -71,24 +71,24 @@ def vcr_config():
7171

7272

7373
@pytest.fixture(scope="function")
74-
def instrument_no_content(tracer_provider, event_provider):
74+
def instrument_no_content(tracer_provider, event_logger_provider):
7575
instrumentor = OpenAIInstrumentor()
7676
instrumentor.instrument(
77-
tracer_provider=tracer_provider, event_provider=event_provider
77+
tracer_provider=tracer_provider, event_logger_provider=event_logger_provider
7878
)
7979

8080
yield instrumentor
8181
instrumentor.uninstrument()
8282

8383

8484
@pytest.fixture(scope="function")
85-
def instrument_with_content(tracer_provider, event_provider):
85+
def instrument_with_content(tracer_provider, event_logger_provider):
8686
os.environ.update(
8787
{OTEL_INSTRUMENTATION_OPENAI_CAPTURE_MESSAGE_CONTENT: "True"}
8888
)
8989
instrumentor = OpenAIInstrumentor()
9090
instrumentor.instrument(
91-
tracer_provider=tracer_provider, event_provider=event_provider
91+
tracer_provider=tracer_provider, event_logger_provider=event_logger_provider
9292
)
9393

9494
yield instrumentor

0 commit comments

Comments
 (0)