observability-toolkit 1.5.0 → 1.8.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 +203 -91
- package/dist/backends/index.d.ts +71 -0
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +49 -1
- package/dist/backends/index.js.map +1 -1
- package/dist/backends/local-jsonl.d.ts +8 -0
- package/dist/backends/local-jsonl.d.ts.map +1 -1
- package/dist/backends/local-jsonl.js +133 -9
- package/dist/backends/local-jsonl.js.map +1 -1
- package/dist/backends/local-jsonl.test.js +361 -0
- package/dist/backends/local-jsonl.test.js.map +1 -1
- package/dist/backends/signoz-api.d.ts.map +1 -1
- package/dist/backends/signoz-api.js +47 -1
- package/dist/backends/signoz-api.js.map +1 -1
- package/dist/backends/signoz-api.test.js +97 -0
- package/dist/backends/signoz-api.test.js.map +1 -1
- package/dist/lib/cache.d.ts +11 -0
- package/dist/lib/cache.d.ts.map +1 -1
- package/dist/lib/cache.js +21 -2
- package/dist/lib/cache.js.map +1 -1
- package/dist/lib/cache.test.d.ts +5 -0
- package/dist/lib/cache.test.d.ts.map +1 -0
- package/dist/lib/cache.test.js +105 -0
- package/dist/lib/cache.test.js.map +1 -0
- package/dist/lib/file-utils.d.ts +76 -0
- package/dist/lib/file-utils.d.ts.map +1 -1
- package/dist/lib/file-utils.js +135 -6
- package/dist/lib/file-utils.js.map +1 -1
- package/dist/lib/file-utils.test.js +214 -1
- package/dist/lib/file-utils.test.js.map +1 -1
- package/dist/lib/indexer.d.ts +10 -0
- package/dist/lib/indexer.d.ts.map +1 -1
- package/dist/lib/indexer.js +34 -7
- package/dist/lib/indexer.js.map +1 -1
- package/dist/lib/indexer.test.js +186 -0
- package/dist/lib/indexer.test.js.map +1 -1
- package/dist/tools/health-check.d.ts +2 -0
- package/dist/tools/health-check.d.ts.map +1 -1
- package/dist/tools/health-check.js +3 -1
- package/dist/tools/health-check.js.map +1 -1
- package/dist/tools/health-check.test.js +36 -0
- package/dist/tools/health-check.test.js.map +1 -1
- package/dist/tools/query-llm-events.d.ts +53 -4
- package/dist/tools/query-llm-events.d.ts.map +1 -1
- package/dist/tools/query-llm-events.js +39 -6
- package/dist/tools/query-llm-events.js.map +1 -1
- package/dist/tools/query-llm-events.test.js +253 -0
- package/dist/tools/query-llm-events.test.js.map +1 -1
- package/dist/tools/query-logs.d.ts +6 -0
- package/dist/tools/query-logs.d.ts.map +1 -1
- package/dist/tools/query-logs.js +11 -2
- package/dist/tools/query-logs.js.map +1 -1
- package/dist/tools/query-logs.test.js +180 -0
- package/dist/tools/query-logs.test.js.map +1 -1
- package/dist/tools/query-metrics.d.ts +6 -6
- package/dist/tools/query-metrics.js +1 -1
- package/dist/tools/query-metrics.js.map +1 -1
- package/dist/tools/query-metrics.test.js +21 -0
- package/dist/tools/query-metrics.test.js.map +1 -1
- package/dist/tools/query-traces.d.ts +42 -0
- package/dist/tools/query-traces.d.ts.map +1 -1
- package/dist/tools/query-traces.js +20 -1
- package/dist/tools/query-traces.js.map +1 -1
- package/dist/tools/query-traces.test.js +222 -0
- package/dist/tools/query-traces.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signoz-api.d.ts","sourceRoot":"","sources":["../../src/backends/signoz-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"signoz-api.d.ts","sourceRoot":"","sources":["../../src/backends/signoz-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,YAAY,CAAC;AA0GpB,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,IAAI,SAAgB;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAA2B;gBAErC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;YAS/B,KAAK;IAqCnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOf,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAwH7D,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAiHzD,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAyG3E;;OAEG;IACG,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IA+I3F;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAuIvF;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IA4H7F,WAAW,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAqDhG;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAIrC"}
|
|
@@ -10,6 +10,13 @@
|
|
|
10
10
|
import { SIGNOZ_API_KEY, CIRCUIT_BREAKER, getSpanKind, escapeFilterValue } from '../lib/constants.js';
|
|
11
11
|
// SigNoz Query API URL (separate from ingest URL)
|
|
12
12
|
const SIGNOZ_QUERY_URL = process.env.SIGNOZ_QUERY_URL || '';
|
|
13
|
+
function startTiming() {
|
|
14
|
+
const start = performance.now();
|
|
15
|
+
return {
|
|
16
|
+
end: () => performance.now() - start
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const SLOW_QUERY_THRESHOLD_MS = 500;
|
|
13
20
|
/**
|
|
14
21
|
* Simple circuit breaker for API calls
|
|
15
22
|
*/
|
|
@@ -26,6 +33,7 @@ class ApiCircuitBreaker {
|
|
|
26
33
|
canRequest() {
|
|
27
34
|
if (this.state === 'open') {
|
|
28
35
|
if (Date.now() - this.lastFailure > this.resetMs) {
|
|
36
|
+
console.info(`[obs-toolkit] Circuit breaker entering HALF-OPEN state (reset timeout elapsed)`);
|
|
29
37
|
this.state = 'half-open';
|
|
30
38
|
return true;
|
|
31
39
|
}
|
|
@@ -34,14 +42,19 @@ class ApiCircuitBreaker {
|
|
|
34
42
|
return true;
|
|
35
43
|
}
|
|
36
44
|
recordSuccess() {
|
|
45
|
+
if (this.state === 'half-open') {
|
|
46
|
+
console.info(`[obs-toolkit] Circuit breaker CLOSED after successful request`);
|
|
47
|
+
}
|
|
37
48
|
this.failures = 0;
|
|
38
49
|
this.state = 'closed';
|
|
39
50
|
}
|
|
40
51
|
recordFailure() {
|
|
41
52
|
this.failures++;
|
|
42
53
|
this.lastFailure = Date.now();
|
|
43
|
-
if (this.failures >= this.maxFailures) {
|
|
54
|
+
if (this.failures >= this.maxFailures && this.state !== 'open') {
|
|
55
|
+
const previousState = this.state;
|
|
44
56
|
this.state = 'open';
|
|
57
|
+
console.warn(`[obs-toolkit] Circuit breaker OPENED after ${this.failures} consecutive failures (was: ${previousState})`);
|
|
45
58
|
}
|
|
46
59
|
}
|
|
47
60
|
getState() {
|
|
@@ -125,6 +138,13 @@ export class SigNozApiBackend {
|
|
|
125
138
|
return Date.now() - defaultHoursAgo * 60 * 60 * 1000;
|
|
126
139
|
}
|
|
127
140
|
async queryTraces(options) {
|
|
141
|
+
const timer = startTiming();
|
|
142
|
+
const logTiming = () => {
|
|
143
|
+
const durationMs = timer.end();
|
|
144
|
+
if (durationMs > SLOW_QUERY_THRESHOLD_MS) {
|
|
145
|
+
console.warn(`[obs-toolkit] Slow query: queryTraces took ${durationMs.toFixed(1)}ms`);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
128
148
|
const start = this.getMillisTime(options.startDate, 1);
|
|
129
149
|
const end = this.getMillisTime(options.endDate ? options.endDate + 'T23:59:59Z' : undefined, 0);
|
|
130
150
|
const limit = options.limit || 100;
|
|
@@ -200,9 +220,11 @@ export class SigNozApiBackend {
|
|
|
200
220
|
});
|
|
201
221
|
}
|
|
202
222
|
}
|
|
223
|
+
logTiming();
|
|
203
224
|
return results;
|
|
204
225
|
}
|
|
205
226
|
catch (error) {
|
|
227
|
+
logTiming();
|
|
206
228
|
if (error instanceof Error && error.message.includes('Circuit breaker')) {
|
|
207
229
|
return [];
|
|
208
230
|
}
|
|
@@ -210,6 +232,13 @@ export class SigNozApiBackend {
|
|
|
210
232
|
}
|
|
211
233
|
}
|
|
212
234
|
async queryLogs(options) {
|
|
235
|
+
const timer = startTiming();
|
|
236
|
+
const logTiming = () => {
|
|
237
|
+
const durationMs = timer.end();
|
|
238
|
+
if (durationMs > SLOW_QUERY_THRESHOLD_MS) {
|
|
239
|
+
console.warn(`[obs-toolkit] Slow query: queryLogs took ${durationMs.toFixed(1)}ms`);
|
|
240
|
+
}
|
|
241
|
+
};
|
|
213
242
|
const start = this.getMillisTime(options.startDate, 1);
|
|
214
243
|
const end = this.getMillisTime(options.endDate ? options.endDate + 'T23:59:59Z' : undefined, 0);
|
|
215
244
|
const limit = options.limit || 100;
|
|
@@ -272,9 +301,11 @@ export class SigNozApiBackend {
|
|
|
272
301
|
});
|
|
273
302
|
}
|
|
274
303
|
}
|
|
304
|
+
logTiming();
|
|
275
305
|
return results;
|
|
276
306
|
}
|
|
277
307
|
catch (error) {
|
|
308
|
+
logTiming();
|
|
278
309
|
if (error instanceof Error && error.message.includes('Circuit breaker')) {
|
|
279
310
|
return [];
|
|
280
311
|
}
|
|
@@ -282,14 +313,24 @@ export class SigNozApiBackend {
|
|
|
282
313
|
}
|
|
283
314
|
}
|
|
284
315
|
async queryMetrics(options) {
|
|
316
|
+
const timer = startTiming();
|
|
317
|
+
const logTiming = () => {
|
|
318
|
+
const durationMs = timer.end();
|
|
319
|
+
if (durationMs > SLOW_QUERY_THRESHOLD_MS) {
|
|
320
|
+
console.warn(`[obs-toolkit] Slow query: queryMetrics took ${durationMs.toFixed(1)}ms`);
|
|
321
|
+
}
|
|
322
|
+
};
|
|
285
323
|
const start = this.getMillisTime(options.startDate, 1);
|
|
286
324
|
const end = this.getMillisTime(options.endDate ? options.endDate + 'T23:59:59Z' : undefined, 0);
|
|
287
325
|
if (!options.metricName) {
|
|
288
326
|
throw new Error('metricName is required for SigNoz metric queries');
|
|
289
327
|
}
|
|
290
328
|
// Map aggregation options to SigNoz format
|
|
329
|
+
// Percentiles: p50, p95, p99 map to SigNoz percentile functions
|
|
330
|
+
// rate: maps to SigNoz rate aggregation
|
|
291
331
|
const spaceAggMap = {
|
|
292
332
|
'sum': 'sum', 'avg': 'avg', 'min': 'min', 'max': 'max', 'count': 'sum',
|
|
333
|
+
'p50': 'p50', 'p95': 'p95', 'p99': 'p99', 'rate': 'rate',
|
|
293
334
|
};
|
|
294
335
|
const spaceAgg = spaceAggMap[options.aggregation || 'sum'] || 'sum';
|
|
295
336
|
// Build v5 API payload for metrics
|
|
@@ -338,9 +379,11 @@ export class SigNozApiBackend {
|
|
|
338
379
|
}
|
|
339
380
|
}
|
|
340
381
|
}
|
|
382
|
+
logTiming();
|
|
341
383
|
return results.slice(0, options.limit || 100);
|
|
342
384
|
}
|
|
343
385
|
catch (error) {
|
|
386
|
+
logTiming();
|
|
344
387
|
if (error instanceof Error && error.message.includes('Circuit breaker')) {
|
|
345
388
|
return [];
|
|
346
389
|
}
|
|
@@ -578,8 +621,11 @@ export class SigNozApiBackend {
|
|
|
578
621
|
throw new Error('metricName is required for SigNoz metric queries');
|
|
579
622
|
}
|
|
580
623
|
// Map aggregation options to SigNoz format
|
|
624
|
+
// Percentiles: p50, p95, p99 map to SigNoz percentile functions
|
|
625
|
+
// rate: maps to SigNoz rate aggregation
|
|
581
626
|
const spaceAggMap = {
|
|
582
627
|
'sum': 'sum', 'avg': 'avg', 'min': 'min', 'max': 'max', 'count': 'sum',
|
|
628
|
+
'p50': 'p50', 'p95': 'p95', 'p99': 'p99', 'rate': 'rate',
|
|
583
629
|
};
|
|
584
630
|
const spaceAgg = spaceAggMap[options.aggregation || 'sum'] || 'sum';
|
|
585
631
|
// Calculate offset based on cursor
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signoz-api.js","sourceRoot":"","sources":["../../src/backends/signoz-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"signoz-api.js","sourceRoot":"","sources":["../../src/backends/signoz-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1079,6 +1079,103 @@ describe('SigNozApiBackend', () => {
|
|
|
1079
1079
|
assert.strictEqual(health.status, 'error');
|
|
1080
1080
|
assert(health.message?.includes('Circuit breaker'));
|
|
1081
1081
|
});
|
|
1082
|
+
it('should log warning when circuit breaker opens', async () => {
|
|
1083
|
+
const warnLogs = [];
|
|
1084
|
+
const originalWarn = console.warn;
|
|
1085
|
+
console.warn = (msg) => { warnLogs.push(msg); };
|
|
1086
|
+
globalThis.fetch = setupMock(async () => {
|
|
1087
|
+
throw new Error('API error');
|
|
1088
|
+
});
|
|
1089
|
+
const backend = new SigNozApiBackend('https://signoz.example.com', 'test-key');
|
|
1090
|
+
// Trigger 3 failures to open circuit
|
|
1091
|
+
for (let i = 0; i < 3; i++) {
|
|
1092
|
+
try {
|
|
1093
|
+
await backend.queryTraces({});
|
|
1094
|
+
}
|
|
1095
|
+
catch {
|
|
1096
|
+
// expected
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
console.warn = originalWarn;
|
|
1100
|
+
// Should have logged one warning when circuit opened
|
|
1101
|
+
assert.strictEqual(warnLogs.length, 1);
|
|
1102
|
+
assert(warnLogs[0].includes('[obs-toolkit] Circuit breaker OPENED'));
|
|
1103
|
+
assert(warnLogs[0].includes('3 consecutive failures'));
|
|
1104
|
+
assert(warnLogs[0].includes('was: closed'));
|
|
1105
|
+
});
|
|
1106
|
+
it('should log info when circuit breaker enters half-open state', async () => {
|
|
1107
|
+
const originalDateNow = Date.now;
|
|
1108
|
+
let currentTime = 1000000;
|
|
1109
|
+
Date.now = () => currentTime;
|
|
1110
|
+
const infoLogs = [];
|
|
1111
|
+
const originalInfo = console.info;
|
|
1112
|
+
console.info = (msg) => { infoLogs.push(msg); };
|
|
1113
|
+
globalThis.fetch = setupMock(async () => {
|
|
1114
|
+
throw new Error('API error');
|
|
1115
|
+
});
|
|
1116
|
+
const backend = new SigNozApiBackend('https://signoz.example.com', 'test-key');
|
|
1117
|
+
// Trigger 3 failures to open circuit
|
|
1118
|
+
for (let i = 0; i < 3; i++) {
|
|
1119
|
+
try {
|
|
1120
|
+
await backend.queryTraces({});
|
|
1121
|
+
}
|
|
1122
|
+
catch {
|
|
1123
|
+
// expected
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
// Advance time past reset period (default 60000ms)
|
|
1127
|
+
currentTime += 61000;
|
|
1128
|
+
// Attempt a request which should trigger half-open transition
|
|
1129
|
+
try {
|
|
1130
|
+
await backend.queryTraces({});
|
|
1131
|
+
}
|
|
1132
|
+
catch {
|
|
1133
|
+
// expected to fail
|
|
1134
|
+
}
|
|
1135
|
+
console.info = originalInfo;
|
|
1136
|
+
Date.now = originalDateNow;
|
|
1137
|
+
// Should have logged info when entering half-open state
|
|
1138
|
+
assert(infoLogs.some(log => log.includes('[obs-toolkit] Circuit breaker entering HALF-OPEN state')));
|
|
1139
|
+
});
|
|
1140
|
+
it('should log info when circuit breaker closes after successful request', async () => {
|
|
1141
|
+
const originalDateNow = Date.now;
|
|
1142
|
+
let currentTime = 1000000;
|
|
1143
|
+
Date.now = () => currentTime;
|
|
1144
|
+
const infoLogs = [];
|
|
1145
|
+
const originalInfo = console.info;
|
|
1146
|
+
console.info = (msg) => { infoLogs.push(msg); };
|
|
1147
|
+
let shouldFail = true;
|
|
1148
|
+
globalThis.fetch = setupMock(async () => {
|
|
1149
|
+
if (shouldFail) {
|
|
1150
|
+
throw new Error('API error');
|
|
1151
|
+
}
|
|
1152
|
+
return {
|
|
1153
|
+
ok: true,
|
|
1154
|
+
json: async () => createV5TraceResponse([]),
|
|
1155
|
+
text: async () => '',
|
|
1156
|
+
};
|
|
1157
|
+
});
|
|
1158
|
+
const backend = new SigNozApiBackend('https://signoz.example.com', 'test-key');
|
|
1159
|
+
// Trigger 3 failures to open circuit
|
|
1160
|
+
for (let i = 0; i < 3; i++) {
|
|
1161
|
+
try {
|
|
1162
|
+
await backend.queryTraces({});
|
|
1163
|
+
}
|
|
1164
|
+
catch {
|
|
1165
|
+
// expected
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
// Advance time past reset period
|
|
1169
|
+
currentTime += 61000;
|
|
1170
|
+
shouldFail = false;
|
|
1171
|
+
// Successful request in half-open state should close circuit and log
|
|
1172
|
+
await backend.queryTraces({});
|
|
1173
|
+
console.info = originalInfo;
|
|
1174
|
+
Date.now = originalDateNow;
|
|
1175
|
+
// Should have logged both half-open transition and close
|
|
1176
|
+
assert(infoLogs.some(log => log.includes('[obs-toolkit] Circuit breaker entering HALF-OPEN state')));
|
|
1177
|
+
assert(infoLogs.some(log => log.includes('[obs-toolkit] Circuit breaker CLOSED after successful request')));
|
|
1178
|
+
});
|
|
1082
1179
|
});
|
|
1083
1180
|
describe('cursor-based pagination', () => {
|
|
1084
1181
|
describe('queryTracesPaginated', () => {
|