openlit 1.6.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -1
- package/dist/helpers.js +8 -4
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +19 -6
- package/dist/index.js.map +1 -1
- package/dist/instrumentation/__tests__/anthropic-wrapper.test.d.ts +1 -0
- package/dist/instrumentation/__tests__/anthropic-wrapper.test.js +92 -0
- package/dist/instrumentation/__tests__/anthropic-wrapper.test.js.map +1 -0
- package/dist/instrumentation/__tests__/base-wrapper.test.d.ts +1 -0
- package/dist/instrumentation/__tests__/base-wrapper.test.js +175 -0
- package/dist/instrumentation/__tests__/base-wrapper.test.js.map +1 -0
- package/dist/instrumentation/__tests__/cohere-wrapper.test.d.ts +1 -0
- package/dist/instrumentation/__tests__/cohere-wrapper.test.js +131 -0
- package/dist/instrumentation/__tests__/cohere-wrapper.test.js.map +1 -0
- package/dist/instrumentation/__tests__/openai-wrapper.test.d.ts +1 -0
- package/dist/instrumentation/__tests__/openai-wrapper.test.js +181 -0
- package/dist/instrumentation/__tests__/openai-wrapper.test.js.map +1 -0
- package/dist/instrumentation/anthropic/wrapper.d.ts +7 -1
- package/dist/instrumentation/anthropic/wrapper.js +16 -1
- package/dist/instrumentation/anthropic/wrapper.js.map +1 -1
- package/dist/instrumentation/base-wrapper.d.ts +3 -2
- package/dist/instrumentation/base-wrapper.js +81 -1
- package/dist/instrumentation/base-wrapper.js.map +1 -1
- package/dist/instrumentation/cohere/wrapper.d.ts +7 -1
- package/dist/instrumentation/cohere/wrapper.js +19 -2
- package/dist/instrumentation/cohere/wrapper.js.map +1 -1
- package/dist/instrumentation/ollama/wrapper.d.ts +2 -1
- package/dist/instrumentation/ollama/wrapper.js +2 -2
- package/dist/instrumentation/ollama/wrapper.js.map +1 -1
- package/dist/instrumentation/openai/index.js +11 -0
- package/dist/instrumentation/openai/index.js.map +1 -1
- package/dist/instrumentation/openai/wrapper.d.ts +39 -3
- package/dist/instrumentation/openai/wrapper.js +537 -26
- package/dist/instrumentation/openai/wrapper.js.map +1 -1
- package/dist/otel/__tests__/metrics.test.d.ts +1 -0
- package/dist/otel/__tests__/metrics.test.js +51 -0
- package/dist/otel/__tests__/metrics.test.js.map +1 -0
- package/dist/otel/metrics.d.ts +22 -0
- package/dist/otel/metrics.js +132 -0
- package/dist/otel/metrics.js.map +1 -0
- package/dist/{tracing.d.ts → otel/tracing.d.ts} +1 -1
- package/dist/{tracing.js → otel/tracing.js} +17 -15
- package/dist/otel/tracing.js.map +1 -0
- package/dist/semantic-convention.d.ts +36 -0
- package/dist/semantic-convention.js +53 -11
- package/dist/semantic-convention.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/package.json +10 -11
- package/dist/tracing.js.map +0 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const api_1 = require("@opentelemetry/api");
|
|
7
|
+
const wrapper_1 = __importDefault(require("../openai/wrapper"));
|
|
8
|
+
const config_1 = __importDefault(require("../../config"));
|
|
9
|
+
const helpers_1 = __importDefault(require("../../helpers"));
|
|
10
|
+
const base_wrapper_1 = __importDefault(require("../base-wrapper"));
|
|
11
|
+
const semantic_convention_1 = __importDefault(require("../../semantic-convention"));
|
|
12
|
+
jest.mock('../../../src/config');
|
|
13
|
+
jest.mock('../../../src/helpers');
|
|
14
|
+
jest.mock('../../../src/instrumentation/base-wrapper');
|
|
15
|
+
const mockTracer = api_1.trace.getTracer('test-tracer');
|
|
16
|
+
describe('OpenAIWrapper', () => {
|
|
17
|
+
let span;
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
span = mockTracer.startSpan('test-span');
|
|
20
|
+
span.setAttribute = jest.fn();
|
|
21
|
+
span.addEvent = jest.fn();
|
|
22
|
+
jest.clearAllMocks();
|
|
23
|
+
});
|
|
24
|
+
afterEach(() => {
|
|
25
|
+
span.end();
|
|
26
|
+
});
|
|
27
|
+
describe('_chatCompletion', () => {
|
|
28
|
+
it('should call recordMetrics after span ends', async () => {
|
|
29
|
+
const mockArgs = [{ messages: [{ role: 'user', content: 'test message' }] }];
|
|
30
|
+
const mockResponse = {
|
|
31
|
+
id: '123',
|
|
32
|
+
model: 'gpt-3.5-turbo',
|
|
33
|
+
usage: { prompt_tokens: 10, completion_tokens: 20, total_tokens: 30 },
|
|
34
|
+
choices: [
|
|
35
|
+
{
|
|
36
|
+
message: { content: 'response text', role: 'assistant' },
|
|
37
|
+
finish_reason: 'stop',
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
const mockGenAIEndpoint = 'openai.resources.chat.completions';
|
|
42
|
+
jest
|
|
43
|
+
.spyOn(wrapper_1.default, '_chatCompletionCommonSetter')
|
|
44
|
+
.mockImplementationOnce(async ({ genAIEndpoint, span }) => {
|
|
45
|
+
span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TOP_P, 1);
|
|
46
|
+
span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MAX_TOKENS, 100);
|
|
47
|
+
span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TEMPERATURE, 0.7);
|
|
48
|
+
return {
|
|
49
|
+
genAIEndpoint,
|
|
50
|
+
model: 'gpt-3.5-turbo',
|
|
51
|
+
user: 'test-user',
|
|
52
|
+
cost: 0.5,
|
|
53
|
+
aiSystem: 'openai',
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
await wrapper_1.default._chatCompletion({
|
|
57
|
+
args: mockArgs,
|
|
58
|
+
genAIEndpoint: mockGenAIEndpoint,
|
|
59
|
+
response: mockResponse,
|
|
60
|
+
span,
|
|
61
|
+
});
|
|
62
|
+
expect(base_wrapper_1.default.recordMetrics).toHaveBeenCalledWith(span, {
|
|
63
|
+
genAIEndpoint: mockGenAIEndpoint,
|
|
64
|
+
model: 'gpt-3.5-turbo',
|
|
65
|
+
user: 'test-user',
|
|
66
|
+
cost: 0.5,
|
|
67
|
+
aiSystem: 'openai',
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('_chatCompletionCommonSetter', () => {
|
|
72
|
+
it('should set span attributes and return metric parameters', async () => {
|
|
73
|
+
const mockArgs = [
|
|
74
|
+
{
|
|
75
|
+
messages: [{ role: 'user', content: 'test message' }],
|
|
76
|
+
max_tokens: 100,
|
|
77
|
+
temperature: 0.7,
|
|
78
|
+
top_p: 1,
|
|
79
|
+
user: 'test-user',
|
|
80
|
+
presence_penalty: 2,
|
|
81
|
+
frequency_penalty: 3,
|
|
82
|
+
seed: 3,
|
|
83
|
+
stream: false,
|
|
84
|
+
stop: ['STOP'],
|
|
85
|
+
},
|
|
86
|
+
];
|
|
87
|
+
const mockResult = {
|
|
88
|
+
id: '123',
|
|
89
|
+
model: 'gpt-3.5-turbo',
|
|
90
|
+
usage: {
|
|
91
|
+
prompt_tokens: 10,
|
|
92
|
+
completion_tokens: 20,
|
|
93
|
+
total_tokens: 30,
|
|
94
|
+
completion_tokens_details: { reasoning_tokens: 5 },
|
|
95
|
+
},
|
|
96
|
+
choices: [
|
|
97
|
+
{
|
|
98
|
+
message: { content: 'response text', role: 'assistant' },
|
|
99
|
+
finish_reason: 'stop',
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
system_fingerprint: 'fp_test',
|
|
103
|
+
service_tier: 'default',
|
|
104
|
+
};
|
|
105
|
+
const mockGenAIEndpoint = 'openai.resources.chat.completions';
|
|
106
|
+
jest.restoreAllMocks();
|
|
107
|
+
jest.spyOn(config_1.default, 'updatePricingJson').mockResolvedValue({});
|
|
108
|
+
jest.spyOn(helpers_1.default, 'getChatModelCost').mockReturnValue(0.5);
|
|
109
|
+
const metricParams = await wrapper_1.default._chatCompletionCommonSetter({
|
|
110
|
+
args: mockArgs,
|
|
111
|
+
genAIEndpoint: mockGenAIEndpoint,
|
|
112
|
+
result: mockResult,
|
|
113
|
+
span,
|
|
114
|
+
});
|
|
115
|
+
// Basic request parameters
|
|
116
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_TOP_P, 1);
|
|
117
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_MAX_TOKENS, 100);
|
|
118
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_TEMPERATURE, 0.7);
|
|
119
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_PRESENCE_PENALTY, 2);
|
|
120
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_FREQUENCY_PENALTY, 3);
|
|
121
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_SEED, '3');
|
|
122
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, false);
|
|
123
|
+
// New attributes
|
|
124
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_STOP_SEQUENCES, ['STOP']);
|
|
125
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, 'gpt-3.5-turbo');
|
|
126
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_RESPONSE_SYSTEM_FINGERPRINT, 'fp_test');
|
|
127
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_REQUEST_SERVICE_TIER, 'default');
|
|
128
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_CLIENT_TOKEN_USAGE, 30);
|
|
129
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_USAGE_COMPLETION_TOKENS_DETAILS_REASONING, 5);
|
|
130
|
+
expect(metricParams).toEqual({
|
|
131
|
+
genAIEndpoint: mockGenAIEndpoint,
|
|
132
|
+
model: 'gpt-3.5-turbo',
|
|
133
|
+
user: 'test-user',
|
|
134
|
+
cost: 0.5,
|
|
135
|
+
aiSystem: 'openai',
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
it('should handle tool calls properly', async () => {
|
|
139
|
+
const mockArgs = [
|
|
140
|
+
{
|
|
141
|
+
messages: [{ role: 'user', content: 'test message' }],
|
|
142
|
+
tools: [{ type: 'function', function: { name: 'get_weather' } }],
|
|
143
|
+
},
|
|
144
|
+
];
|
|
145
|
+
const mockResult = {
|
|
146
|
+
id: '123',
|
|
147
|
+
model: 'gpt-3.5-turbo',
|
|
148
|
+
usage: { prompt_tokens: 10, completion_tokens: 20, total_tokens: 30 },
|
|
149
|
+
choices: [
|
|
150
|
+
{
|
|
151
|
+
message: {
|
|
152
|
+
content: null,
|
|
153
|
+
role: 'assistant',
|
|
154
|
+
tool_calls: [
|
|
155
|
+
{
|
|
156
|
+
id: 'call_123',
|
|
157
|
+
type: 'function',
|
|
158
|
+
function: { name: 'get_weather', arguments: '{"location":"SF"}' },
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
finish_reason: 'tool_calls',
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
};
|
|
166
|
+
jest.spyOn(config_1.default, 'updatePricingJson').mockResolvedValue({});
|
|
167
|
+
jest.spyOn(helpers_1.default, 'getChatModelCost').mockReturnValue(0.5);
|
|
168
|
+
await wrapper_1.default._chatCompletionCommonSetter({
|
|
169
|
+
args: mockArgs,
|
|
170
|
+
genAIEndpoint: 'openai.resources.chat.completions',
|
|
171
|
+
result: mockResult,
|
|
172
|
+
span,
|
|
173
|
+
});
|
|
174
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_TOOL_NAME, 'get_weather');
|
|
175
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_TOOL_CALL_ID, 'call_123');
|
|
176
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_TOOL_CALL_ARGUMENTS, ['{"location":"SF"}']);
|
|
177
|
+
expect(span.setAttribute).toHaveBeenCalledWith(semantic_convention_1.default.GEN_AI_TOOL_TYPE, 'function');
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
//# sourceMappingURL=openai-wrapper.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-wrapper.test.js","sourceRoot":"","sources":["../../../src/instrumentation/__tests__/openai-wrapper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,5 +20,11 @@ export default class AnthropicWrapper extends BaseWrapper {
|
|
|
20
20
|
genAIEndpoint: string;
|
|
21
21
|
result: any;
|
|
22
22
|
span: Span;
|
|
23
|
-
}): Promise<
|
|
23
|
+
}): Promise<{
|
|
24
|
+
genAIEndpoint: string;
|
|
25
|
+
model: any;
|
|
26
|
+
user: any;
|
|
27
|
+
cost: number;
|
|
28
|
+
aiSystem: string;
|
|
29
|
+
}>;
|
|
24
30
|
}
|
|
@@ -39,8 +39,15 @@ class AnthropicWrapper extends base_wrapper_1.default {
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
static async _messageCreate({ args, genAIEndpoint, response, span, }) {
|
|
42
|
+
let metricParams = {
|
|
43
|
+
genAIEndpoint,
|
|
44
|
+
model: '',
|
|
45
|
+
user: '',
|
|
46
|
+
cost: 0,
|
|
47
|
+
aiSystem: AnthropicWrapper.aiSystem,
|
|
48
|
+
};
|
|
42
49
|
try {
|
|
43
|
-
await AnthropicWrapper._messageCreateCommonSetter({
|
|
50
|
+
metricParams = await AnthropicWrapper._messageCreateCommonSetter({
|
|
44
51
|
args,
|
|
45
52
|
genAIEndpoint,
|
|
46
53
|
result: response,
|
|
@@ -53,6 +60,7 @@ class AnthropicWrapper extends base_wrapper_1.default {
|
|
|
53
60
|
}
|
|
54
61
|
finally {
|
|
55
62
|
span.end();
|
|
63
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
56
64
|
}
|
|
57
65
|
}
|
|
58
66
|
static async *_messageCreateGenerator({ args, genAIEndpoint, response, span, }) {
|
|
@@ -179,6 +187,13 @@ class AnthropicWrapper extends base_wrapper_1.default {
|
|
|
179
187
|
if (traceContent) {
|
|
180
188
|
span.setAttribute(semantic_convention_1.default.GEN_AI_CONTENT_COMPLETION, result.content?.[0]?.text || '');
|
|
181
189
|
}
|
|
190
|
+
return {
|
|
191
|
+
genAIEndpoint,
|
|
192
|
+
model,
|
|
193
|
+
user,
|
|
194
|
+
cost,
|
|
195
|
+
aiSystem: AnthropicWrapper.aiSystem,
|
|
196
|
+
};
|
|
182
197
|
}
|
|
183
198
|
}
|
|
184
199
|
AnthropicWrapper.aiSystem = semantic_convention_1.default.GEN_AI_SYSTEM_ANTHROPIC;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/anthropic/wrapper.ts"],"names":[],"mappings":";;;;;AAAA,4CAA4E;AAC5E,0DAAyC;AACzC,4DAA0C;AAC1C,oFAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/anthropic/wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Span } from '@opentelemetry/api';
|
|
2
|
-
type BaseSpanAttributes = {
|
|
2
|
+
export type BaseSpanAttributes = {
|
|
3
3
|
genAIEndpoint: string;
|
|
4
4
|
model: string;
|
|
5
5
|
user?: unknown;
|
|
@@ -8,5 +8,6 @@ type BaseSpanAttributes = {
|
|
|
8
8
|
};
|
|
9
9
|
export default class BaseWrapper {
|
|
10
10
|
static setBaseSpanAttributes(span: Span, { genAIEndpoint, model, user, cost, aiSystem }: BaseSpanAttributes): void;
|
|
11
|
+
static recordMetrics(span: Span, baseAttributes: BaseSpanAttributes): void;
|
|
12
|
+
static getSpanAttribute(span: Span, key: string): number | undefined;
|
|
11
13
|
}
|
|
12
|
-
export {};
|
|
@@ -5,12 +5,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const config_1 = __importDefault(require("../config"));
|
|
7
7
|
const constant_1 = require("../constant");
|
|
8
|
+
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
8
9
|
const semantic_convention_1 = __importDefault(require("../semantic-convention"));
|
|
9
10
|
const api_1 = require("@opentelemetry/api");
|
|
11
|
+
const metrics_1 = __importDefault(require("../otel/metrics"));
|
|
10
12
|
class BaseWrapper {
|
|
11
13
|
static setBaseSpanAttributes(span, { genAIEndpoint, model, user, cost, aiSystem }) {
|
|
12
14
|
const applicationName = config_1.default.applicationName;
|
|
13
15
|
const environment = config_1.default.environment;
|
|
16
|
+
if (!applicationName) {
|
|
17
|
+
throw new Error("[Openlit] OpenlitConfig.applicationName is not set. Please check your configuration.");
|
|
18
|
+
}
|
|
19
|
+
if (!environment) {
|
|
20
|
+
throw new Error("[Openlit] OpenlitConfig.environment is not set. Please check your configuration.");
|
|
21
|
+
}
|
|
14
22
|
span.setAttributes({
|
|
15
23
|
[constant_1.TELEMETRY_SDK_NAME]: constant_1.SDK_NAME,
|
|
16
24
|
});
|
|
@@ -20,12 +28,84 @@ class BaseWrapper {
|
|
|
20
28
|
span.setAttribute(semantic_convention_1.default.GEN_AI_ENVIRONMENT, environment);
|
|
21
29
|
span.setAttribute(semantic_convention_1.default.GEN_AI_APPLICATION_NAME, applicationName);
|
|
22
30
|
span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MODEL, model);
|
|
23
|
-
|
|
31
|
+
if (typeof user === 'string' || typeof user === 'number') {
|
|
32
|
+
span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_USER, user);
|
|
33
|
+
}
|
|
24
34
|
if (cost !== undefined) {
|
|
25
35
|
span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_COST, cost);
|
|
26
36
|
}
|
|
27
37
|
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
|
28
38
|
}
|
|
39
|
+
static recordMetrics(span, baseAttributes) {
|
|
40
|
+
const applicationName = config_1.default.applicationName;
|
|
41
|
+
const environment = config_1.default.environment;
|
|
42
|
+
const { genAIEndpoint, model, user, aiSystem, cost } = baseAttributes;
|
|
43
|
+
const inputTokens = BaseWrapper.getSpanAttribute(span, semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS);
|
|
44
|
+
const outputTokens = BaseWrapper.getSpanAttribute(span, semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS);
|
|
45
|
+
const duration = BaseWrapper.getSpanAttribute(span, 'duration') ?? BaseWrapper.getSpanAttribute(span, 'gen_ai.duration');
|
|
46
|
+
const attributes = {
|
|
47
|
+
[semantic_conventions_1.ATTR_SERVICE_NAME]: applicationName,
|
|
48
|
+
[semantic_convention_1.default.GEN_AI_SYSTEM]: aiSystem,
|
|
49
|
+
[semantic_convention_1.default.GEN_AI_ENDPOINT]: genAIEndpoint,
|
|
50
|
+
[semantic_convention_1.default.ATTR_DEPLOYMENT_ENVIRONMENT]: environment,
|
|
51
|
+
[semantic_convention_1.default.GEN_AI_REQUEST_MODEL]: model,
|
|
52
|
+
[semantic_convention_1.default.GEN_AI_REQUEST_USER]: typeof user === 'string' || typeof user === 'number' ? user : String(user ?? ''),
|
|
53
|
+
};
|
|
54
|
+
metrics_1.default.genaiRequests?.add(1, attributes);
|
|
55
|
+
if (Number.isFinite(inputTokens))
|
|
56
|
+
metrics_1.default.genaiPromptTokens?.add(inputTokens, attributes);
|
|
57
|
+
if (Number.isFinite(outputTokens))
|
|
58
|
+
metrics_1.default.genaiCompletionTokens?.add(outputTokens, attributes);
|
|
59
|
+
if (Number.isFinite(duration)) {
|
|
60
|
+
metrics_1.default.genaiClientOperationDuration?.record(duration / 1e9, attributes);
|
|
61
|
+
}
|
|
62
|
+
const totalTokens = (Number.isFinite(inputTokens) ? inputTokens : 0) + (Number.isFinite(outputTokens) ? outputTokens : 0);
|
|
63
|
+
if (totalTokens > 0)
|
|
64
|
+
metrics_1.default.genaiClientUsageTokens?.record(totalTokens, attributes);
|
|
65
|
+
const reasoningTokens = BaseWrapper.getSpanAttribute(span, semantic_convention_1.default.GEN_AI_USAGE_REASONING_TOKENS);
|
|
66
|
+
if (Number.isFinite(reasoningTokens))
|
|
67
|
+
metrics_1.default.genaiReasoningTokens?.add(reasoningTokens, attributes);
|
|
68
|
+
const tbt = BaseWrapper.getSpanAttribute(span, semantic_convention_1.default.GEN_AI_SERVER_TBT);
|
|
69
|
+
if (Number.isFinite(tbt))
|
|
70
|
+
metrics_1.default.genaiServerTbt?.record(tbt, attributes);
|
|
71
|
+
const ttft = BaseWrapper.getSpanAttribute(span, semantic_convention_1.default.GEN_AI_SERVER_TTFT);
|
|
72
|
+
if (Number.isFinite(ttft))
|
|
73
|
+
metrics_1.default.genaiServerTtft?.record(ttft, attributes);
|
|
74
|
+
if (cost !== undefined) {
|
|
75
|
+
const numericCost = typeof cost === 'number' ? cost : Number(cost);
|
|
76
|
+
if (Number.isFinite(numericCost)) {
|
|
77
|
+
metrics_1.default.genaiCost?.record(numericCost, attributes);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
static getSpanAttribute(span, key) {
|
|
82
|
+
if (key === 'duration') {
|
|
83
|
+
// Use duration if present, even if 0
|
|
84
|
+
const s = span;
|
|
85
|
+
if (s.attributes && typeof s.attributes.duration !== 'undefined') {
|
|
86
|
+
const attrDuration = s.attributes.duration;
|
|
87
|
+
if (typeof attrDuration === 'number' && !isNaN(attrDuration)) {
|
|
88
|
+
return attrDuration;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (typeof s.duration === 'number' && !isNaN(s.duration))
|
|
92
|
+
return s.duration;
|
|
93
|
+
if (typeof s._duration === 'number' && !isNaN(s._duration))
|
|
94
|
+
return s._duration;
|
|
95
|
+
if (s.endTime && s.startTime) {
|
|
96
|
+
const [endSec, endNano] = s.endTime;
|
|
97
|
+
const [startSec, startNano] = s.startTime;
|
|
98
|
+
const end = endSec * 1e9 + endNano;
|
|
99
|
+
const start = startSec * 1e9 + startNano;
|
|
100
|
+
if (end > start) {
|
|
101
|
+
return end - start;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
// @ts-expect-error: OpenTelemetry Span may have attributes property in some implementations
|
|
107
|
+
return typeof span.attributes === 'object' ? span.attributes[key] : undefined;
|
|
108
|
+
}
|
|
29
109
|
}
|
|
30
110
|
exports.default = BaseWrapper;
|
|
31
111
|
//# sourceMappingURL=base-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-wrapper.js","sourceRoot":"","sources":["../../src/instrumentation/base-wrapper.ts"],"names":[],"mappings":";;;;;AAAA,uDAAsC;AACtC,0CAA2D;AAC3D,iFAAwD;AACxD,4CAA0D;
|
|
1
|
+
{"version":3,"file":"base-wrapper.js","sourceRoot":"","sources":["../../src/instrumentation/base-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,8 +101,9 @@ class CohereWrapper extends base_wrapper_1.default {
|
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
103
|
static async _chat({ args, genAIEndpoint, response, span, }) {
|
|
104
|
+
let metricParams;
|
|
104
105
|
try {
|
|
105
|
-
await CohereWrapper._chatCommonSetter({
|
|
106
|
+
metricParams = await CohereWrapper._chatCommonSetter({
|
|
106
107
|
args,
|
|
107
108
|
genAIEndpoint,
|
|
108
109
|
result: response,
|
|
@@ -116,9 +117,13 @@ class CohereWrapper extends base_wrapper_1.default {
|
|
|
116
117
|
}
|
|
117
118
|
finally {
|
|
118
119
|
span.end();
|
|
120
|
+
if (metricParams) {
|
|
121
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
122
|
+
}
|
|
119
123
|
}
|
|
120
124
|
}
|
|
121
125
|
static async *_chatGenerator({ args, genAIEndpoint, response, span, }) {
|
|
126
|
+
let metricParams;
|
|
122
127
|
try {
|
|
123
128
|
let result = {
|
|
124
129
|
response_id: '',
|
|
@@ -137,7 +142,7 @@ class CohereWrapper extends base_wrapper_1.default {
|
|
|
137
142
|
}
|
|
138
143
|
yield chunk;
|
|
139
144
|
}
|
|
140
|
-
await CohereWrapper._chatCommonSetter({
|
|
145
|
+
metricParams = await CohereWrapper._chatCommonSetter({
|
|
141
146
|
args,
|
|
142
147
|
genAIEndpoint,
|
|
143
148
|
result,
|
|
@@ -151,6 +156,10 @@ class CohereWrapper extends base_wrapper_1.default {
|
|
|
151
156
|
}
|
|
152
157
|
finally {
|
|
153
158
|
span.end();
|
|
159
|
+
// Record metrics after span has ended if parameters are available
|
|
160
|
+
if (metricParams) {
|
|
161
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
162
|
+
}
|
|
154
163
|
}
|
|
155
164
|
}
|
|
156
165
|
static async _chatCommonSetter({ args, genAIEndpoint, result, span, stream, }) {
|
|
@@ -193,6 +202,14 @@ class CohereWrapper extends base_wrapper_1.default {
|
|
|
193
202
|
span.setAttribute(semantic_convention_1.default.GEN_AI_CONTENT_COMPLETION, result.text);
|
|
194
203
|
}
|
|
195
204
|
}
|
|
205
|
+
// Return metric parameters instead of recording metrics directly
|
|
206
|
+
return {
|
|
207
|
+
genAIEndpoint,
|
|
208
|
+
model,
|
|
209
|
+
user,
|
|
210
|
+
cost,
|
|
211
|
+
aiSystem: CohereWrapper.aiSystem,
|
|
212
|
+
};
|
|
196
213
|
}
|
|
197
214
|
}
|
|
198
215
|
CohereWrapper.aiSystem = semantic_convention_1.default.GEN_AI_SYSTEM_COHERE;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/cohere/wrapper.ts"],"names":[],"mappings":";;;;;AAAA,4CAA4E;AAC5E,0DAAyC;AACzC,4DAA0C;AAC1C,oFAA2D;AAC3D,6CAA8D;AAC9D,mEAA0C;AAE1C,MAAqB,aAAc,SAAQ,sBAAW;IAEpD,MAAM,CAAC,WAAW,CAAC,MAAc;QAC/B,MAAM,aAAa,GAAG,cAAc,CAAC;QACrC,MAAM,YAAY,GAAG,gBAAa,CAAC,YAAY,CAAC;QAEhD,OAAO,CAAC,cAAuC,EAAE,EAAE;YACjD,OAAO,KAAK,WAAsB,GAAG,IAAW;gBAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,cAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxE,OAAO,aAAO,CAAC,IAAI,CAAC,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;oBACpE,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACxD,IAAI,CAAC,aAAa,CAAC;4BACjB,CAAC,6BAAkB,CAAC,EAAE,mBAAQ;yBAC/B,CAAC,CAAC;wBAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,oBAAoB,CAAC;wBACrD,MAAM,WAAW,GAAG,MAAM,gBAAa,CAAC,iBAAiB,CAAC,gBAAa,CAAC,YAAY,CAAC,CAAC;wBACtF,MAAM,IAAI,GAAG,iBAAa,CAAC,iBAAiB,CAC1C,KAAK,EACL,WAAW,EACX,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CACtC,CAAC;wBAEF,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,gBAAgB,EACnC,6BAAkB,CAAC,+BAA+B,CACnD,CAAC;wBAEF,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnF,0BAA0B;wBAC1B,aAAa,CAAC,qBAAqB,CAAC,IAAI,EAAE;4BACxC,aAAa;4BACb,KAAK;4BACL,IAAI;4BACJ,IAAI;4BACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ;yBACjC,CAAC,CAAC;wBAEH,oCAAoC;
|
|
1
|
+
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/cohere/wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Span, Tracer } from '@opentelemetry/api';
|
|
2
|
-
|
|
2
|
+
import BaseWrapper from '../base-wrapper';
|
|
3
|
+
export default class OllamaWrapper extends BaseWrapper {
|
|
3
4
|
static setBaseSpanAttributes(span: any, { genAIEndpoint, model, user, cost, environment, applicationName }: any): void;
|
|
4
5
|
static _patchChat(tracer: Tracer): any;
|
|
5
6
|
static _chat({ args, genAIEndpoint, response, span, }: {
|
|
@@ -8,7 +8,8 @@ const config_1 = __importDefault(require("../../config"));
|
|
|
8
8
|
const helpers_1 = __importDefault(require("../../helpers"));
|
|
9
9
|
const semantic_convention_1 = __importDefault(require("../../semantic-convention"));
|
|
10
10
|
const constant_1 = require("../../constant");
|
|
11
|
-
|
|
11
|
+
const base_wrapper_1 = __importDefault(require("../base-wrapper"));
|
|
12
|
+
class OllamaWrapper extends base_wrapper_1.default {
|
|
12
13
|
static setBaseSpanAttributes(span, { genAIEndpoint, model, user, cost, environment, applicationName }) {
|
|
13
14
|
span.setAttributes({
|
|
14
15
|
[constant_1.TELEMETRY_SDK_NAME]: constant_1.SDK_NAME,
|
|
@@ -89,7 +90,6 @@ class OllamaWrapper {
|
|
|
89
90
|
},
|
|
90
91
|
};
|
|
91
92
|
for await (const chunk of response) {
|
|
92
|
-
console.log(chunk);
|
|
93
93
|
switch (chunk.type) {
|
|
94
94
|
case 'content_block_delta':
|
|
95
95
|
result.content[0].text += chunk.delta?.text ?? '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/ollama/wrapper.ts"],"names":[],"mappings":";;;;;AAAA,4CAA4F;AAC5F,0DAAyC;AACzC,4DAA0C;AAC1C,oFAA2D;AAC3D,6CAA8D;
|
|
1
|
+
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/ollama/wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,12 +44,20 @@ class OpenlitOpenAIInstrumentation extends instrumentation_1.InstrumentationBase
|
|
|
44
44
|
if ((0, instrumentation_1.isWrapped)(moduleExports.OpenAI.Audio.Speech.prototype)) {
|
|
45
45
|
this._unwrap(moduleExports.OpenAI.Audio.Speech.prototype, 'create');
|
|
46
46
|
}
|
|
47
|
+
// Check if Responses API exists (OpenAI SDK >= 1.92.0)
|
|
48
|
+
if (moduleExports.OpenAI.Responses && (0, instrumentation_1.isWrapped)(moduleExports.OpenAI.Responses.prototype.create)) {
|
|
49
|
+
this._unwrap(moduleExports.OpenAI.Responses.prototype, 'create');
|
|
50
|
+
}
|
|
47
51
|
this._wrap(moduleExports.OpenAI.Chat.Completions.prototype, 'create', wrapper_1.default._patchChatCompletionCreate(this.tracer));
|
|
48
52
|
this._wrap(moduleExports.OpenAI.Embeddings.prototype, 'create', wrapper_1.default._patchEmbedding(this.tracer));
|
|
49
53
|
this._wrap(moduleExports.OpenAI.FineTuning.Jobs.prototype, 'create', wrapper_1.default._patchFineTune(this.tracer));
|
|
50
54
|
this._wrap(moduleExports.OpenAI.Images.prototype, 'generate', wrapper_1.default._patchImageGenerate(this.tracer));
|
|
51
55
|
this._wrap(moduleExports.OpenAI.Images.prototype, 'createVariation', wrapper_1.default._patchImageVariation(this.tracer));
|
|
52
56
|
this._wrap(moduleExports.OpenAI.Audio.Speech.prototype, 'create', wrapper_1.default._patchAudioCreate(this.tracer));
|
|
57
|
+
// Patch Responses API if available (OpenAI SDK >= 1.92.0)
|
|
58
|
+
if (moduleExports.OpenAI.Responses) {
|
|
59
|
+
this._wrap(moduleExports.OpenAI.Responses.prototype, 'create', wrapper_1.default._patchResponsesCreate(this.tracer));
|
|
60
|
+
}
|
|
53
61
|
}
|
|
54
62
|
catch (e) {
|
|
55
63
|
console.error('Error in _patch method:', e);
|
|
@@ -62,6 +70,9 @@ class OpenlitOpenAIInstrumentation extends instrumentation_1.InstrumentationBase
|
|
|
62
70
|
this._unwrap(moduleExports.OpenAI.Images.prototype, 'generate');
|
|
63
71
|
this._unwrap(moduleExports.OpenAI.Images.prototype, 'createVariation');
|
|
64
72
|
this._unwrap(moduleExports.OpenAI.Audio.prototype, 'speech');
|
|
73
|
+
if (moduleExports.OpenAI.Responses) {
|
|
74
|
+
this._unwrap(moduleExports.OpenAI.Responses.prototype, 'create');
|
|
75
|
+
}
|
|
65
76
|
}
|
|
66
77
|
}
|
|
67
78
|
exports.default = OpenlitOpenAIInstrumentation;
|