|
26 | 26 | runs_create_wrapper, |
27 | 27 | runs_retrieve_wrapper, |
28 | 28 | ) |
| 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 | + |
29 | 38 | from opentelemetry.instrumentation.openai.version import __version__ |
30 | 39 | from opentelemetry.instrumentation.utils import unwrap |
31 | 40 | from opentelemetry.metrics import get_meter |
@@ -290,6 +299,36 @@ def _instrument(self, **kwargs): |
290 | 299 | "Messages.list", |
291 | 300 | messages_list_wrapper(tracer), |
292 | 301 | ) |
| 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 | + ) |
293 | 332 |
|
294 | 333 | def _uninstrument(self, **kwargs): |
295 | 334 | unwrap("openai.resources.chat.completions", "Completions.create") |
|
0 commit comments