autotel
Version:
Write Once, Observe Anywhere
40 lines (38 loc) • 987 B
JavaScript
;
// src/filtering-span-processor.ts
var FilteringSpanProcessor = class {
wrappedProcessor;
filter;
constructor(wrappedProcessor, options) {
this.wrappedProcessor = wrappedProcessor;
this.filter = options.filter;
}
/**
* Pass through onStart - we need spans to start so child spans work
*/
onStart(span, parentContext) {
this.wrappedProcessor.onStart(span, parentContext);
}
/**
* Apply filter predicate on span end
* If filter returns false, span is dropped (not forwarded)
*/
onEnd(span) {
try {
if (this.filter(span)) {
this.wrappedProcessor.onEnd(span);
}
} catch {
this.wrappedProcessor.onEnd(span);
}
}
forceFlush() {
return this.wrappedProcessor.forceFlush();
}
shutdown() {
return this.wrappedProcessor.shutdown();
}
};
exports.FilteringSpanProcessor = FilteringSpanProcessor;
//# sourceMappingURL=chunk-ZNMBW67B.cjs.map
//# sourceMappingURL=chunk-ZNMBW67B.cjs.map