autotel
Version:
Write Once, Observe Anywhere
38 lines (37 loc) • 948 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();
}
};
export { FilteringSpanProcessor };
//# sourceMappingURL=chunk-WGWSHJ2N.js.map
//# sourceMappingURL=chunk-WGWSHJ2N.js.map