Skip to content

Commit 548b547

Browse files
committed
feat(openai): very basic instrumentation of openai.responses
1 parent 52ee2f7 commit 548b547

File tree

6 files changed

+1194
-0
lines changed

6 files changed

+1194
-0
lines changed

packages/opentelemetry-instrumentation-openai/opentelemetry/instrumentation/openai/v1/__init__.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@
2626
runs_create_wrapper,
2727
runs_retrieve_wrapper,
2828
)
29+
30+
from opentelemetry.instrumentation.openai.utils import is_metrics_enabled
31+
from opentelemetry.instrumentation.openai.v1.responses_wrappers import (
32+
async_responses_cancel_wrapper,
33+
async_responses_get_or_create_wrapper,
34+
responses_cancel_wrapper,
35+
responses_get_or_create_wrapper,
36+
)
37+
2938
from opentelemetry.instrumentation.openai.version import __version__
3039
from opentelemetry.instrumentation.utils import unwrap
3140
from opentelemetry.metrics import get_meter
@@ -290,6 +299,36 @@ def _instrument(self, **kwargs):
290299
"Messages.list",
291300
messages_list_wrapper(tracer),
292301
)
302+
self._try_wrap(
303+
"openai.resources.responses",
304+
"Responses.create",
305+
responses_get_or_create_wrapper(tracer),
306+
)
307+
self._try_wrap(
308+
"openai.resources.responses",
309+
"Responses.retrieve",
310+
responses_get_or_create_wrapper(tracer),
311+
)
312+
self._try_wrap(
313+
"openai.resources.responses",
314+
"Responses.cancel",
315+
responses_cancel_wrapper(tracer),
316+
)
317+
self._try_wrap(
318+
"openai.resources.responses",
319+
"AsyncResponses.create",
320+
async_responses_get_or_create_wrapper(tracer),
321+
)
322+
self._try_wrap(
323+
"openai.resources.responses",
324+
"AsyncResponses.retrieve",
325+
async_responses_get_or_create_wrapper(tracer),
326+
)
327+
self._try_wrap(
328+
"openai.resources.responses",
329+
"AsyncResponses.cancel",
330+
async_responses_cancel_wrapper(tracer),
331+
)
293332

294333
def _uninstrument(self, **kwargs):
295334
unwrap("openai.resources.chat.completions", "Completions.create")

0 commit comments

Comments
 (0)