raffel 1.0.25 → 1.0.26
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +3 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/proxy/explicit.d.ts +2 -1
- package/dist/proxy/explicit.d.ts.map +1 -1
- package/dist/proxy/explicit.js +10 -1
- package/dist/proxy/explicit.js.map +1 -1
- package/dist/proxy/index.d.ts +1 -1
- package/dist/proxy/index.d.ts.map +1 -1
- package/dist/proxy/index.js.map +1 -1
- package/dist/proxy/socks5.d.ts.map +1 -1
- package/dist/proxy/socks5.js +5 -1
- package/dist/proxy/socks5.js.map +1 -1
- package/dist/proxy/suite.d.ts +2 -1
- package/dist/proxy/suite.d.ts.map +1 -1
- package/dist/proxy/suite.js +3 -0
- package/dist/proxy/suite.js.map +1 -1
- package/dist/proxy/telemetry.d.ts +62 -1
- package/dist/proxy/telemetry.d.ts.map +1 -1
- package/dist/proxy/telemetry.js +147 -20
- package/dist/proxy/telemetry.js.map +1 -1
- package/dist/proxy/transparent.d.ts +2 -1
- package/dist/proxy/transparent.d.ts.map +1 -1
- package/dist/proxy/transparent.js +5 -1
- package/dist/proxy/transparent.js.map +1 -1
- package/package.json +1 -1
package/dist/proxy/socks5.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socks5.js","sourceRoot":"","sources":["../../src/proxy/socks5.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"socks5.js","sourceRoot":"","sources":["../../src/proxy/socks5.ts"],"names":[],"mappings":"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"}
|
package/dist/proxy/suite.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { MetricRegistry } from '../metrics/types.js';
|
|
|
5
5
|
import { type ExplicitProxy, type ExplicitProxyOptions } from './explicit.js';
|
|
6
6
|
import { type Socks5Options, type Socks5Proxy } from './socks5.js';
|
|
7
7
|
import { type ProxyTelemetryOptionsBase } from './telemetry-options.js';
|
|
8
|
-
import type { ProxyGraphSnapshot } from './telemetry.js';
|
|
8
|
+
import type { ProxyGraphSnapshot, ProxyTelemetryListener } from './telemetry.js';
|
|
9
9
|
import type { ProxyStats } from './types.js';
|
|
10
10
|
export interface ProxySuiteTelemetryOptions extends ProxyTelemetryOptionsBase {
|
|
11
11
|
metricsEndpoint?: string | false;
|
|
@@ -32,6 +32,7 @@ export interface ProxySuite {
|
|
|
32
32
|
}>;
|
|
33
33
|
stop(drainTimeoutMs?: number): Promise<void>;
|
|
34
34
|
graphSnapshot(): ProxyGraphSnapshot;
|
|
35
|
+
subscribe(listener: ProxyTelemetryListener): () => void;
|
|
35
36
|
}
|
|
36
37
|
export declare function createProxySuite(options: ProxySuiteOptions): ProxySuite;
|
|
37
38
|
//# sourceMappingURL=suite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suite.d.ts","sourceRoot":"","sources":["../../src/proxy/suite.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAClG,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AACrF,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"suite.d.ts","sourceRoot":"","sources":["../../src/proxy/suite.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAuB,KAAK,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAClG,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AACrF,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC3E,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;IACjD,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,0BAA0B,CAAA;CACvC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,eAAe,EAAE,cAAc,GAAG,IAAI,CAAA;IAC/C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAClE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,KAAK,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9D,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,aAAa,IAAI,kBAAkB,CAAA;IACnC,SAAS,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI,CAAA;CACxD;AAuBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CA4EvE"}
|
package/dist/proxy/suite.js
CHANGED
|
@@ -64,6 +64,9 @@ export function createProxySuite(options) {
|
|
|
64
64
|
graphSnapshot() {
|
|
65
65
|
return collector?.snapshot() ?? explicit.graphSnapshot();
|
|
66
66
|
},
|
|
67
|
+
subscribe(listener) {
|
|
68
|
+
return collector?.subscribe(listener) ?? explicit.subscribe(listener);
|
|
69
|
+
},
|
|
67
70
|
get metricsRegistry() {
|
|
68
71
|
return collector?.registry ?? explicit.metricsRegistry ?? socks5.metricsRegistry;
|
|
69
72
|
},
|
package/dist/proxy/suite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suite.js","sourceRoot":"","sources":["../../src/proxy/suite.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAiD,MAAM,eAAe,CAAA;AAClG,OAAO,EAAE,iBAAiB,EAAwC,MAAM,aAAa,CAAA;AACrF,OAAO,EACL,2BAA2B,GAE5B,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"suite.js","sourceRoot":"","sources":["../../src/proxy/suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,14 @@ export interface ProxyGraphNode {
|
|
|
6
6
|
inboundEdges: number;
|
|
7
7
|
outboundEdges: number;
|
|
8
8
|
lastSeenAt: string;
|
|
9
|
+
requestsOut: number;
|
|
10
|
+
requestsIn: number;
|
|
11
|
+
errorsOut: number;
|
|
12
|
+
errorsIn: number;
|
|
13
|
+
bytesOut: number;
|
|
14
|
+
bytesIn: number;
|
|
15
|
+
activeFlows: number;
|
|
16
|
+
protocols: Record<string, number>;
|
|
9
17
|
}
|
|
10
18
|
export interface ProxyGraphLatency {
|
|
11
19
|
averageSeconds: number | null;
|
|
@@ -26,6 +34,8 @@ export interface ProxyGraphEdge {
|
|
|
26
34
|
source: string;
|
|
27
35
|
target: string;
|
|
28
36
|
protocol: ProxyFlowProtocol;
|
|
37
|
+
firstSeenAt: string;
|
|
38
|
+
lastSeenAt: string;
|
|
29
39
|
activeFlows: number;
|
|
30
40
|
flowsTotal: number;
|
|
31
41
|
requestsTotal: number;
|
|
@@ -36,15 +46,48 @@ export interface ProxyGraphEdge {
|
|
|
36
46
|
durationSumSeconds: number;
|
|
37
47
|
latency: ProxyGraphLatency;
|
|
38
48
|
rates: ProxyGraphRates;
|
|
39
|
-
|
|
49
|
+
statusClassCounts: Record<string, number>;
|
|
50
|
+
methodCounts: Record<string, number>;
|
|
51
|
+
topPaths: Array<{
|
|
52
|
+
path: string;
|
|
53
|
+
count: number;
|
|
54
|
+
}>;
|
|
40
55
|
}
|
|
41
56
|
export interface ProxyGraphSnapshot {
|
|
57
|
+
seq: number;
|
|
42
58
|
generatedAt: string;
|
|
59
|
+
windowStart: string;
|
|
60
|
+
windowEnd: string;
|
|
43
61
|
percentiles: string[];
|
|
44
62
|
rateWindowSeconds: number;
|
|
45
63
|
nodes: ProxyGraphNode[];
|
|
46
64
|
edges: ProxyGraphEdge[];
|
|
47
65
|
}
|
|
66
|
+
export type ProxyTelemetryEvent = {
|
|
67
|
+
type: 'node:new';
|
|
68
|
+
seq: number;
|
|
69
|
+
nodeId: string;
|
|
70
|
+
firstSeenAt: string;
|
|
71
|
+
} | {
|
|
72
|
+
type: 'edge:new';
|
|
73
|
+
seq: number;
|
|
74
|
+
edge: ProxyGraphEdge;
|
|
75
|
+
} | {
|
|
76
|
+
type: 'edge:update';
|
|
77
|
+
seq: number;
|
|
78
|
+
edge: ProxyGraphEdge;
|
|
79
|
+
} | {
|
|
80
|
+
type: 'edge:expire';
|
|
81
|
+
seq: number;
|
|
82
|
+
edgeId: string;
|
|
83
|
+
source: string;
|
|
84
|
+
target: string;
|
|
85
|
+
protocol: ProxyFlowProtocol;
|
|
86
|
+
} | {
|
|
87
|
+
type: 'reset';
|
|
88
|
+
seq: number;
|
|
89
|
+
};
|
|
90
|
+
export type ProxyTelemetryListener = (event: ProxyTelemetryEvent) => void;
|
|
48
91
|
export interface ProxyTelemetryLabels extends Labels {
|
|
49
92
|
source: string;
|
|
50
93
|
destination: string;
|
|
@@ -54,6 +97,7 @@ export interface ProxyFlowFinishInput {
|
|
|
54
97
|
status?: string;
|
|
55
98
|
error?: string;
|
|
56
99
|
method?: string;
|
|
100
|
+
path?: string;
|
|
57
101
|
durationSeconds?: number;
|
|
58
102
|
}
|
|
59
103
|
export interface ProxyFlowHandle {
|
|
@@ -70,6 +114,23 @@ export interface ProxyTelemetryCollector {
|
|
|
70
114
|
readonly rateWindowSeconds: number;
|
|
71
115
|
startFlow(labels: ProxyTelemetryLabels): ProxyFlowHandle;
|
|
72
116
|
snapshot(): ProxyGraphSnapshot;
|
|
117
|
+
/**
|
|
118
|
+
* Subscribe to incremental telemetry events.
|
|
119
|
+
* Listeners are called synchronously after each state mutation.
|
|
120
|
+
* Returns an unsubscribe function.
|
|
121
|
+
*/
|
|
122
|
+
subscribe(listener: ProxyTelemetryListener): () => void;
|
|
123
|
+
/**
|
|
124
|
+
* Clear all edges, nodes and reset seq to 0.
|
|
125
|
+
* Emits a single 'reset' event to all subscribers.
|
|
126
|
+
*/
|
|
127
|
+
reset(): void;
|
|
128
|
+
/**
|
|
129
|
+
* Remove edges whose lastSeenAt is strictly before the given ISO timestamp.
|
|
130
|
+
* Also removes nodes that have no remaining edges.
|
|
131
|
+
* Returns the number of edges removed.
|
|
132
|
+
*/
|
|
133
|
+
expireEdgesBefore(iso: string): number;
|
|
73
134
|
}
|
|
74
135
|
export declare const PROXY_AUTO_METRICS: {
|
|
75
136
|
readonly FLOWS_TOTAL: "raffel_proxy_edge_flows_total";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/proxy/telemetry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,MAAM,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAElF,MAAM,MAAM,iBAAiB,GACzB,MAAM,GACN,OAAO,GACP,SAAS,GACT,IAAI,GACJ,KAAK,GACL,QAAQ,GACR,SAAS,GACT,aAAa,GACb,cAAc,GACd,YAAY,GACZ,aAAa,GACb,KAAK,CAAA;AAET,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/proxy/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/proxy/telemetry.js
CHANGED
|
@@ -29,6 +29,24 @@ function isErrorStatus(status) {
|
|
|
29
29
|
const numeric = Number.parseInt(status, 10);
|
|
30
30
|
return Number.isFinite(numeric) ? numeric >= 400 : status !== 'success';
|
|
31
31
|
}
|
|
32
|
+
function statusClass(status) {
|
|
33
|
+
if (!status)
|
|
34
|
+
return 'other';
|
|
35
|
+
const numeric = Number.parseInt(status, 10);
|
|
36
|
+
if (!Number.isFinite(numeric))
|
|
37
|
+
return 'other';
|
|
38
|
+
if (numeric >= 500)
|
|
39
|
+
return '5xx';
|
|
40
|
+
if (numeric >= 400)
|
|
41
|
+
return '4xx';
|
|
42
|
+
if (numeric >= 300)
|
|
43
|
+
return '3xx';
|
|
44
|
+
if (numeric >= 200)
|
|
45
|
+
return '2xx';
|
|
46
|
+
if (numeric >= 100)
|
|
47
|
+
return '1xx';
|
|
48
|
+
return 'other';
|
|
49
|
+
}
|
|
32
50
|
function edgeKey(labels) {
|
|
33
51
|
return `${labels.source}\u0000${labels.destination}\u0000${labels.protocol}`;
|
|
34
52
|
}
|
|
@@ -265,8 +283,41 @@ export function createProxyTelemetry(config = {}) {
|
|
|
265
283
|
const flowDurationBuckets = registry.getMetric(PROXY_AUTO_METRICS.FLOW_DURATION)?.buckets
|
|
266
284
|
?? [...DEFAULT_PROXY_DURATION_BUCKETS];
|
|
267
285
|
const rateWindowMs = normalizeRateWindowMs(config.rateWindowMs);
|
|
286
|
+
let seq = 0;
|
|
268
287
|
const nodes = new Map();
|
|
269
288
|
const edges = new Map();
|
|
289
|
+
const listeners = new Set();
|
|
290
|
+
function emit(event) {
|
|
291
|
+
for (const listener of listeners) {
|
|
292
|
+
listener(event);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
function buildEdgeSnapshot(edge, nowMs) {
|
|
296
|
+
return {
|
|
297
|
+
id: edge.id,
|
|
298
|
+
source: edge.source,
|
|
299
|
+
target: edge.target,
|
|
300
|
+
protocol: edge.protocol,
|
|
301
|
+
firstSeenAt: edge.firstSeenAt,
|
|
302
|
+
lastSeenAt: edge.lastSeenAt,
|
|
303
|
+
activeFlows: edge.activeFlows,
|
|
304
|
+
flowsTotal: edge.flowsTotal,
|
|
305
|
+
requestsTotal: edge.requestsTotal,
|
|
306
|
+
errorsTotal: edge.errorsTotal,
|
|
307
|
+
bytesFromSource: edge.bytesFromSource,
|
|
308
|
+
bytesToSource: edge.bytesToSource,
|
|
309
|
+
durationCount: edge.duration.count,
|
|
310
|
+
durationSumSeconds: edge.duration.sum,
|
|
311
|
+
latency: summarizeLatency(edge.duration, percentiles),
|
|
312
|
+
rates: summarizeRates(edge.rates, nowMs, rateWindowMs),
|
|
313
|
+
statusClassCounts: { ...edge.statusClassCounts },
|
|
314
|
+
methodCounts: { ...edge.methodCounts },
|
|
315
|
+
topPaths: Array.from(edge.pathCounts.entries())
|
|
316
|
+
.sort((a, b) => b[1] - a[1])
|
|
317
|
+
.slice(0, 10)
|
|
318
|
+
.map(([path, count]) => ({ path, count })),
|
|
319
|
+
};
|
|
320
|
+
}
|
|
270
321
|
function ensureNode(id, seenAt) {
|
|
271
322
|
const existing = nodes.get(id);
|
|
272
323
|
if (existing) {
|
|
@@ -275,6 +326,7 @@ export function createProxyTelemetry(config = {}) {
|
|
|
275
326
|
}
|
|
276
327
|
const created = { id, lastSeenAt: seenAt };
|
|
277
328
|
nodes.set(id, created);
|
|
329
|
+
emit({ type: 'node:new', seq, nodeId: id, firstSeenAt: seenAt });
|
|
278
330
|
return created;
|
|
279
331
|
}
|
|
280
332
|
function ensureEdge(labels, seenAt) {
|
|
@@ -282,13 +334,14 @@ export function createProxyTelemetry(config = {}) {
|
|
|
282
334
|
const existing = edges.get(key);
|
|
283
335
|
if (existing) {
|
|
284
336
|
existing.lastSeenAt = seenAt;
|
|
285
|
-
return existing;
|
|
337
|
+
return { edge: existing, isNew: false };
|
|
286
338
|
}
|
|
287
339
|
const created = {
|
|
288
340
|
id: key,
|
|
289
341
|
source: labels.source,
|
|
290
342
|
target: labels.destination,
|
|
291
343
|
protocol: labels.protocol,
|
|
344
|
+
firstSeenAt: seenAt,
|
|
292
345
|
activeFlows: 0,
|
|
293
346
|
flowsTotal: 0,
|
|
294
347
|
requestsTotal: 0,
|
|
@@ -304,9 +357,12 @@ export function createProxyTelemetry(config = {}) {
|
|
|
304
357
|
buckets: new Map(),
|
|
305
358
|
},
|
|
306
359
|
lastSeenAt: seenAt,
|
|
360
|
+
statusClassCounts: {},
|
|
361
|
+
methodCounts: {},
|
|
362
|
+
pathCounts: new Map(),
|
|
307
363
|
};
|
|
308
364
|
edges.set(key, created);
|
|
309
|
-
return created;
|
|
365
|
+
return { edge: created, isNew: true };
|
|
310
366
|
}
|
|
311
367
|
function updateRateMetrics(labels, edge, nowMs) {
|
|
312
368
|
const rates = summarizeRates(edge.rates, nowMs, rateWindowMs);
|
|
@@ -321,17 +377,64 @@ export function createProxyTelemetry(config = {}) {
|
|
|
321
377
|
registry,
|
|
322
378
|
percentiles,
|
|
323
379
|
rateWindowSeconds: rateWindowMs / 1000,
|
|
380
|
+
subscribe(listener) {
|
|
381
|
+
listeners.add(listener);
|
|
382
|
+
return () => { listeners.delete(listener); };
|
|
383
|
+
},
|
|
384
|
+
reset() {
|
|
385
|
+
nodes.clear();
|
|
386
|
+
edges.clear();
|
|
387
|
+
seq = 0;
|
|
388
|
+
emit({ type: 'reset', seq });
|
|
389
|
+
},
|
|
390
|
+
expireEdgesBefore(iso) {
|
|
391
|
+
let removed = 0;
|
|
392
|
+
for (const [key, edge] of edges) {
|
|
393
|
+
if (edge.lastSeenAt < iso) {
|
|
394
|
+
edges.delete(key);
|
|
395
|
+
seq++;
|
|
396
|
+
emit({
|
|
397
|
+
type: 'edge:expire',
|
|
398
|
+
seq,
|
|
399
|
+
edgeId: edge.id,
|
|
400
|
+
source: edge.source,
|
|
401
|
+
target: edge.target,
|
|
402
|
+
protocol: edge.protocol,
|
|
403
|
+
});
|
|
404
|
+
removed++;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
if (removed > 0) {
|
|
408
|
+
const referencedNodes = new Set();
|
|
409
|
+
for (const edge of edges.values()) {
|
|
410
|
+
referencedNodes.add(edge.source);
|
|
411
|
+
referencedNodes.add(edge.target);
|
|
412
|
+
}
|
|
413
|
+
for (const nodeId of nodes.keys()) {
|
|
414
|
+
if (!referencedNodes.has(nodeId)) {
|
|
415
|
+
nodes.delete(nodeId);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
return removed;
|
|
420
|
+
},
|
|
324
421
|
startFlow(labels) {
|
|
325
422
|
const startedAt = new Date().toISOString();
|
|
326
423
|
const startedAtMs = Date.now();
|
|
327
424
|
ensureNode(labels.source, startedAt);
|
|
328
425
|
ensureNode(labels.destination, startedAt);
|
|
329
|
-
const edge = ensureEdge(labels, startedAt);
|
|
426
|
+
const { edge, isNew } = ensureEdge(labels, startedAt);
|
|
330
427
|
edge.activeFlows++;
|
|
331
428
|
edge.flowsTotal++;
|
|
429
|
+
seq++;
|
|
332
430
|
recordRateDelta(edge.rates, startedAtMs, rateWindowMs, { flows: 1 });
|
|
333
431
|
registry.set(PROXY_AUTO_METRICS.ACTIVE_FLOWS, edge.activeFlows, labels);
|
|
334
432
|
updateRateMetrics(labels, edge, startedAtMs);
|
|
433
|
+
emit({
|
|
434
|
+
type: isNew ? 'edge:new' : 'edge:update',
|
|
435
|
+
seq,
|
|
436
|
+
edge: buildEdgeSnapshot(edge, startedAtMs),
|
|
437
|
+
});
|
|
335
438
|
let finished = false;
|
|
336
439
|
return {
|
|
337
440
|
addBytesFromSource(delta) {
|
|
@@ -365,9 +468,18 @@ export function createProxyTelemetry(config = {}) {
|
|
|
365
468
|
const errorLabel = input.error ?? (isErrorStatus(input.status) ? `status_${input.status}` : undefined);
|
|
366
469
|
const rateDelta = {};
|
|
367
470
|
if (input.method) {
|
|
471
|
+
const method = input.method.toUpperCase();
|
|
368
472
|
edge.requestsTotal++;
|
|
473
|
+
edge.methodCounts[method] = (edge.methodCounts[method] ?? 0) + 1;
|
|
369
474
|
rateDelta.requests = 1;
|
|
370
475
|
}
|
|
476
|
+
if (input.path) {
|
|
477
|
+
edge.pathCounts.set(input.path, (edge.pathCounts.get(input.path) ?? 0) + 1);
|
|
478
|
+
}
|
|
479
|
+
if (input.status) {
|
|
480
|
+
const cls = statusClass(input.status);
|
|
481
|
+
edge.statusClassCounts[cls] = (edge.statusClassCounts[cls] ?? 0) + 1;
|
|
482
|
+
}
|
|
371
483
|
if (errorLabel) {
|
|
372
484
|
edge.errorsTotal++;
|
|
373
485
|
rateDelta.errors = 1;
|
|
@@ -407,20 +519,43 @@ export function createProxyTelemetry(config = {}) {
|
|
|
407
519
|
});
|
|
408
520
|
}
|
|
409
521
|
}
|
|
522
|
+
seq++;
|
|
410
523
|
updateRateMetrics(labels, edge, nowMs);
|
|
524
|
+
emit({ type: 'edge:update', seq, edge: buildEdgeSnapshot(edge, nowMs) });
|
|
411
525
|
},
|
|
412
526
|
};
|
|
413
527
|
},
|
|
414
528
|
snapshot() {
|
|
415
529
|
const inboundCounts = new Map();
|
|
416
530
|
const outboundCounts = new Map();
|
|
531
|
+
const nodeRequestsOut = new Map();
|
|
532
|
+
const nodeRequestsIn = new Map();
|
|
533
|
+
const nodeErrorsOut = new Map();
|
|
534
|
+
const nodeErrorsIn = new Map();
|
|
535
|
+
const nodeBytesOut = new Map();
|
|
536
|
+
const nodeBytesIn = new Map();
|
|
537
|
+
const nodeActiveFlows = new Map();
|
|
538
|
+
const nodeProtocols = new Map();
|
|
417
539
|
const nowMs = Date.now();
|
|
418
540
|
for (const edge of edges.values()) {
|
|
419
541
|
outboundCounts.set(edge.source, (outboundCounts.get(edge.source) ?? 0) + 1);
|
|
420
542
|
inboundCounts.set(edge.target, (inboundCounts.get(edge.target) ?? 0) + 1);
|
|
543
|
+
nodeRequestsOut.set(edge.source, (nodeRequestsOut.get(edge.source) ?? 0) + edge.requestsTotal);
|
|
544
|
+
nodeErrorsOut.set(edge.source, (nodeErrorsOut.get(edge.source) ?? 0) + edge.errorsTotal);
|
|
545
|
+
nodeBytesOut.set(edge.source, (nodeBytesOut.get(edge.source) ?? 0) + edge.bytesFromSource);
|
|
546
|
+
nodeActiveFlows.set(edge.source, (nodeActiveFlows.get(edge.source) ?? 0) + edge.activeFlows);
|
|
547
|
+
const srcProtocols = nodeProtocols.get(edge.source) ?? {};
|
|
548
|
+
srcProtocols[edge.protocol] = (srcProtocols[edge.protocol] ?? 0) + edge.flowsTotal;
|
|
549
|
+
nodeProtocols.set(edge.source, srcProtocols);
|
|
550
|
+
nodeRequestsIn.set(edge.target, (nodeRequestsIn.get(edge.target) ?? 0) + edge.requestsTotal);
|
|
551
|
+
nodeErrorsIn.set(edge.target, (nodeErrorsIn.get(edge.target) ?? 0) + edge.errorsTotal);
|
|
552
|
+
nodeBytesIn.set(edge.target, (nodeBytesIn.get(edge.target) ?? 0) + edge.bytesFromSource);
|
|
421
553
|
}
|
|
422
554
|
return {
|
|
555
|
+
seq,
|
|
423
556
|
generatedAt: new Date(nowMs).toISOString(),
|
|
557
|
+
windowStart: new Date(nowMs - rateWindowMs).toISOString(),
|
|
558
|
+
windowEnd: new Date(nowMs).toISOString(),
|
|
424
559
|
percentiles: percentiles.map((percentile) => percentile.label),
|
|
425
560
|
rateWindowSeconds: rateWindowMs / 1000,
|
|
426
561
|
nodes: Array.from(nodes.values())
|
|
@@ -430,26 +565,18 @@ export function createProxyTelemetry(config = {}) {
|
|
|
430
565
|
inboundEdges: inboundCounts.get(node.id) ?? 0,
|
|
431
566
|
outboundEdges: outboundCounts.get(node.id) ?? 0,
|
|
432
567
|
lastSeenAt: node.lastSeenAt,
|
|
568
|
+
requestsOut: nodeRequestsOut.get(node.id) ?? 0,
|
|
569
|
+
requestsIn: nodeRequestsIn.get(node.id) ?? 0,
|
|
570
|
+
errorsOut: nodeErrorsOut.get(node.id) ?? 0,
|
|
571
|
+
errorsIn: nodeErrorsIn.get(node.id) ?? 0,
|
|
572
|
+
bytesOut: nodeBytesOut.get(node.id) ?? 0,
|
|
573
|
+
bytesIn: nodeBytesIn.get(node.id) ?? 0,
|
|
574
|
+
activeFlows: nodeActiveFlows.get(node.id) ?? 0,
|
|
575
|
+
protocols: nodeProtocols.get(node.id) ?? {},
|
|
433
576
|
}))
|
|
434
577
|
.sort((a, b) => a.id.localeCompare(b.id)),
|
|
435
578
|
edges: Array.from(edges.values())
|
|
436
|
-
.map((edge) => (
|
|
437
|
-
id: edge.id,
|
|
438
|
-
source: edge.source,
|
|
439
|
-
target: edge.target,
|
|
440
|
-
protocol: edge.protocol,
|
|
441
|
-
activeFlows: edge.activeFlows,
|
|
442
|
-
flowsTotal: edge.flowsTotal,
|
|
443
|
-
requestsTotal: edge.requestsTotal,
|
|
444
|
-
errorsTotal: edge.errorsTotal,
|
|
445
|
-
bytesFromSource: edge.bytesFromSource,
|
|
446
|
-
bytesToSource: edge.bytesToSource,
|
|
447
|
-
durationCount: edge.duration.count,
|
|
448
|
-
durationSumSeconds: edge.duration.sum,
|
|
449
|
-
latency: summarizeLatency(edge.duration, percentiles),
|
|
450
|
-
rates: summarizeRates(edge.rates, nowMs, rateWindowMs),
|
|
451
|
-
lastSeenAt: edge.lastSeenAt,
|
|
452
|
-
}))
|
|
579
|
+
.map((edge) => buildEdgeSnapshot(edge, nowMs))
|
|
453
580
|
.sort((a, b) => a.source.localeCompare(b.source)
|
|
454
581
|
|| a.target.localeCompare(b.target)
|
|
455
582
|
|| a.protocol.localeCompare(b.protocol)),
|