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.
@@ -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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"}
@@ -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;AACxD,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;CACpC;AAuBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAwEvE"}
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"}
@@ -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
  },
@@ -1 +1 @@
1
- {"version":3,"file":"suite.js","sourceRoot":"","sources":["../../src/proxy/suite.ts"],"names":[],"mappings":"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"}
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
- lastSeenAt: string;
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":"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"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/proxy/telemetry.ts"],"names":[],"mappings":"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"}
@@ -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)),