openlit 1.9.0 → 1.10.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 (107) hide show
  1. package/README.md +17 -1
  2. package/dist/constant.d.ts +1 -1
  3. package/dist/constant.js +6 -2
  4. package/dist/constant.js.map +1 -1
  5. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js +4 -0
  6. package/dist/instrumentation/__tests__/anthropic-wrapper.test.js.map +1 -1
  7. package/dist/instrumentation/__tests__/chroma-trace-comparison.test.d.ts +18 -0
  8. package/dist/instrumentation/__tests__/chroma-trace-comparison.test.js +209 -0
  9. package/dist/instrumentation/__tests__/chroma-trace-comparison.test.js.map +1 -0
  10. package/dist/instrumentation/__tests__/google-ai-trace-comparison.test.js +11 -0
  11. package/dist/instrumentation/__tests__/google-ai-trace-comparison.test.js.map +1 -1
  12. package/dist/instrumentation/__tests__/groq-trace-comparison.test.js +11 -0
  13. package/dist/instrumentation/__tests__/groq-trace-comparison.test.js.map +1 -1
  14. package/dist/instrumentation/__tests__/huggingface-trace-comparison.test.d.ts +7 -0
  15. package/dist/instrumentation/__tests__/huggingface-trace-comparison.test.js +237 -0
  16. package/dist/instrumentation/__tests__/huggingface-trace-comparison.test.js.map +1 -0
  17. package/dist/instrumentation/__tests__/milvus-trace-comparison.test.d.ts +17 -0
  18. package/dist/instrumentation/__tests__/milvus-trace-comparison.test.js +206 -0
  19. package/dist/instrumentation/__tests__/milvus-trace-comparison.test.js.map +1 -0
  20. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.js +11 -0
  21. package/dist/instrumentation/__tests__/mistral-trace-comparison.test.js.map +1 -1
  22. package/dist/instrumentation/__tests__/qdrant-trace-comparison.test.d.ts +17 -0
  23. package/dist/instrumentation/__tests__/qdrant-trace-comparison.test.js +182 -0
  24. package/dist/instrumentation/__tests__/qdrant-trace-comparison.test.js.map +1 -0
  25. package/dist/instrumentation/__tests__/replicate-trace-comparison.test.d.ts +7 -0
  26. package/dist/instrumentation/__tests__/replicate-trace-comparison.test.js +158 -0
  27. package/dist/instrumentation/__tests__/replicate-trace-comparison.test.js.map +1 -0
  28. package/dist/instrumentation/__tests__/together-trace-comparison.test.js +11 -0
  29. package/dist/instrumentation/__tests__/together-trace-comparison.test.js.map +1 -1
  30. package/dist/instrumentation/__tests__/trace-comparison-utils.d.ts +1 -0
  31. package/dist/instrumentation/__tests__/trace-comparison-utils.js +34 -24
  32. package/dist/instrumentation/__tests__/trace-comparison-utils.js.map +1 -1
  33. package/dist/instrumentation/anthropic/wrapper.d.ts +7 -1
  34. package/dist/instrumentation/anthropic/wrapper.js +72 -3
  35. package/dist/instrumentation/anthropic/wrapper.js.map +1 -1
  36. package/dist/instrumentation/base-wrapper.d.ts +3 -1
  37. package/dist/instrumentation/base-wrapper.js +22 -6
  38. package/dist/instrumentation/base-wrapper.js.map +1 -1
  39. package/dist/instrumentation/bedrock/wrapper.js +27 -8
  40. package/dist/instrumentation/bedrock/wrapper.js.map +1 -1
  41. package/dist/instrumentation/chroma/index.d.ts +11 -0
  42. package/dist/instrumentation/chroma/index.js +70 -0
  43. package/dist/instrumentation/chroma/index.js.map +1 -0
  44. package/dist/instrumentation/chroma/wrapper.d.ts +10 -0
  45. package/dist/instrumentation/chroma/wrapper.js +127 -0
  46. package/dist/instrumentation/chroma/wrapper.js.map +1 -0
  47. package/dist/instrumentation/cohere/wrapper.d.ts +5 -1
  48. package/dist/instrumentation/cohere/wrapper.js +24 -5
  49. package/dist/instrumentation/cohere/wrapper.js.map +1 -1
  50. package/dist/instrumentation/google-ai/wrapper.d.ts +2 -0
  51. package/dist/instrumentation/google-ai/wrapper.js +4 -0
  52. package/dist/instrumentation/google-ai/wrapper.js.map +1 -1
  53. package/dist/instrumentation/groq/wrapper.d.ts +2 -0
  54. package/dist/instrumentation/groq/wrapper.js +7 -1
  55. package/dist/instrumentation/groq/wrapper.js.map +1 -1
  56. package/dist/instrumentation/huggingface/index.d.ts +13 -0
  57. package/dist/instrumentation/huggingface/index.js +110 -0
  58. package/dist/instrumentation/huggingface/index.js.map +1 -0
  59. package/dist/instrumentation/huggingface/wrapper.d.ts +41 -0
  60. package/dist/instrumentation/huggingface/wrapper.js +246 -0
  61. package/dist/instrumentation/huggingface/wrapper.js.map +1 -0
  62. package/dist/instrumentation/index.js +10 -0
  63. package/dist/instrumentation/index.js.map +1 -1
  64. package/dist/instrumentation/langchain/wrapper.js +6 -0
  65. package/dist/instrumentation/langchain/wrapper.js.map +1 -1
  66. package/dist/instrumentation/llamaindex/wrapper.js +4 -4
  67. package/dist/instrumentation/llamaindex/wrapper.js.map +1 -1
  68. package/dist/instrumentation/milvus/index.d.ts +11 -0
  69. package/dist/instrumentation/milvus/index.js +67 -0
  70. package/dist/instrumentation/milvus/index.js.map +1 -0
  71. package/dist/instrumentation/milvus/wrapper.d.ts +15 -0
  72. package/dist/instrumentation/milvus/wrapper.js +219 -0
  73. package/dist/instrumentation/milvus/wrapper.js.map +1 -0
  74. package/dist/instrumentation/mistral/wrapper.d.ts +2 -0
  75. package/dist/instrumentation/mistral/wrapper.js +10 -2
  76. package/dist/instrumentation/mistral/wrapper.js.map +1 -1
  77. package/dist/instrumentation/ollama/wrapper.d.ts +2 -0
  78. package/dist/instrumentation/ollama/wrapper.js +4 -0
  79. package/dist/instrumentation/ollama/wrapper.js.map +1 -1
  80. package/dist/instrumentation/openai/wrapper.d.ts +2 -0
  81. package/dist/instrumentation/openai/wrapper.js +24 -10
  82. package/dist/instrumentation/openai/wrapper.js.map +1 -1
  83. package/dist/instrumentation/qdrant/index.d.ts +11 -0
  84. package/dist/instrumentation/qdrant/index.js +67 -0
  85. package/dist/instrumentation/qdrant/index.js.map +1 -0
  86. package/dist/instrumentation/qdrant/wrapper.d.ts +14 -0
  87. package/dist/instrumentation/qdrant/wrapper.js +213 -0
  88. package/dist/instrumentation/qdrant/wrapper.js.map +1 -0
  89. package/dist/instrumentation/replicate/index.d.ts +11 -0
  90. package/dist/instrumentation/replicate/index.js +57 -0
  91. package/dist/instrumentation/replicate/index.js.map +1 -0
  92. package/dist/instrumentation/replicate/wrapper.d.ts +15 -0
  93. package/dist/instrumentation/replicate/wrapper.js +99 -0
  94. package/dist/instrumentation/replicate/wrapper.js.map +1 -0
  95. package/dist/instrumentation/together/wrapper.d.ts +2 -0
  96. package/dist/instrumentation/together/wrapper.js +7 -1
  97. package/dist/instrumentation/together/wrapper.js.map +1 -1
  98. package/dist/instrumentation/vercel-ai/wrapper.js +40 -4
  99. package/dist/instrumentation/vercel-ai/wrapper.js.map +1 -1
  100. package/dist/otel/metrics.d.ts +3 -0
  101. package/dist/otel/metrics.js +21 -0
  102. package/dist/otel/metrics.js.map +1 -1
  103. package/dist/semantic-convention.d.ts +103 -27
  104. package/dist/semantic-convention.js +117 -36
  105. package/dist/semantic-convention.js.map +1 -1
  106. package/dist/types.d.ts +1 -1
  107. package/package.json +1 -1
@@ -65,6 +65,8 @@ class AnthropicWrapper extends base_wrapper_1.default {
65
65
  }
66
66
  static async *_messageCreateGenerator({ args, genAIEndpoint, response, span, }) {
67
67
  let metricParams;
68
+ const timestamps = [];
69
+ const startTime = Date.now();
68
70
  try {
69
71
  const result = {
70
72
  id: '0',
@@ -80,9 +82,12 @@ class AnthropicWrapper extends base_wrapper_1.default {
80
82
  input_tokens: 0,
81
83
  output_tokens: 0,
82
84
  total_tokens: 0,
85
+ cache_creation_input_tokens: 0,
86
+ cache_read_input_tokens: 0,
83
87
  },
84
88
  };
85
89
  for await (const chunk of response) {
90
+ timestamps.push(Date.now());
86
91
  switch (chunk.type) {
87
92
  case 'content_block_delta':
88
93
  result.content[0].text += chunk.delta?.text ?? '';
@@ -98,6 +103,8 @@ class AnthropicWrapper extends base_wrapper_1.default {
98
103
  result.content[0].role = chunk.message.role;
99
104
  result.usage.input_tokens += Number(chunk.message.usage?.input_tokens) ?? 0;
100
105
  result.usage.output_tokens += Number(chunk.message.usage?.output_tokens) ?? 0;
106
+ result.usage.cache_creation_input_tokens = Number(chunk.message.usage?.cache_creation_input_tokens) || 0;
107
+ result.usage.cache_read_input_tokens = Number(chunk.message.usage?.cache_read_input_tokens) || 0;
101
108
  result.stop_reason = chunk.message?.stop_reason ?? '';
102
109
  }
103
110
  break;
@@ -107,16 +114,31 @@ class AnthropicWrapper extends base_wrapper_1.default {
107
114
  case 'message_delta':
108
115
  result.stop_reason = chunk.delta?.stop_reason ?? '';
109
116
  result.usage.output_tokens += Number(chunk.usage?.output_tokens) ?? 0;
117
+ if (chunk.usage?.cache_creation_input_tokens) {
118
+ result.usage.cache_creation_input_tokens = Number(chunk.usage.cache_creation_input_tokens) || 0;
119
+ }
120
+ if (chunk.usage?.cache_read_input_tokens) {
121
+ result.usage.cache_read_input_tokens = Number(chunk.usage.cache_read_input_tokens) || 0;
122
+ }
110
123
  break;
111
124
  }
112
125
  yield chunk;
113
126
  }
114
127
  result.usage.total_tokens = result.usage.output_tokens + result.usage.input_tokens;
128
+ // Calculate TTFT and TBT
129
+ const ttft = timestamps.length > 0 ? (timestamps[0] - startTime) / 1000 : 0;
130
+ let tbt = 0;
131
+ if (timestamps.length > 1) {
132
+ const timeDiffs = timestamps.slice(1).map((t, i) => t - timestamps[i]);
133
+ tbt = timeDiffs.reduce((a, b) => a + b, 0) / timeDiffs.length / 1000;
134
+ }
115
135
  metricParams = await AnthropicWrapper._messageCreateCommonSetter({
116
136
  args,
117
137
  genAIEndpoint,
118
138
  result,
119
139
  span,
140
+ ttft,
141
+ tbt,
120
142
  });
121
143
  return response;
122
144
  }
@@ -130,9 +152,9 @@ class AnthropicWrapper extends base_wrapper_1.default {
130
152
  }
131
153
  }
132
154
  }
133
- static async _messageCreateCommonSetter({ args, genAIEndpoint, result, span, }) {
155
+ static async _messageCreateCommonSetter({ args, genAIEndpoint, result, span, ttft = 0, tbt = 0, }) {
134
156
  const traceContent = config_1.default.traceContent;
135
- const { messages, max_tokens = null, seed = null, temperature = 1, top_p, top_k, user, stream = false, } = args[0];
157
+ const { messages, system, max_tokens = null, seed = null, temperature = 1, top_p, top_k, user, stream = false, } = args[0];
136
158
  span.setAttribute(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
137
159
  span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_ID, result.id);
138
160
  const model = result.model || 'claude-3-sonnet-20240229';
@@ -145,6 +167,8 @@ class AnthropicWrapper extends base_wrapper_1.default {
145
167
  user,
146
168
  cost,
147
169
  aiSystem: AnthropicWrapper.aiSystem,
170
+ serverAddress: AnthropicWrapper.serverAddress,
171
+ serverPort: AnthropicWrapper.serverPort,
148
172
  });
149
173
  // Response model
150
174
  span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_MODEL, model);
@@ -155,6 +179,12 @@ class AnthropicWrapper extends base_wrapper_1.default {
155
179
  span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_TEMPERATURE, temperature);
156
180
  span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, stream);
157
181
  span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_SEED, seed);
182
+ // System instructions
183
+ if (system) {
184
+ const systemStr = typeof system === 'string' ? system : JSON.stringify(system);
185
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS, systemStr);
186
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS_OTEL, systemStr);
187
+ }
158
188
  if (traceContent) {
159
189
  span.setAttribute(semantic_convention_1.default.GEN_AI_INPUT_MESSAGES, helpers_1.default.buildInputMessages(messages || []));
160
190
  }
@@ -163,11 +193,46 @@ class AnthropicWrapper extends base_wrapper_1.default {
163
193
  span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_OUTPUT_TOKENS, result.usage.output_tokens);
164
194
  span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_TOTAL_TOKENS, result.usage.input_tokens + result.usage.output_tokens);
165
195
  span.setAttribute(semantic_convention_1.default.GEN_AI_CLIENT_TOKEN_USAGE, result.usage.input_tokens + result.usage.output_tokens);
196
+ // Cache token attributes (Anthropic prompt caching)
197
+ if (result.usage.cache_creation_input_tokens) {
198
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS, result.usage.cache_creation_input_tokens);
199
+ }
200
+ if (result.usage.cache_read_input_tokens) {
201
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS, result.usage.cache_read_input_tokens);
202
+ }
203
+ // TTFT and TBT streaming metrics
204
+ if (ttft > 0) {
205
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SERVER_TTFT, ttft);
206
+ }
207
+ if (tbt > 0) {
208
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SERVER_TBT, tbt);
209
+ }
166
210
  if (result.stop_reason) {
167
211
  span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, [result.stop_reason]);
168
212
  }
213
+ // Tool calls from content blocks of type 'tool_use'
214
+ const toolUseBlocks = (result.content || []).filter((b) => b.type === 'tool_use');
215
+ if (toolUseBlocks.length > 0) {
216
+ const toolNames = toolUseBlocks.map((b) => b.name || '').filter(Boolean);
217
+ const toolIds = toolUseBlocks.map((b) => b.id || '').filter(Boolean);
218
+ const toolArgs = toolUseBlocks.map((b) => JSON.stringify(b.input || {}));
219
+ if (toolNames.length > 0)
220
+ span.setAttribute(semantic_convention_1.default.GEN_AI_TOOL_NAME, toolNames.join(', '));
221
+ if (toolIds.length > 0)
222
+ span.setAttribute(semantic_convention_1.default.GEN_AI_TOOL_CALL_ID, toolIds.join(', '));
223
+ if (toolArgs.length > 0)
224
+ span.setAttribute(semantic_convention_1.default.GEN_AI_TOOL_CALL_ARGUMENTS, toolArgs);
225
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_TYPE, semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_JSON);
226
+ }
227
+ else {
228
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_TYPE, semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_TEXT);
229
+ }
169
230
  if (traceContent) {
170
- span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES, helpers_1.default.buildOutputMessages(result.content?.[0]?.text || '', result.stop_reason || 'stop'));
231
+ const textContent = (result.content || [])
232
+ .filter((b) => b.type === 'text')
233
+ .map((b) => b.text || '')
234
+ .join('');
235
+ span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES, helpers_1.default.buildOutputMessages(textContent, result.stop_reason || 'stop', toolUseBlocks.length > 0 ? toolUseBlocks : undefined));
171
236
  }
172
237
  return {
173
238
  genAIEndpoint,
@@ -175,9 +240,13 @@ class AnthropicWrapper extends base_wrapper_1.default {
175
240
  user,
176
241
  cost,
177
242
  aiSystem: AnthropicWrapper.aiSystem,
243
+ serverAddress: AnthropicWrapper.serverAddress,
244
+ serverPort: AnthropicWrapper.serverPort,
178
245
  };
179
246
  }
180
247
  }
181
248
  AnthropicWrapper.aiSystem = semantic_convention_1.default.GEN_AI_SYSTEM_ANTHROPIC;
249
+ AnthropicWrapper.serverAddress = 'api.anthropic.com';
250
+ AnthropicWrapper.serverPort = 443;
182
251
  exports.default = AnthropicWrapper;
183
252
  //# sourceMappingURL=wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/anthropic/wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/anthropic/wrapper.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,11 @@ export type BaseSpanAttributes = {
5
5
  user?: unknown;
6
6
  cost?: number | string;
7
7
  aiSystem: string;
8
+ serverAddress?: string;
9
+ serverPort?: number;
8
10
  };
9
11
  export default class BaseWrapper {
10
- static setBaseSpanAttributes(span: Span, { genAIEndpoint, model, user, cost, aiSystem }: BaseSpanAttributes): void;
12
+ static setBaseSpanAttributes(span: Span, { genAIEndpoint, model, user, cost, aiSystem, serverAddress, serverPort }: BaseSpanAttributes): void;
11
13
  static recordMetrics(span: Span, baseAttributes: BaseSpanAttributes): void;
12
14
  static getSpanAttribute(span: Span, key: string): number | undefined;
13
15
  }
@@ -10,7 +10,7 @@ const semantic_convention_1 = __importDefault(require("../semantic-convention"))
10
10
  const api_1 = require("@opentelemetry/api");
11
11
  const metrics_1 = __importDefault(require("../otel/metrics"));
12
12
  class BaseWrapper {
13
- static setBaseSpanAttributes(span, { genAIEndpoint, model, user, cost, aiSystem }) {
13
+ static setBaseSpanAttributes(span, { genAIEndpoint, model, user, cost, aiSystem, serverAddress, serverPort }) {
14
14
  const applicationName = config_1.default.applicationName;
15
15
  const environment = config_1.default.environment;
16
16
  if (!applicationName) {
@@ -19,15 +19,19 @@ class BaseWrapper {
19
19
  if (!environment) {
20
20
  throw new Error("[Openlit] OpenlitConfig.environment is not set. Please check your configuration.");
21
21
  }
22
- span.setAttributes({
23
- [constant_1.TELEMETRY_SDK_NAME]: constant_1.SDK_NAME,
24
- });
25
- span.setAttribute(constant_1.TELEMETRY_SDK_NAME, constant_1.SDK_NAME);
26
22
  span.setAttribute(semantic_convention_1.default.GEN_AI_PROVIDER_NAME, aiSystem);
23
+ span.setAttribute(semantic_convention_1.default.GEN_AI_PROVIDER_NAME_OTEL, aiSystem);
27
24
  span.setAttribute(semantic_convention_1.default.GEN_AI_ENDPOINT, genAIEndpoint);
28
25
  span.setAttribute(semantic_convention_1.default.GEN_AI_ENVIRONMENT, environment);
29
26
  span.setAttribute(semantic_convention_1.default.GEN_AI_APPLICATION_NAME, applicationName);
30
27
  span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MODEL, model);
28
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SDK_VERSION, constant_1.SDK_VERSION);
29
+ if (serverAddress) {
30
+ span.setAttribute(semantic_convention_1.default.SERVER_ADDRESS, serverAddress);
31
+ }
32
+ if (serverPort !== undefined) {
33
+ span.setAttribute(semantic_convention_1.default.SERVER_PORT, serverPort);
34
+ }
31
35
  if (typeof user === 'string' || typeof user === 'number') {
32
36
  span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_USER, user);
33
37
  }
@@ -42,10 +46,11 @@ class BaseWrapper {
42
46
  const { genAIEndpoint, model, user, aiSystem, cost } = baseAttributes;
43
47
  const inputTokens = BaseWrapper.getSpanAttribute(span, semantic_convention_1.default.GEN_AI_USAGE_INPUT_TOKENS);
44
48
  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');
49
+ const duration = BaseWrapper.getSpanAttribute(span, 'duration') ?? BaseWrapper.getSpanAttribute(span, semantic_convention_1.default.GEN_AI_DURATION_LEGACY);
46
50
  const attributes = {
47
51
  [semantic_conventions_1.ATTR_SERVICE_NAME]: applicationName,
48
52
  [semantic_convention_1.default.GEN_AI_PROVIDER_NAME]: aiSystem,
53
+ [semantic_convention_1.default.GEN_AI_PROVIDER_NAME_OTEL]: aiSystem,
49
54
  [semantic_convention_1.default.GEN_AI_ENDPOINT]: genAIEndpoint,
50
55
  [semantic_convention_1.default.ATTR_DEPLOYMENT_ENVIRONMENT]: environment,
51
56
  [semantic_convention_1.default.GEN_AI_REQUEST_MODEL]: model,
@@ -71,6 +76,17 @@ class BaseWrapper {
71
76
  const ttft = BaseWrapper.getSpanAttribute(span, semantic_convention_1.default.GEN_AI_SERVER_TTFT);
72
77
  if (Number.isFinite(ttft))
73
78
  metrics_1.default.genaiServerTtft?.record(ttft, attributes);
79
+ // Client-perspective streaming metrics (OTel semconv v1.29+)
80
+ if (Number.isFinite(ttft) && ttft > 0) {
81
+ metrics_1.default.genaiClientTimeToFirstChunk?.record(ttft, attributes);
82
+ }
83
+ if (Number.isFinite(tbt) && tbt > 0) {
84
+ metrics_1.default.genaiClientTimePerOutputChunk?.record(tbt, attributes);
85
+ // Server request duration = TTFT + TBT * max(output_tokens - 1, 0)
86
+ const outputTokensVal = Number.isFinite(outputTokens) ? outputTokens : 0;
87
+ const serverRequestDuration = ttft + tbt * Math.max(outputTokensVal - 1, 0);
88
+ metrics_1.default.genaiServerRequestDuration?.record(serverRequestDuration, attributes);
89
+ }
74
90
  if (cost !== undefined) {
75
91
  const numericCost = typeof cost === 'number' ? cost : Number(cost);
76
92
  if (Number.isFinite(numericCost)) {
@@ -1 +1 @@
1
- {"version":3,"file":"base-wrapper.js","sourceRoot":"","sources":["../../src/instrumentation/base-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-wrapper.js","sourceRoot":"","sources":["../../src/instrumentation/base-wrapper.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,8 @@ class BedrockWrapper extends base_wrapper_1.default {
80
80
  model: modelId,
81
81
  cost,
82
82
  aiSystem: BedrockWrapper.aiSystem,
83
+ serverAddress: BEDROCK_SERVER_ADDRESS,
84
+ serverPort: BEDROCK_SERVER_PORT,
83
85
  });
84
86
  span.setAttribute(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
85
87
  span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, false);
@@ -94,9 +96,9 @@ class BedrockWrapper extends base_wrapper_1.default {
94
96
  span.setAttribute(semantic_convention_1.default.SERVER_ADDRESS, BEDROCK_SERVER_ADDRESS);
95
97
  span.setAttribute(semantic_convention_1.default.SERVER_PORT, BEDROCK_SERVER_PORT);
96
98
  if (cacheReadTokens > 0)
97
- span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_PROMPT_TOKENS_DETAILS_CACHE_READ, cacheReadTokens);
99
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS, cacheReadTokens);
98
100
  if (cacheWriteTokens > 0)
99
- span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_PROMPT_TOKENS_DETAILS_CACHE_WRITE, cacheWriteTokens);
101
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS, cacheWriteTokens);
100
102
  const requestId = response.$metadata?.requestId;
101
103
  if (requestId)
102
104
  span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_ID, requestId);
@@ -109,7 +111,9 @@ class BedrockWrapper extends base_wrapper_1.default {
109
111
  const systemText = input.system?.[0]?.text;
110
112
  span.setAttribute(semantic_convention_1.default.GEN_AI_INPUT_MESSAGES, helpers_1.default.buildInputMessages(messages, systemText));
111
113
  if (systemText) {
112
- span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS, JSON.stringify([{ type: 'text', content: systemText }]));
114
+ const systemStr = JSON.stringify([{ type: 'text', content: systemText }]);
115
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS, systemStr);
116
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS_OTEL, systemStr);
113
117
  }
114
118
  const outputText = response.output?.message?.content?.map((c) => c.text || '').join('') || '';
115
119
  span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES, helpers_1.default.buildOutputMessages(outputText, finishReason));
@@ -145,12 +149,15 @@ class BedrockWrapper extends base_wrapper_1.default {
145
149
  let cacheReadTokens = 0;
146
150
  let cacheWriteTokens = 0;
147
151
  let firstChunkTime = null;
152
+ const chunkTimestamps = [];
148
153
  const originalStream = response.stream;
149
154
  async function* wrappedStream() {
150
155
  try {
151
156
  for await (const event of originalStream) {
157
+ const now = Date.now();
152
158
  if (firstChunkTime === null)
153
- firstChunkTime = Date.now();
159
+ firstChunkTime = now;
160
+ chunkTimestamps.push(now);
154
161
  if (event.contentBlockDelta?.delta?.text)
155
162
  llmResponse += event.contentBlockDelta.delta.text;
156
163
  if (event.messageStop?.stopReason)
@@ -169,6 +176,11 @@ class BedrockWrapper extends base_wrapper_1.default {
169
176
  try {
170
177
  const duration = (Date.now() - startTime) / 1000;
171
178
  const ttft = firstChunkTime !== null ? (firstChunkTime - startTime) / 1000 : 0;
179
+ let tbt = 0;
180
+ if (chunkTimestamps.length > 1) {
181
+ const timeDiffs = chunkTimestamps.slice(1).map((t, i) => t - chunkTimestamps[i]);
182
+ tbt = timeDiffs.reduce((a, b) => a + b, 0) / timeDiffs.length / 1000;
183
+ }
172
184
  const totalTokens = inputTokens + outputTokens;
173
185
  const pricingInfo = await config_1.default.updatePricingJson(config_1.default.pricing_json);
174
186
  const cost = helpers_1.default.getChatModelCost(modelId, pricingInfo, inputTokens, outputTokens);
@@ -188,13 +200,16 @@ class BedrockWrapper extends base_wrapper_1.default {
188
200
  span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_FINISH_REASON, [finishReason]);
189
201
  span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_TYPE, semantic_convention_1.default.GEN_AI_OUTPUT_TYPE_TEXT);
190
202
  span.setAttribute(semantic_convention_1.default.GEN_AI_CLIENT_OPERATION_DURATION, duration);
191
- span.setAttribute(semantic_convention_1.default.GEN_AI_SERVER_TTFT, ttft);
203
+ if (ttft > 0)
204
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SERVER_TTFT, ttft);
205
+ if (tbt > 0)
206
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SERVER_TBT, tbt);
192
207
  span.setAttribute(semantic_convention_1.default.SERVER_ADDRESS, BEDROCK_SERVER_ADDRESS);
193
208
  span.setAttribute(semantic_convention_1.default.SERVER_PORT, BEDROCK_SERVER_PORT);
194
209
  if (cacheReadTokens > 0)
195
- span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_PROMPT_TOKENS_DETAILS_CACHE_READ, cacheReadTokens);
210
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS, cacheReadTokens);
196
211
  if (cacheWriteTokens > 0)
197
- span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_PROMPT_TOKENS_DETAILS_CACHE_WRITE, cacheWriteTokens);
212
+ span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS, cacheWriteTokens);
198
213
  const requestId = response.$metadata?.requestId;
199
214
  if (requestId)
200
215
  span.setAttribute(semantic_convention_1.default.GEN_AI_RESPONSE_ID, requestId);
@@ -207,7 +222,9 @@ class BedrockWrapper extends base_wrapper_1.default {
207
222
  const systemText = input.system?.[0]?.text;
208
223
  span.setAttribute(semantic_convention_1.default.GEN_AI_INPUT_MESSAGES, helpers_1.default.buildInputMessages(messages, systemText));
209
224
  if (systemText) {
210
- span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS, JSON.stringify([{ type: 'text', content: systemText }]));
225
+ const systemStr = JSON.stringify([{ type: 'text', content: systemText }]);
226
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS, systemStr);
227
+ span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM_INSTRUCTIONS_OTEL, systemStr);
211
228
  }
212
229
  span.setAttribute(semantic_convention_1.default.GEN_AI_OUTPUT_MESSAGES, helpers_1.default.buildOutputMessages(llmResponse, finishReason));
213
230
  }
@@ -294,6 +311,8 @@ class BedrockWrapper extends base_wrapper_1.default {
294
311
  model: modelId,
295
312
  cost,
296
313
  aiSystem: BedrockWrapper.aiSystem,
314
+ serverAddress: BEDROCK_SERVER_ADDRESS,
315
+ serverPort: BEDROCK_SERVER_PORT,
297
316
  });
298
317
  span.setAttribute(semantic_convention_1.default.GEN_AI_OPERATION, semantic_convention_1.default.GEN_AI_OPERATION_TYPE_CHAT);
299
318
  span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_IS_STREAM, isStream);
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/bedrock/wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/instrumentation/bedrock/wrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { InstrumentationBase, InstrumentationModuleDefinition } from '@opentelemetry/instrumentation';
2
+ import { InstrumentationConfig } from '@opentelemetry/instrumentation';
3
+ export interface ChromaInstrumentationConfig extends InstrumentationConfig {
4
+ }
5
+ export default class OpenlitChromaInstrumentation extends InstrumentationBase {
6
+ constructor(config?: ChromaInstrumentationConfig);
7
+ protected init(): void | InstrumentationModuleDefinition | InstrumentationModuleDefinition[];
8
+ manualPatch(chroma: any): void;
9
+ protected _patch(moduleExports: any): void;
10
+ protected _unpatch(moduleExports: any): void;
11
+ }
@@ -0,0 +1,70 @@
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 instrumentation_1 = require("@opentelemetry/instrumentation");
7
+ const constant_1 = require("../../constant");
8
+ const semantic_convention_1 = __importDefault(require("../../semantic-convention"));
9
+ const wrapper_1 = __importDefault(require("./wrapper"));
10
+ class OpenlitChromaInstrumentation extends instrumentation_1.InstrumentationBase {
11
+ constructor(config = {}) {
12
+ super(`${constant_1.INSTRUMENTATION_PREFIX}/instrumentation-chroma`, '1.0.0', config);
13
+ }
14
+ init() {
15
+ const module = new instrumentation_1.InstrumentationNodeModuleDefinition('chromadb', ['>=1.5.0'], (moduleExports) => {
16
+ this._patch(moduleExports);
17
+ return moduleExports;
18
+ }, (moduleExports) => {
19
+ if (moduleExports !== undefined) {
20
+ this._unpatch(moduleExports);
21
+ }
22
+ });
23
+ return [module];
24
+ }
25
+ manualPatch(chroma) {
26
+ this._patch(chroma);
27
+ }
28
+ _patch(moduleExports) {
29
+ try {
30
+ const Collection = moduleExports.Collection;
31
+ if (!Collection?.prototype)
32
+ return;
33
+ const methods = [
34
+ ['add', semantic_convention_1.default.DB_OPERATION_INSERT],
35
+ ['query', semantic_convention_1.default.DB_OPERATION_QUERY],
36
+ ['get', semantic_convention_1.default.DB_OPERATION_GET],
37
+ ['delete', semantic_convention_1.default.DB_OPERATION_DELETE],
38
+ ['peek', semantic_convention_1.default.DB_OPERATION_PEEK],
39
+ ['update', semantic_convention_1.default.DB_OPERATION_UPDATE],
40
+ ['upsert', semantic_convention_1.default.DB_OPERATION_UPSERT],
41
+ ];
42
+ for (const [method, dbOp] of methods) {
43
+ if (typeof Collection.prototype[method] === 'function') {
44
+ if ((0, instrumentation_1.isWrapped)(Collection.prototype[method])) {
45
+ this._unwrap(Collection.prototype, method);
46
+ }
47
+ this._wrap(Collection.prototype, method, wrapper_1.default._patchCollectionMethod(this.tracer, dbOp));
48
+ }
49
+ }
50
+ }
51
+ catch (e) {
52
+ console.error('Error in Chroma _patch method:', e);
53
+ }
54
+ }
55
+ _unpatch(moduleExports) {
56
+ try {
57
+ const Collection = moduleExports.Collection;
58
+ if (!Collection?.prototype)
59
+ return;
60
+ for (const method of ['add', 'query', 'get', 'delete', 'peek', 'update', 'upsert']) {
61
+ if (typeof Collection.prototype[method] === 'function') {
62
+ this._unwrap(Collection.prototype, method);
63
+ }
64
+ }
65
+ }
66
+ catch { /* ignore */ }
67
+ }
68
+ }
69
+ exports.default = OpenlitChromaInstrumentation;
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instrumentation/chroma/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Tracer } from '@opentelemetry/api';
2
+ import BaseWrapper from '../base-wrapper';
3
+ declare class ChromaWrapper extends BaseWrapper {
4
+ static dbSystem: string;
5
+ static serverAddress: string;
6
+ static serverPort: number;
7
+ static _setCommonAttributes(span: any, dbOperation: string, collectionName: string): void;
8
+ static _patchCollectionMethod(tracer: Tracer, dbOperation: string): any;
9
+ }
10
+ export default ChromaWrapper;