Implement managed browser security, individual agents and observability

This commit is contained in:
Karl committed 2026-10-13 16:58:15 +02:00
1 parent ff482ebe23
commit ea448de2d4
172 files changed
+5404 -347

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
import test from 'node:test';import assert from 'node:assert/strict';import {normalizeCollectorBatch} from '../scripts/debug-collector-batch.mjs';
const span={traceId:'1234567890abcdef1234567890abcdef',spanId:'1234567890abcdef',name:'synthetic',startTimeUnixNano:'1000000000000000000',endTimeUnixNano:'1000000000001000000'};
const batch=value=>({resourceSpans:[{scopeSpans:[{spans:[value]}]}]});
test('collector diagnostics normalize valid timestamps, correlation and empty batches before mutation',()=>{assert.equal(normalizeCollectorBatch('traces',batch(span)).spans[0].durationMs,1);assert.deepEqual(normalizeCollectorBatch('traces',{}).spans,[]);assert.equal(normalizeCollectorBatch('logs',{resourceLogs:[]}).logs,0);assert.equal(normalizeCollectorBatch('metrics',{}).metrics,1);});
test('collector rejects unsafe durations, non-array hierarchy and invalid diagnostic identities',()=>{for(const value of [{...span,endTimeUnixNano:'100000000000000000'}, {...span,startTimeUnixNano:'0',endTimeUnixNano:String(BigInt(Number.MAX_SAFE_INTEGER)+1n)}, {...span,spanId:'0000000000000000'}, {...span,parentSpanId:123}, {...span,name:null}])assert.throws(()=>normalizeCollectorBatch('traces',batch(value)));for(const payload of [{resourceSpans:{}},{resourceSpans:[{scopeSpans:{}}]},{resourceSpans:[{scopeSpans:[{spans:{}}]}]}])assert.throws(()=>normalizeCollectorBatch('traces',payload));assert.throws(()=>normalizeCollectorBatch('metrics',{resourceMetrics:[{scopeMetrics:[{metrics:{}}]}]}));});