openlit 1.6.0 → 1.7.0
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 +18 -0
- 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 +118 -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/wrapper.d.ts +9 -2
- package/dist/instrumentation/openai/wrapper.js +86 -3
- 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 +6 -0
- package/dist/semantic-convention.js +8 -1
- 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
|
@@ -20,7 +20,7 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
20
20
|
})
|
|
21
21
|
.then((response) => {
|
|
22
22
|
const { stream = false } = args[0];
|
|
23
|
-
if (
|
|
23
|
+
if (stream) {
|
|
24
24
|
return helpers_1.default.createStreamProxy(response, OpenAIWrapper._chatCompletionGenerator({
|
|
25
25
|
args,
|
|
26
26
|
genAIEndpoint,
|
|
@@ -38,8 +38,9 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
static async _chatCompletion({ args, genAIEndpoint, response, span, }) {
|
|
41
|
+
let metricParams;
|
|
41
42
|
try {
|
|
42
|
-
await OpenAIWrapper._chatCompletionCommonSetter({
|
|
43
|
+
metricParams = await OpenAIWrapper._chatCompletionCommonSetter({
|
|
43
44
|
args,
|
|
44
45
|
genAIEndpoint,
|
|
45
46
|
result: response,
|
|
@@ -52,9 +53,14 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
52
53
|
}
|
|
53
54
|
finally {
|
|
54
55
|
span.end();
|
|
56
|
+
// Record metrics after span has ended if parameters are available
|
|
57
|
+
if (metricParams) {
|
|
58
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
59
|
+
}
|
|
55
60
|
}
|
|
56
61
|
}
|
|
57
62
|
static async *_chatCompletionGenerator({ args, genAIEndpoint, response, span, }) {
|
|
63
|
+
let metricParams;
|
|
58
64
|
try {
|
|
59
65
|
const { messages } = args[0];
|
|
60
66
|
let { tools } = args[0];
|
|
@@ -107,7 +113,7 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
107
113
|
};
|
|
108
114
|
}
|
|
109
115
|
args[0].tools = tools;
|
|
110
|
-
await OpenAIWrapper._chatCompletionCommonSetter({
|
|
116
|
+
metricParams = await OpenAIWrapper._chatCompletionCommonSetter({
|
|
111
117
|
args,
|
|
112
118
|
genAIEndpoint,
|
|
113
119
|
result,
|
|
@@ -120,6 +126,10 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
120
126
|
}
|
|
121
127
|
finally {
|
|
122
128
|
span.end();
|
|
129
|
+
// Record metrics after span has ended if parameters are available
|
|
130
|
+
if (metricParams) {
|
|
131
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
132
|
+
}
|
|
123
133
|
}
|
|
124
134
|
}
|
|
125
135
|
static async _chatCompletionCommonSetter({ args, genAIEndpoint, result, span, }) {
|
|
@@ -198,6 +208,13 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
198
208
|
}
|
|
199
209
|
}
|
|
200
210
|
}
|
|
211
|
+
return {
|
|
212
|
+
genAIEndpoint,
|
|
213
|
+
model,
|
|
214
|
+
user,
|
|
215
|
+
cost,
|
|
216
|
+
aiSystem: OpenAIWrapper.aiSystem,
|
|
217
|
+
};
|
|
201
218
|
}
|
|
202
219
|
static _patchEmbedding(tracer) {
|
|
203
220
|
const genAIEndpoint = 'openai.resources.embeddings';
|
|
@@ -206,6 +223,13 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
206
223
|
return async function (...args) {
|
|
207
224
|
const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
|
|
208
225
|
return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
|
|
226
|
+
let metricParams = {
|
|
227
|
+
genAIEndpoint,
|
|
228
|
+
model: '',
|
|
229
|
+
user: '',
|
|
230
|
+
cost: 0,
|
|
231
|
+
aiSystem: OpenAIWrapper.aiSystem,
|
|
232
|
+
};
|
|
209
233
|
try {
|
|
210
234
|
const response = await originalMethod.apply(this, args);
|
|
211
235
|
const model = response.model || 'text-embedding-ada-002';
|
|
@@ -230,6 +254,13 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
230
254
|
// Request Params attributes : End
|
|
231
255
|
span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, response.usage.prompt_tokens);
|
|
232
256
|
span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, response.usage.total_tokens);
|
|
257
|
+
metricParams = {
|
|
258
|
+
genAIEndpoint,
|
|
259
|
+
model,
|
|
260
|
+
user,
|
|
261
|
+
cost,
|
|
262
|
+
aiSystem: OpenAIWrapper.aiSystem,
|
|
263
|
+
};
|
|
233
264
|
return response;
|
|
234
265
|
}
|
|
235
266
|
catch (e) {
|
|
@@ -237,6 +268,7 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
237
268
|
}
|
|
238
269
|
finally {
|
|
239
270
|
span.end();
|
|
271
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
240
272
|
}
|
|
241
273
|
});
|
|
242
274
|
};
|
|
@@ -248,6 +280,7 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
248
280
|
return async function (...args) {
|
|
249
281
|
const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
|
|
250
282
|
return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
|
|
283
|
+
let metricParams;
|
|
251
284
|
try {
|
|
252
285
|
const response = await originalMethod.apply(this, args);
|
|
253
286
|
const model = response.model || 'gpt-3.5-turbo';
|
|
@@ -271,6 +304,13 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
271
304
|
span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_ID, response.id);
|
|
272
305
|
span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, response.usage.prompt_tokens);
|
|
273
306
|
span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_FINETUNE_STATUS, response.status);
|
|
307
|
+
// Store metric parameters for use after span ends
|
|
308
|
+
metricParams = {
|
|
309
|
+
genAIEndpoint,
|
|
310
|
+
model,
|
|
311
|
+
user,
|
|
312
|
+
aiSystem: OpenAIWrapper.aiSystem,
|
|
313
|
+
};
|
|
274
314
|
return response;
|
|
275
315
|
}
|
|
276
316
|
catch (e) {
|
|
@@ -278,6 +318,10 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
278
318
|
}
|
|
279
319
|
finally {
|
|
280
320
|
span.end();
|
|
321
|
+
// Record metrics after span has ended if parameters are available
|
|
322
|
+
if (metricParams) {
|
|
323
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
324
|
+
}
|
|
281
325
|
}
|
|
282
326
|
});
|
|
283
327
|
};
|
|
@@ -290,6 +334,7 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
290
334
|
return async function (...args) {
|
|
291
335
|
const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
|
|
292
336
|
return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
|
|
337
|
+
let metricParams;
|
|
293
338
|
try {
|
|
294
339
|
const response = await originalMethod.apply(this, args);
|
|
295
340
|
const { prompt, quality = 'standard', response_format = 'url', size = '1024x1024', style = 'vivid', user, } = args[0];
|
|
@@ -323,6 +368,14 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
323
368
|
imagesCount++;
|
|
324
369
|
}
|
|
325
370
|
}
|
|
371
|
+
// Store metric parameters for use after span ends
|
|
372
|
+
metricParams = {
|
|
373
|
+
genAIEndpoint,
|
|
374
|
+
model,
|
|
375
|
+
user,
|
|
376
|
+
cost,
|
|
377
|
+
aiSystem: OpenAIWrapper.aiSystem,
|
|
378
|
+
};
|
|
326
379
|
return response;
|
|
327
380
|
}
|
|
328
381
|
catch (e) {
|
|
@@ -330,6 +383,10 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
330
383
|
}
|
|
331
384
|
finally {
|
|
332
385
|
span.end();
|
|
386
|
+
// Record metrics after span has ended if parameters are available
|
|
387
|
+
if (metricParams) {
|
|
388
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
389
|
+
}
|
|
333
390
|
}
|
|
334
391
|
});
|
|
335
392
|
};
|
|
@@ -342,6 +399,7 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
342
399
|
return async function (...args) {
|
|
343
400
|
const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
|
|
344
401
|
return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
|
|
402
|
+
let metricParams;
|
|
345
403
|
try {
|
|
346
404
|
const response = await originalMethod.apply(this, args);
|
|
347
405
|
const { prompt, quality = 'standard', response_format = 'url', size = '1024x1024', style = 'vivid', user, } = args[0];
|
|
@@ -376,6 +434,14 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
376
434
|
imagesCount++;
|
|
377
435
|
}
|
|
378
436
|
}
|
|
437
|
+
// Store metric parameters for use after span ends
|
|
438
|
+
metricParams = {
|
|
439
|
+
genAIEndpoint,
|
|
440
|
+
model,
|
|
441
|
+
user,
|
|
442
|
+
cost,
|
|
443
|
+
aiSystem: OpenAIWrapper.aiSystem,
|
|
444
|
+
};
|
|
379
445
|
return response;
|
|
380
446
|
}
|
|
381
447
|
catch (e) {
|
|
@@ -383,6 +449,10 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
383
449
|
}
|
|
384
450
|
finally {
|
|
385
451
|
span.end();
|
|
452
|
+
// Record metrics after span has ended if parameters are available
|
|
453
|
+
if (metricParams) {
|
|
454
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
455
|
+
}
|
|
386
456
|
}
|
|
387
457
|
});
|
|
388
458
|
};
|
|
@@ -395,6 +465,7 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
395
465
|
return async function (...args) {
|
|
396
466
|
const span = tracer.startSpan(genAIEndpoint, { kind: api_1.SpanKind.CLIENT });
|
|
397
467
|
return api_1.context.with(api_1.trace.setSpan(api_1.context.active(), span), async () => {
|
|
468
|
+
let metricParams;
|
|
398
469
|
try {
|
|
399
470
|
const response = await originalMethod.apply(this, args);
|
|
400
471
|
const { input, user, voice, response_format = 'mp3', speed = 1 } = args[0];
|
|
@@ -418,6 +489,14 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
418
489
|
span.setAttribute(semantic_convention_1.default.GEN_AI_CONTENT_PROMPT, input);
|
|
419
490
|
}
|
|
420
491
|
// Request Params attributes : End
|
|
492
|
+
// Store metric parameters for use after span ends
|
|
493
|
+
metricParams = {
|
|
494
|
+
genAIEndpoint,
|
|
495
|
+
model,
|
|
496
|
+
user,
|
|
497
|
+
cost,
|
|
498
|
+
aiSystem: OpenAIWrapper.aiSystem,
|
|
499
|
+
};
|
|
421
500
|
return response;
|
|
422
501
|
}
|
|
423
502
|
catch (e) {
|
|
@@ -425,6 +504,10 @@ class OpenAIWrapper extends base_wrapper_1.default {
|
|
|
425
504
|
}
|
|
426
505
|
finally {
|
|
427
506
|
span.end();
|
|
507
|
+
// Record metrics after span has ended if parameters are available
|
|
508
|
+
if (metricParams) {
|
|
509
|
+
base_wrapper_1.default.recordMetrics(span, metricParams);
|
|
510
|
+
}
|
|
428
511
|
}
|
|
429
512
|
});
|
|
430
513
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/openai/wrapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/openai/wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
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 metrics_1 = __importDefault(require("../metrics"));
|
|
7
|
+
const semantic_convention_1 = __importDefault(require("../../semantic-convention"));
|
|
8
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
9
|
+
const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
10
|
+
describe('Metrics creation', () => {
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
metrics_1.default.setup({ resource: (0, resources_1.defaultResource)(), otlpEndpoint: 'http://localhost:4318' }); // Ensure metrics are initialized
|
|
13
|
+
});
|
|
14
|
+
it('should create genaiRequests counter and allow increment', () => {
|
|
15
|
+
expect(metrics_1.default.genaiRequests).toBeDefined();
|
|
16
|
+
expect(typeof metrics_1.default.genaiRequests.add).toBe('function');
|
|
17
|
+
expect(() => metrics_1.default.genaiRequests.add(1, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
|
|
18
|
+
});
|
|
19
|
+
it('should create genaiPromptTokens counter and allow increment', () => {
|
|
20
|
+
expect(metrics_1.default.genaiPromptTokens).toBeDefined();
|
|
21
|
+
expect(typeof metrics_1.default.genaiPromptTokens.add).toBe('function');
|
|
22
|
+
expect(() => metrics_1.default.genaiPromptTokens.add(42, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
|
|
23
|
+
});
|
|
24
|
+
it('should create genaiCompletionTokens counter and allow increment', () => {
|
|
25
|
+
expect(metrics_1.default.genaiCompletionTokens).toBeDefined();
|
|
26
|
+
expect(typeof metrics_1.default.genaiCompletionTokens.add).toBe('function');
|
|
27
|
+
expect(() => metrics_1.default.genaiCompletionTokens.add(24, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
|
|
28
|
+
});
|
|
29
|
+
it('should create genaiClientOperationDuration histogram and allow record', () => {
|
|
30
|
+
expect(metrics_1.default.genaiClientOperationDuration).toBeDefined();
|
|
31
|
+
expect(typeof metrics_1.default.genaiClientOperationDuration.record).toBe('function');
|
|
32
|
+
expect(() => metrics_1.default.genaiClientOperationDuration.record(1.23, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
|
|
33
|
+
});
|
|
34
|
+
it('should create genaiCost histogram and allow record', () => {
|
|
35
|
+
expect(metrics_1.default.genaiCost).toBeDefined();
|
|
36
|
+
expect(typeof metrics_1.default.genaiCost.record).toBe('function');
|
|
37
|
+
expect(() => metrics_1.default.genaiCost.record(0.99, { [semantic_convention_1.default.GEN_AI_SYSTEM]: 'openai' })).not.toThrow();
|
|
38
|
+
});
|
|
39
|
+
it('should throw an error when allowConsoleExporterFallback is not set and fallback is required', () => {
|
|
40
|
+
expect(() => {
|
|
41
|
+
metrics_1.default.handleExporterFallback(new Error('Simulated OTLPMetricExporter failure'), false);
|
|
42
|
+
}).toThrow('[Metrics] Failed to initialize OTLPMetricExporter and fallback to ConsoleMetricExporter is disabled. Set allowConsoleExporterFallback=true to enable fallback (not recommended for production).');
|
|
43
|
+
});
|
|
44
|
+
it('should use ConsoleMetricExporter when allowConsoleExporterFallback is set to true', () => {
|
|
45
|
+
expect(() => {
|
|
46
|
+
const exporter = metrics_1.default.handleExporterFallback(new Error('Simulated OTLPMetricExporter failure'), true);
|
|
47
|
+
expect(exporter).toBeInstanceOf(sdk_metrics_1.ConsoleMetricExporter);
|
|
48
|
+
}).not.toThrow();
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=metrics.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../../src/otel/__tests__/metrics.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MeterProvider, PeriodicExportingMetricReader, ConsoleMetricExporter } from '@opentelemetry/sdk-metrics';
|
|
2
|
+
import { metrics } from '@opentelemetry/api';
|
|
3
|
+
import { SetupMetricsOptions } from '../types';
|
|
4
|
+
export default class Metrics {
|
|
5
|
+
static meterProvider: MeterProvider;
|
|
6
|
+
static meter: ReturnType<typeof metrics.getMeter>;
|
|
7
|
+
static metricReaders: PeriodicExportingMetricReader[];
|
|
8
|
+
static genaiClientUsageTokens: ReturnType<ReturnType<typeof metrics.getMeter>['createHistogram']>;
|
|
9
|
+
static genaiClientOperationDuration: ReturnType<ReturnType<typeof metrics.getMeter>['createHistogram']>;
|
|
10
|
+
static genaiServerTbt: ReturnType<ReturnType<typeof metrics.getMeter>['createHistogram']>;
|
|
11
|
+
static genaiServerTtft: ReturnType<ReturnType<typeof metrics.getMeter>['createHistogram']>;
|
|
12
|
+
static dbClientOperationDuration: ReturnType<ReturnType<typeof metrics.getMeter>['createHistogram']>;
|
|
13
|
+
static genaiRequests: ReturnType<ReturnType<typeof metrics.getMeter>['createCounter']>;
|
|
14
|
+
static genaiPromptTokens: ReturnType<ReturnType<typeof metrics.getMeter>['createCounter']>;
|
|
15
|
+
static genaiCompletionTokens: ReturnType<ReturnType<typeof metrics.getMeter>['createCounter']>;
|
|
16
|
+
static genaiReasoningTokens: ReturnType<ReturnType<typeof metrics.getMeter>['createCounter']>;
|
|
17
|
+
static genaiCost: ReturnType<ReturnType<typeof metrics.getMeter>['createHistogram']>;
|
|
18
|
+
static dbRequests: ReturnType<ReturnType<typeof metrics.getMeter>['createCounter']>;
|
|
19
|
+
static initializeMetrics(): void;
|
|
20
|
+
static handleExporterFallback(err: Error, allowConsoleExporterFallback: boolean): ConsoleMetricExporter;
|
|
21
|
+
static setup(options: SetupMetricsOptions): import("@opentelemetry/api").Meter | null;
|
|
22
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
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 sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
7
|
+
const api_1 = require("@opentelemetry/api");
|
|
8
|
+
const semantic_convention_1 = __importDefault(require("../semantic-convention"));
|
|
9
|
+
const exporter_metrics_otlp_http_1 = require("@opentelemetry/exporter-metrics-otlp-http");
|
|
10
|
+
const DB_CLIENT_OPERATION_DURATION_BUCKETS = [0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10];
|
|
11
|
+
const GEN_AI_CLIENT_OPERATION_DURATION_BUCKETS = [
|
|
12
|
+
0.01, 0.02, 0.04, 0.08, 0.16, 0.32, 0.64, 1.28, 2.56, 5.12, 10.24, 20.48, 40.96, 81.92,
|
|
13
|
+
];
|
|
14
|
+
const GEN_AI_SERVER_TBT = [0.01, 0.025, 0.05, 0.075, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.75, 1.0, 2.5];
|
|
15
|
+
const GEN_AI_SERVER_TFTT = [
|
|
16
|
+
0.001, 0.005, 0.01, 0.02, 0.04, 0.06, 0.08, 0.1, 0.25, 0.5, 0.75, 1.0, 2.5, 5.0, 7.5, 10.0,
|
|
17
|
+
];
|
|
18
|
+
const GEN_AI_CLIENT_TOKEN_USAGE_BUCKETS = [
|
|
19
|
+
1, 4, 16, 64, 256, 1024, 4096, 16384, 65536, 262144, 1048576, 4194304, 16777216, 67108864,
|
|
20
|
+
];
|
|
21
|
+
class Metrics {
|
|
22
|
+
static initializeMetrics() {
|
|
23
|
+
this.genaiClientUsageTokens = this.meter.createHistogram(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, {
|
|
24
|
+
description: 'Measures number of input and output tokens used',
|
|
25
|
+
unit: '{token}',
|
|
26
|
+
advice: {
|
|
27
|
+
explicitBucketBoundaries: GEN_AI_CLIENT_TOKEN_USAGE_BUCKETS,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
this.genaiClientOperationDuration = this.meter.createHistogram(semantic_convention_1.default.GEN_AI_CLIENT_OPERATION_DURATION, {
|
|
31
|
+
description: 'GenAI operation duration',
|
|
32
|
+
unit: 's',
|
|
33
|
+
advice: {
|
|
34
|
+
explicitBucketBoundaries: GEN_AI_CLIENT_OPERATION_DURATION_BUCKETS,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
this.genaiServerTbt = this.meter.createHistogram(semantic_convention_1.default.GEN_AI_SERVER_TBT, {
|
|
38
|
+
description: 'Time per output token generated after the first token for successful responses',
|
|
39
|
+
unit: 's',
|
|
40
|
+
advice: {
|
|
41
|
+
explicitBucketBoundaries: GEN_AI_SERVER_TBT,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
this.genaiServerTtft = this.meter.createHistogram(semantic_convention_1.default.GEN_AI_SERVER_TTFT, {
|
|
45
|
+
description: 'Time to generate first token for successful responses',
|
|
46
|
+
unit: 's',
|
|
47
|
+
advice: {
|
|
48
|
+
explicitBucketBoundaries: GEN_AI_SERVER_TFTT,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
this.dbClientOperationDuration = this.meter.createHistogram(semantic_convention_1.default.DB_CLIENT_OPERATION_DURATION, {
|
|
52
|
+
description: 'DB operation duration',
|
|
53
|
+
unit: 's',
|
|
54
|
+
advice: {
|
|
55
|
+
explicitBucketBoundaries: DB_CLIENT_OPERATION_DURATION_BUCKETS,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
this.genaiRequests = this.meter.createCounter(semantic_convention_1.default.GEN_AI_REQUESTS, {
|
|
59
|
+
description: 'Number of requests to GenAI',
|
|
60
|
+
unit: '1',
|
|
61
|
+
});
|
|
62
|
+
this.genaiPromptTokens = this.meter.createCounter(semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS, {
|
|
63
|
+
description: 'Number of prompt tokens processed.',
|
|
64
|
+
unit: '1',
|
|
65
|
+
});
|
|
66
|
+
this.genaiCompletionTokens = this.meter.createCounter(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, {
|
|
67
|
+
description: 'Number of completion tokens processed.',
|
|
68
|
+
unit: '1',
|
|
69
|
+
});
|
|
70
|
+
this.genaiReasoningTokens = this.meter.createCounter(semantic_convention_1.default.GEN_AI_USAGE_REASONING_TOKENS, {
|
|
71
|
+
description: 'Number of reasoning thought tokens processed.',
|
|
72
|
+
unit: '1',
|
|
73
|
+
});
|
|
74
|
+
this.genaiCost = this.meter.createHistogram(semantic_convention_1.default.GEN_AI_USAGE_COST, {
|
|
75
|
+
description: 'The distribution of GenAI request costs.',
|
|
76
|
+
unit: 'USD',
|
|
77
|
+
});
|
|
78
|
+
this.dbRequests = this.meter.createCounter(semantic_convention_1.default.DB_REQUESTS, {
|
|
79
|
+
description: 'Number of requests to VectorDBs.',
|
|
80
|
+
unit: '1',
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
static handleExporterFallback(err, allowConsoleExporterFallback) {
|
|
84
|
+
if (allowConsoleExporterFallback) {
|
|
85
|
+
console.warn('[Metrics] Falling back to ConsoleMetricExporter. WARNING: ConsoleMetricExporter may expose sensitive data in logs. Do NOT use in production!', err);
|
|
86
|
+
return new sdk_metrics_1.ConsoleMetricExporter();
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
throw new Error('[Metrics] Failed to initialize OTLPMetricExporter and fallback to ConsoleMetricExporter is disabled. Set allowConsoleExporterFallback=true to enable fallback (not recommended for production).');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
static setup(options) {
|
|
93
|
+
if (options.meter) {
|
|
94
|
+
this.meter = options.meter;
|
|
95
|
+
this.initializeMetrics();
|
|
96
|
+
return this.meter;
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
let metricExporter;
|
|
100
|
+
try {
|
|
101
|
+
const url = options.otlpEndpoint + '/v1/metrics';
|
|
102
|
+
metricExporter = new exporter_metrics_otlp_http_1.OTLPMetricExporter({
|
|
103
|
+
url,
|
|
104
|
+
headers: options.otlpHeaders,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
metricExporter = this.handleExporterFallback(err, options.allowConsoleExporterFallback ?? false);
|
|
109
|
+
}
|
|
110
|
+
const metricReader = new sdk_metrics_1.PeriodicExportingMetricReader({
|
|
111
|
+
exportIntervalMillis: options.exportIntervalMillis || 60000,
|
|
112
|
+
exporter: metricExporter,
|
|
113
|
+
});
|
|
114
|
+
this.meterProvider = new sdk_metrics_1.MeterProvider({
|
|
115
|
+
resource: options.resource,
|
|
116
|
+
readers: [metricReader],
|
|
117
|
+
});
|
|
118
|
+
api_1.metrics.setGlobalMeterProvider(this.meterProvider);
|
|
119
|
+
this.meter = this.meterProvider.getMeter('openlit', '1.0.0');
|
|
120
|
+
this.metricReaders.push(metricReader);
|
|
121
|
+
this.initializeMetrics();
|
|
122
|
+
return this.meter;
|
|
123
|
+
}
|
|
124
|
+
catch (e) {
|
|
125
|
+
console.error('[Metrics] Failed to initialize metrics:', e);
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
Metrics.metricReaders = [];
|
|
131
|
+
exports.default = Metrics;
|
|
132
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/otel/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SetupTracerOptions } from '
|
|
1
|
+
import { SetupTracerOptions } from '../types';
|
|
2
2
|
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
|
|
3
3
|
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
4
4
|
export default class Tracing {
|
|
@@ -5,37 +5,39 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
7
7
|
const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
|
|
8
|
-
const instrumentation_1 = __importDefault(require("
|
|
9
|
-
const config_1 = __importDefault(require("
|
|
8
|
+
const instrumentation_1 = __importDefault(require("../instrumentation"));
|
|
9
|
+
const config_1 = __importDefault(require("../config"));
|
|
10
10
|
class Tracing {
|
|
11
11
|
static async setup(options) {
|
|
12
12
|
if (options.tracer)
|
|
13
13
|
return options.tracer;
|
|
14
14
|
try {
|
|
15
|
+
const consoleSpanExporter = new sdk_trace_node_1.ConsoleSpanExporter();
|
|
16
|
+
const url = options.otlpEndpoint + "/v1/traces";
|
|
17
|
+
const otlpTraceExporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({
|
|
18
|
+
url,
|
|
19
|
+
headers: options.otlpHeaders,
|
|
20
|
+
});
|
|
21
|
+
const spanProcessors = [
|
|
22
|
+
new sdk_trace_node_1.SimpleSpanProcessor(consoleSpanExporter),
|
|
23
|
+
options.disableBatch
|
|
24
|
+
? new sdk_trace_node_1.SimpleSpanProcessor(otlpTraceExporter)
|
|
25
|
+
: new sdk_trace_node_1.BatchSpanProcessor(otlpTraceExporter),
|
|
26
|
+
];
|
|
15
27
|
this.traceProvider = new sdk_trace_node_1.NodeTracerProvider({
|
|
16
28
|
resource: options.resource,
|
|
29
|
+
spanProcessors,
|
|
17
30
|
});
|
|
18
31
|
config_1.default.updateConfig({
|
|
19
32
|
...options,
|
|
20
33
|
tracer: options.tracer || Tracing.traceProvider,
|
|
21
34
|
});
|
|
22
35
|
instrumentation_1.default.setup(Tracing.traceProvider, options?.disabledInstrumentations, options?.instrumentations);
|
|
23
|
-
|
|
24
|
-
// Adding span to console
|
|
25
|
-
this.traceProvider.addSpanProcessor(new sdk_trace_node_1.SimpleSpanProcessor(consoleSpanExporter));
|
|
26
|
-
this.traceExporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({
|
|
27
|
-
url: options.otlpEndpoint,
|
|
28
|
-
headers: options.otlpHeaders,
|
|
29
|
-
});
|
|
30
|
-
if (options.disableBatch) {
|
|
31
|
-
this.traceProvider.addSpanProcessor(new sdk_trace_node_1.SimpleSpanProcessor(this.traceExporter));
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.traceProvider.addSpanProcessor(new sdk_trace_node_1.BatchSpanProcessor(this.traceExporter));
|
|
35
|
-
}
|
|
36
|
+
this.traceExporter = otlpTraceExporter;
|
|
36
37
|
this.traceProvider.register();
|
|
37
38
|
}
|
|
38
39
|
catch (e) {
|
|
40
|
+
console.error('[Traces] Failed to initialize traces:', e);
|
|
39
41
|
return null;
|
|
40
42
|
}
|
|
41
43
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/otel/tracing.ts"],"names":[],"mappings":";;;;;AACA,kEAMuC;AACvC,sFAA4E;AAE5E,yEAAkD;AAClD,uDAAsC;AAEtC,MAAqB,OAAO;IAG1B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAA2B;QAC5C,IAAI,OAAO,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,IAAI,oCAAmB,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;YAChD,MAAM,iBAAiB,GAAG,IAAI,4CAAiB,CAAC;gBAC9C,GAAG;gBACH,OAAO,EAAE,OAAO,CAAC,WAAiD;aACnE,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG;gBACrB,IAAI,oCAAmB,CAAC,mBAAmB,CAAC;gBAC5C,OAAO,CAAC,YAAY;oBAClB,CAAC,CAAC,IAAI,oCAAmB,CAAC,iBAAiC,CAAC;oBAC5D,CAAC,CAAC,IAAI,mCAAkB,CAAC,iBAAiC,CAAC;aAC9D,CAAC;YAEF,IAAI,CAAC,aAAa,GAAG,IAAI,mCAAkB,CAAC;gBAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,cAAc;aACf,CAAC,CAAC;YAEH,gBAAa,CAAC,YAAY,CAAC;gBACzB,GAAG,OAAO;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa;aAChD,CAAC,CAAC;YAEH,yBAAgB,CAAC,KAAK,CACpB,OAAO,CAAC,aAAa,EACrB,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,gBAAgB,CAC1B,CAAC;YAEF,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;YAEvC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA5CD,0BA4CC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export default class SemanticConvention {
|
|
2
|
+
static ATTR_DEPLOYMENT_ENVIRONMENT: string;
|
|
2
3
|
static GEN_AI_ENDPOINT: string;
|
|
3
4
|
static GEN_AI_SYSTEM: string;
|
|
4
5
|
static GEN_AI_ENVIRONMENT: string;
|
|
@@ -38,6 +39,7 @@ export default class SemanticConvention {
|
|
|
38
39
|
static GEN_AI_USAGE_OUTPUT_TOKENS: string;
|
|
39
40
|
static GEN_AI_USAGE_TOTAL_TOKENS: string;
|
|
40
41
|
static GEN_AI_USAGE_COST: string;
|
|
42
|
+
static GEN_AI_USAGE_REASONING_TOKENS: string;
|
|
41
43
|
static GEN_AI_RESPONSE_ID: string;
|
|
42
44
|
static GEN_AI_RESPONSE_FINISH_REASON: string;
|
|
43
45
|
static GEN_AI_RESPONSE_IMAGE: string;
|
|
@@ -96,4 +98,8 @@ export default class SemanticConvention {
|
|
|
96
98
|
static DB_UPDATE_METADATA: string;
|
|
97
99
|
static DB_UPDATE_VALUES: string;
|
|
98
100
|
static DB_UPDATE_ID: string;
|
|
101
|
+
static GEN_AI_CLIENT_OPERATION_DURATION: string;
|
|
102
|
+
static GEN_AI_SERVER_TBT: string;
|
|
103
|
+
static GEN_AI_SERVER_TTFT: string;
|
|
104
|
+
static DB_CLIENT_OPERATION_DURATION: string;
|
|
99
105
|
}
|