@embrace-io/web-sdk
Version:
1 lines • 1.45 kB
Source Map (JSON)
{"version":3,"file":"EmbraceNetworkSpanProcessor.cjs","names":["isNetworkSpan","KEY_EMB_TYPE"],"sources":["../../../src/processors/EmbraceNetworkSpanProcessor/EmbraceNetworkSpanProcessor.ts"],"sourcesContent":["import type { Span, SpanProcessor } from '@opentelemetry/sdk-trace';\nimport { EMB_TYPES, KEY_EMB_TYPE } from '../../constants/index.ts';\nimport { isNetworkSpan } from '../../utils/index.ts';\n\n/**\n * Embrace's API expects network spans to have some specific attributes.\n * This processor checks if a span is a network span and adds them.\n */\nexport class EmbraceNetworkSpanProcessor implements SpanProcessor {\n public forceFlush(): Promise<void> {\n return Promise.resolve(undefined);\n }\n\n // Read in onEnding because isNetworkSpan depends on the HTTP response status, which is only set at span end.\n public onEnding(span: Span): void {\n if (isNetworkSpan(span)) {\n span.attributes[KEY_EMB_TYPE] = EMB_TYPES.Network;\n }\n }\n\n public onStart(this: void): void {\n // do nothing.\n }\n\n public onEnd(this: void): void {\n // do nothing.\n }\n\n public shutdown(): Promise<void> {\n return Promise.resolve(undefined);\n }\n}\n"],"mappings":";;;;;;;;AAQA,IAAa,8BAAb,MAAkE;CAChE,aAAmC;EACjC,OAAO,QAAQ,QAAQ,KAAA,CAAS;CAClC;CAGA,SAAgB,MAAkB;EAChC,IAAIA,6BAAAA,cAAc,IAAI,GACpB,KAAK,WAAWC,6BAAAA,gBAAAA;CAEpB;CAEA,UAAiC,CAEjC;CAEA,QAA+B,CAE/B;CAEA,WAAiC;EAC/B,OAAO,QAAQ,QAAQ,KAAA,CAAS;CAClC;AACF"}