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.
Files changed (46) hide show
  1. package/README.md +18 -0
  2. package/dist/index.d.ts +2 -2
  3. package/dist/index.js +19 -6
  4. package/dist/index.js.map +1 -1
  5. package/dist/instrumentation/__tests__/anthropic-wrapper.test.d.ts +1 -0
  6. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js +92 -0
  7. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js.map +1 -0
  8. package/dist/instrumentation/__tests__/base-wrapper.test.d.ts +1 -0
  9. package/dist/instrumentation/__tests__/base-wrapper.test.js +175 -0
  10. package/dist/instrumentation/__tests__/base-wrapper.test.js.map +1 -0
  11. package/dist/instrumentation/__tests__/cohere-wrapper.test.d.ts +1 -0
  12. package/dist/instrumentation/__tests__/cohere-wrapper.test.js +131 -0
  13. package/dist/instrumentation/__tests__/cohere-wrapper.test.js.map +1 -0
  14. package/dist/instrumentation/__tests__/openai-wrapper.test.d.ts +1 -0
  15. package/dist/instrumentation/__tests__/openai-wrapper.test.js +118 -0
  16. package/dist/instrumentation/__tests__/openai-wrapper.test.js.map +1 -0
  17. package/dist/instrumentation/anthropic/wrapper.d.ts +7 -1
  18. package/dist/instrumentation/anthropic/wrapper.js +16 -1
  19. package/dist/instrumentation/anthropic/wrapper.js.map +1 -1
  20. package/dist/instrumentation/base-wrapper.d.ts +3 -2
  21. package/dist/instrumentation/base-wrapper.js +81 -1
  22. package/dist/instrumentation/base-wrapper.js.map +1 -1
  23. package/dist/instrumentation/cohere/wrapper.d.ts +7 -1
  24. package/dist/instrumentation/cohere/wrapper.js +19 -2
  25. package/dist/instrumentation/cohere/wrapper.js.map +1 -1
  26. package/dist/instrumentation/ollama/wrapper.d.ts +2 -1
  27. package/dist/instrumentation/ollama/wrapper.js +2 -2
  28. package/dist/instrumentation/ollama/wrapper.js.map +1 -1
  29. package/dist/instrumentation/openai/wrapper.d.ts +9 -2
  30. package/dist/instrumentation/openai/wrapper.js +86 -3
  31. package/dist/instrumentation/openai/wrapper.js.map +1 -1
  32. package/dist/otel/__tests__/metrics.test.d.ts +1 -0
  33. package/dist/otel/__tests__/metrics.test.js +51 -0
  34. package/dist/otel/__tests__/metrics.test.js.map +1 -0
  35. package/dist/otel/metrics.d.ts +22 -0
  36. package/dist/otel/metrics.js +132 -0
  37. package/dist/otel/metrics.js.map +1 -0
  38. package/dist/{tracing.d.ts → otel/tracing.d.ts} +1 -1
  39. package/dist/{tracing.js → otel/tracing.js} +17 -15
  40. package/dist/otel/tracing.js.map +1 -0
  41. package/dist/semantic-convention.d.ts +6 -0
  42. package/dist/semantic-convention.js +8 -1
  43. package/dist/semantic-convention.js.map +1 -1
  44. package/dist/types.d.ts +7 -0
  45. package/package.json +10 -11
  46. 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 (!!stream) {
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":";;;;;AAAA,4CAA4E;AAC5E,0DAAyC;AACzC,4DAA0C;AAC1C,oFAA2D;AAC3D,mEAAkE;AAElE,MAAM,aAAc,SAAQ,sBAAW;IAErC,MAAM,CAAC,0BAA0B,CAAC,MAAc;QAC9C,MAAM,aAAa,GAAG,mCAAmC,CAAC;QAC1D,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;qBACX,IAAI,CAAC,WAAK,CAAC,OAAO,CAAC,aAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;oBACtD,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;oBACtB,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAEnC,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,iBAAa,CAAC,iBAAiB,CACpC,QAAQ,EACR,aAAa,CAAC,wBAAwB,CAAC;4BACrC,IAAI;4BACJ,aAAa;4BACb,QAAQ;4BACR,IAAI;yBACL,CAAC,CACH,CAAC;oBACJ,CAAC;oBAED,OAAO,aAAa,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChF,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;oBAChB,iBAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACvC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,CAAC,CAAC,CAAC;YACP,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAC3B,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,IAAI,GAML;QACC,IAAI,YAAY,CAAC;QACjB,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,aAAa,CAAC,2BAA2B,CAAC;gBAC7D,IAAI;gBACJ,aAAa;gBACb,MAAM,EAAE,QAAQ;gBAChB,IAAI;aACL,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,iBAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,kEAAkE;YAClE,IAAI,YAAY,EAAE,CAAC;gBACjB,sBAAW,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAAC,EACrC,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,IAAI,GAML;QACC,IAAI,YAAY,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG;gBACb,EAAE,EAAE,GAAG;gBACP,OAAO,EAAE,CAAC,CAAC;gBACX,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,IAAI;wBACd,aAAa,EAAE,MAAM;wBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;qBAC5C;iBACF;gBACD,KAAK,EAAE;oBACL,aAAa,EAAE,CAAC;oBAChB,iBAAiB,EAAE,CAAC;oBACpB,YAAY,EAAE,CAAC;iBAChB;aACF,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACnC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC/B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBAE3B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;oBACpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBACnE,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;oBAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACzD,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;oBACpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;gBACtE,CAAC;gBAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;oBACvC,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,KAAK,MAAM,OAAO,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACrC,YAAY,IAAI,iBAAa,CAAC,YAAY,CAAC,OAAO,CAAC,OAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3F,CAAC;YAED,MAAM,gBAAgB,GAAG,iBAAa,CAAC,YAAY,CACjD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EACvC,MAAM,CAAC,KAAK,CACb,CAAC;YACF,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,CAAC,KAAK,GAAG;oBACb,aAAa,EAAE,YAAY;oBAC3B,iBAAiB,EAAE,gBAAgB;oBACnC,YAAY,EAAE,YAAY,GAAG,gBAAgB;iBAC9C,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;YAEtB,YAAY,GAAG,MAAM,aAAa,CAAC,2BAA2B,CAAC;gBAC7D,IAAI;gBACJ,aAAa;gBACb,MAAM;gBACN,IAAI;aACL,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,iBAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,kEAAkE;YAClE,IAAI,YAAY,EAAE,CAAC;gBACjB,sBAAW,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,EACvC,IAAI,EACJ,aAAa,EACb,MAAM,EACN,IAAI,GAML;QACC,MAAM,YAAY,GAAG,gBAAa,CAAC,YAAY,CAAC;QAChD,MAAM,EACJ,QAAQ,EACR,iBAAiB,GAAG,CAAC,EACrB,UAAU,GAAG,IAAI,EACjB,CAAC,GAAG,CAAC,EACL,gBAAgB,GAAG,CAAC,EACpB,IAAI,GAAG,IAAI,EACX,WAAW,GAAG,CAAC,EACf,KAAK,EACL,IAAI,EACJ,MAAM,GAAG,KAAK,EACd,KAAK,GACN,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEZ,oCAAoC;QACpC,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,oBAAoB,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,+BAA+B,EAAE,gBAAgB,CAAC,CAAC;QACxF,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,gCAAgC,EAAE,iBAAiB,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;QAEvE,IAAI,YAAY,EAAE,CAAC;YACjB,yCAAyC;YACzC,MAAM,aAAa,GAAG,QAAQ,IAAI,EAAE,CAAC;YACrC,MAAM,iBAAiB,GAAG,EAAE,CAAC;YAE7B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAEhC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,MAAM,UAAU,GAAG,OAAO;yBACvB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACZ,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;4BACnB,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnE,CAAC;6BAAM,CAAC;4BACN,OAAO,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC9B,CAAC;oBACH,CAAC,CAAC;yBACD,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,UAAU,EAAE,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;QACD,kCAAkC;QAElC,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,gBAAgB,EACnC,6BAAkB,CAAC,0BAA0B,CAC9C,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAEpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC;QAE9C,MAAM,WAAW,GAAG,MAAM,gBAAa,CAAC,iBAAiB,CAAC,gBAAa,CAAC,YAAY,CAAC,CAAC;QAEtF,kCAAkC;QAClC,MAAM,IAAI,GAAG,iBAAa,CAAC,gBAAgB,CACzC,KAAK,EACL,WAAW,EACX,MAAM,CAAC,KAAK,CAAC,aAAa,EAC1B,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC/B,CAAC;QAEF,aAAa,CAAC,qBAAqB,CAAC,IAAI,EAAE;YACxC,aAAa;YACb,KAAK;YACL,IAAI;YACJ,IAAI;YACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,yBAAyB,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5F,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,0BAA0B,EAC7C,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC/B,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,yBAAyB,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE3F,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,6BAA6B,EAChD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAChC,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACZ,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,yBAAyB,EAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAClC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACb,MAAM,cAAc,GAAG,GAAG,6BAAkB,CAAC,yBAAyB,MAAM,CAAC;wBAC7E,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACrE,CAAC,IAAI,CAAC,CAAC;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,aAAa;YACb,KAAK;YACL,IAAI;YACJ,IAAI;YACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,MAAc;QACnC,MAAM,aAAa,GAAG,6BAA6B,CAAC;QACpD,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,YAAY,GAAuB;wBACrC,aAAa;wBACb,KAAK,EAAE,EAAE;wBACT,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,CAAC;wBACP,QAAQ,EAAE,aAAa,CAAC,QAAQ;qBACjC,CAAC;oBACF,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAExD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,wBAAwB,CAAC;wBACzD,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,KAAK,CAAC,aAAa,CAC7B,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,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACvE,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;wBACpC,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,+BAA+B,EAAE,eAAe,CAAC,CAAC;wBACvF,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;wBACrF,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;wBACrE,CAAC;wBAED,kCAAkC;wBAClC,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,yBAAyB,EAC5C,QAAQ,CAAC,KAAK,CAAC,aAAa,CAC7B,CAAC;wBACF,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,yBAAyB,EAC5C,QAAQ,CAAC,KAAK,CAAC,YAAY,CAC5B,CAAC;wBAEF,YAAY,GAAG;4BACb,aAAa;4BACb,KAAK;4BACL,IAAI;4BACJ,IAAI;4BACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ;yBACjC,CAAC;wBAEF,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,iBAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzC,CAAC;4BAAS,CAAC;wBACT,IAAI,CAAC,GAAG,EAAE,CAAC;wBACX,sBAAW,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,MAAc;QAClC,MAAM,aAAa,GAAG,mCAAmC,CAAC;QAE1D,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,YAAY,CAAC;oBACjB,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAExD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,eAAe,CAAC;wBAChD,MAAM,EACJ,eAAe,GAAG,EAAE,EACpB,MAAM,GAAG,EAAE,EACX,aAAa,EACb,IAAI,EACJ,eAAe,GAChB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAEZ,0BAA0B;wBAC1B,aAAa,CAAC,qBAAqB,CAAC,IAAI,EAAE;4BACxC,aAAa;4BACb,KAAK;4BACL,IAAI;4BACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ;yBACjC,CAAC,CAAC;wBAEH,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,gBAAgB,EACnC,6BAAkB,CAAC,gCAAgC,CACpD,CAAC;wBAEF,oCAAoC;wBAEpC,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,4BAA4B,EAAE,aAAa,CAAC,CAAC;wBAClF,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,8BAA8B,EAAE,eAAe,CAAC,CAAC;wBACtF,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,kCAAkC,EACrD,eAAe,EAAE,UAAU,IAAI,MAAM,CACtC,CAAC;wBACF,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,iCAAiC,EACpD,eAAe,EAAE,wBAAwB,IAAI,MAAM,CACpD,CAAC;wBACF,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,oCAAoC,EACvD,eAAe,EAAE,QAAQ,IAAI,MAAM,CACpC,CAAC;wBACF,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;wBACnF,kCAAkC;wBAElC,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACtE,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,yBAAyB,EAC5C,QAAQ,CAAC,KAAK,CAAC,aAAa,CAC7B,CAAC;wBACF,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,8BAA8B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAEtF,kDAAkD;wBAClD,YAAY,GAAG;4BACb,aAAa;4BACb,KAAK;4BACL,IAAI;4BACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ;yBACjC,CAAC;wBAEF,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,iBAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzC,CAAC;4BAAS,CAAC;wBACT,IAAI,CAAC,GAAG,EAAE,CAAC;wBACX,kEAAkE;wBAClE,IAAI,YAAY,EAAE,CAAC;4BACjB,sBAAW,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,MAAc;QACvC,MAAM,aAAa,GAAG,yBAAyB,CAAC;QAChD,MAAM,YAAY,GAAG,gBAAa,CAAC,YAAY,CAAC;QAChD,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,YAAY,CAAC;oBACjB,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAExD,MAAM,EACJ,MAAM,EACN,OAAO,GAAG,UAAU,EACpB,eAAe,GAAG,KAAK,EACvB,IAAI,GAAG,WAAW,EAClB,KAAK,GAAG,OAAO,EACf,IAAI,GACL,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAEZ,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,gBAAgB,EACnC,6BAAkB,CAAC,2BAA2B,CAC/C,CAAC;wBAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC;wBAE3C,MAAM,WAAW,GAAG,MAAM,gBAAa,CAAC,iBAAiB,CAAC,gBAAa,CAAC,YAAY,CAAC,CAAC;wBAEtF,kCAAkC;wBAClC,MAAM,IAAI,GACR,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;4BAC5B,iBAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;wBAErE,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;wBACpC,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;wBACtE,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;wBAC5E,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;wBAExE,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;wBACtE,CAAC;wBACD,kCAAkC;wBAElC,IAAI,WAAW,GAAG,CAAC,CAAC;wBAEpB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;4BAClB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gCAClC,IAAI,CAAC,YAAY,CACf,GAAG,6BAAkB,CAAC,6BAA6B,IAAI,WAAW,EAAE,EACpE,KAAK,CAAC,cAAc,IAAI,EAAE,CAC3B,CAAC;gCAEF,MAAM,aAAa,GAAG,GAAG,6BAAkB,CAAC,qBAAqB,IAAI,WAAW,EAAE,CAAC;gCACnF,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;gCAEzD,WAAW,EAAE,CAAC;4BAChB,CAAC;wBACH,CAAC;wBAED,kDAAkD;wBAClD,YAAY,GAAG;4BACb,aAAa;4BACb,KAAK;4BACL,IAAI;4BACJ,IAAI;4BACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ;yBACjC,CAAC;wBAEF,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,iBAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzC,CAAC;4BAAS,CAAC;wBACT,IAAI,CAAC,GAAG,EAAE,CAAC;wBACX,kEAAkE;wBAClE,IAAI,YAAY,EAAE,CAAC;4BACjB,sBAAW,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,MAAc;QACxC,MAAM,aAAa,GAAG,yBAAyB,CAAC;QAChD,MAAM,YAAY,GAAG,gBAAa,CAAC,YAAY,CAAC;QAChD,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,YAAY,CAAC;oBACjB,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAExD,MAAM,EACJ,MAAM,EACN,OAAO,GAAG,UAAU,EACpB,eAAe,GAAG,KAAK,EACvB,IAAI,GAAG,WAAW,EAClB,KAAK,GAAG,OAAO,EACf,IAAI,GACL,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAEZ,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,gBAAgB,EACnC,6BAAkB,CAAC,2BAA2B,CAC/C,CAAC;wBACF,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAE3E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC;wBAE3C,MAAM,WAAW,GAAG,MAAM,gBAAa,CAAC,iBAAiB,CAAC,gBAAa,CAAC,YAAY,CAAC,CAAC;wBAEtF,kCAAkC;wBAClC,MAAM,IAAI,GACR,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;4BAC5B,iBAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;wBAErE,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;wBACpC,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;wBACtE,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;wBAC5E,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;wBAExE,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;wBACtE,CAAC;wBACD,kCAAkC;wBAElC,IAAI,WAAW,GAAG,CAAC,CAAC;wBACpB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;4BAClB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gCAClC,IAAI,CAAC,YAAY,CACf,GAAG,6BAAkB,CAAC,6BAA6B,IAAI,WAAW,EAAE,EACpE,KAAK,CAAC,cAAc,IAAI,EAAE,CAC3B,CAAC;gCAEF,MAAM,aAAa,GAAG,GAAG,6BAAkB,CAAC,qBAAqB,IAAI,WAAW,EAAE,CAAC;gCACnF,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;gCAEzD,WAAW,EAAE,CAAC;4BAChB,CAAC;wBACH,CAAC;wBAED,kDAAkD;wBAClD,YAAY,GAAG;4BACb,aAAa;4BACb,KAAK;4BACL,IAAI;4BACJ,IAAI;4BACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ;yBACjC,CAAC;wBAEF,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,iBAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzC,CAAC;4BAAS,CAAC;wBACT,IAAI,CAAC,GAAG,EAAE,CAAC;wBACX,kEAAkE;wBAClE,IAAI,YAAY,EAAE,CAAC;4BACjB,sBAAW,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,MAAc;QACrC,MAAM,aAAa,GAAG,+BAA+B,CAAC;QACtD,MAAM,YAAY,GAAG,gBAAa,CAAC,YAAY,CAAC;QAChD,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,YAAY,CAAC;oBACjB,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBAExD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,GAAG,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBAE3E,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,gBAAgB,EACnC,6BAAkB,CAAC,2BAA2B,CAC/C,CAAC;wBAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC;wBAExC,MAAM,WAAW,GAAG,MAAM,gBAAa,CAAC,iBAAiB,CAAC,gBAAa,CAAC,YAAY,CAAC,CAAC;wBAEtF,kCAAkC;wBAClC,MAAM,IAAI,GAAG,iBAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;wBAExE,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;wBACpC,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;wBACxE,IAAI,CAAC,YAAY,CACf,6BAAkB,CAAC,oCAAoC,EACvD,eAAe,CAChB,CAAC;wBACF,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;wBAExE,IAAI,YAAY,EAAE,CAAC;4BACjB,IAAI,CAAC,YAAY,CAAC,6BAAkB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;wBACrE,CAAC;wBACD,kCAAkC;wBAElC,kDAAkD;wBAClD,YAAY,GAAG;4BACb,aAAa;4BACb,KAAK;4BACL,IAAI;4BACJ,IAAI;4BACJ,QAAQ,EAAE,aAAa,CAAC,QAAQ;yBACjC,CAAC;wBAEF,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,iBAAa,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzC,CAAC;4BAAS,CAAC;wBACT,IAAI,CAAC,GAAG,EAAE,CAAC;wBACX,kEAAkE;wBAClE,IAAI,YAAY,EAAE,CAAC;4BACjB,sBAAW,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;wBAChD,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;;AAlsBM,sBAAQ,GAAG,6BAAkB,CAAC,oBAAoB,CAAC;AAqsB5D,kBAAe,aAAa,CAAC"}
@@ -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 './types';
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("./instrumentation"));
9
- const config_1 = __importDefault(require("./config"));
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
- const consoleSpanExporter = new sdk_trace_node_1.ConsoleSpanExporter();
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
  }