Skip to content

Commit d2b090e

Browse files
authored
feat(auto-instrumentations-node): add OpenAI instrumentation (#3164)
1 parent d519d4b commit d2b090e

File tree

5 files changed

+8
-1
lines changed

5 files changed

+8
-1
lines changed

package-lock.json

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/auto-instrumentations-node/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ registerInstrumentations({
193193
- [@opentelemetry/instrumentation-mysql2](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-mysql2)
194194
- [@opentelemetry/instrumentation-nestjs-core](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-nestjs-core)
195195
- [@opentelemetry/instrumentation-net](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-net)
196+
- [@opentelemetry/instrumentation-openai](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-openai)
196197
- [@opentelemetry/instrumentation-oracledb](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-oracledb)
197198
- [@opentelemetry/instrumentation-pg](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-pg)
198199
- [@opentelemetry/instrumentation-pino](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-pino)

packages/auto-instrumentations-node/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
"@opentelemetry/instrumentation-mysql2": "^0.53.0",
8383
"@opentelemetry/instrumentation-nestjs-core": "^0.53.0",
8484
"@opentelemetry/instrumentation-net": "^0.50.0",
85+
"@opentelemetry/instrumentation-openai": "^0.4.0",
8586
"@opentelemetry/instrumentation-oracledb": "^0.32.0",
8687
"@opentelemetry/instrumentation-pg": "^0.59.0",
8788
"@opentelemetry/instrumentation-pino": "^0.53.0",

packages/auto-instrumentations-node/src/utils.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import { MySQL2Instrumentation } from '@opentelemetry/instrumentation-mysql2';
4646
import { MySQLInstrumentation } from '@opentelemetry/instrumentation-mysql';
4747
import { NestInstrumentation } from '@opentelemetry/instrumentation-nestjs-core';
4848
import { NetInstrumentation } from '@opentelemetry/instrumentation-net';
49+
import { OpenAIInstrumentation } from '@opentelemetry/instrumentation-openai';
4950
import { OracleInstrumentation } from '@opentelemetry/instrumentation-oracledb';
5051
import { PgInstrumentation } from '@opentelemetry/instrumentation-pg';
5152
import { PinoInstrumentation } from '@opentelemetry/instrumentation-pino';
@@ -124,6 +125,7 @@ const InstrumentationMap = {
124125
'@opentelemetry/instrumentation-mysql': MySQLInstrumentation,
125126
'@opentelemetry/instrumentation-nestjs-core': NestInstrumentation,
126127
'@opentelemetry/instrumentation-net': NetInstrumentation,
128+
'@opentelemetry/instrumentation-openai': OpenAIInstrumentation,
127129
'@opentelemetry/instrumentation-oracledb': OracleInstrumentation,
128130
'@opentelemetry/instrumentation-pg': PgInstrumentation,
129131
'@opentelemetry/instrumentation-pino': PinoInstrumentation,

packages/instrumentation-openai/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
[![NPM Published Version][npm-img]][npm-url]
44
[![Apache License][license-image]][license-image]
55

6-
This module provides automatic instrumentation for the [`openai`](https://www.npmjs.com/package/openai) module, which may be loaded using the [`@opentelemetry/sdk-trace-node`](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) package.
6+
This module provides automatic instrumentation for the [`openai`](https://www.npmjs.com/package/openai) module, which may be loaded using the [`@opentelemetry/sdk-trace-node`](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) package and is included in the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle.
7+
8+
If total installation size is not constrained, it is recommended to use the [`@opentelemetry/auto-instrumentations-node`](https://www.npmjs.com/package/@opentelemetry/auto-instrumentations-node) bundle with [@opentelemetry/sdk-node](`https://www.npmjs.com/package/@opentelemetry/sdk-node`) for the most seamless instrumentation experience.
79

810
Compatible with OpenTelemetry JS API and SDK `1.0+`.
911

0 commit comments

Comments
 (0)