File: //home/cafsindia/snap.cafsinfotech.in/node_modules/@sentry/utils/cjs/tracing.js.map
{"version":3,"file":"tracing.js","sources":["../../src/tracing.ts"],"sourcesContent":["import type { DynamicSamplingContext, PropagationContext, TraceparentData } from '@sentry/types';\n\nimport { baggageHeaderToDynamicSamplingContext } from './baggage';\nimport { uuid4 } from './misc';\n\nexport const TRACEPARENT_REGEXP = new RegExp(\n '^[ \\\\t]*' + // whitespace\n '([0-9a-f]{32})?' + // trace_id\n '-?([0-9a-f]{16})?' + // span_id\n '-?([01])?' + // sampled\n '[ \\\\t]*$', // whitespace\n);\n\n/**\n * Extract transaction context data from a `sentry-trace` header.\n *\n * @param traceparent Traceparent string\n *\n * @returns Object containing data from the header, or undefined if traceparent string is malformed\n */\nexport function extractTraceparentData(traceparent?: string): TraceparentData | undefined {\n if (!traceparent) {\n return undefined;\n }\n\n const matches = traceparent.match(TRACEPARENT_REGEXP);\n if (!matches) {\n return undefined;\n }\n\n let parentSampled: boolean | undefined;\n if (matches[3] === '1') {\n parentSampled = true;\n } else if (matches[3] === '0') {\n parentSampled = false;\n }\n\n return {\n traceId: matches[1],\n parentSampled,\n parentSpanId: matches[2],\n };\n}\n\n/**\n * Create tracing context from incoming headers.\n */\nexport function tracingContextFromHeaders(\n sentryTrace: Parameters<typeof extractTraceparentData>[0],\n baggage: Parameters<typeof baggageHeaderToDynamicSamplingContext>[0],\n): {\n traceparentData: ReturnType<typeof extractTraceparentData>;\n dynamicSamplingContext: ReturnType<typeof baggageHeaderToDynamicSamplingContext>;\n propagationContext: PropagationContext;\n} {\n const traceparentData = extractTraceparentData(sentryTrace);\n const dynamicSamplingContext = baggageHeaderToDynamicSamplingContext(baggage);\n\n const { traceId, parentSpanId, parentSampled } = traceparentData || {};\n\n const propagationContext: PropagationContext = {\n traceId: traceId || uuid4(),\n spanId: uuid4().substring(16),\n sampled: parentSampled,\n };\n\n if (parentSpanId) {\n propagationContext.parentSpanId = parentSpanId;\n }\n\n if (dynamicSamplingContext) {\n propagationContext.dsc = dynamicSamplingContext as DynamicSamplingContext;\n }\n\n return {\n traceparentData,\n dynamicSamplingContext,\n propagationContext,\n };\n}\n\n/**\n * Create sentry-trace header from span context values.\n */\nexport function generateSentryTraceHeader(\n traceId: string = uuid4(),\n spanId: string = uuid4().substring(16),\n sampled?: boolean,\n): string {\n let sampledString = '';\n if (sampled !== undefined) {\n sampledString = sampled ? '-1' : '-0';\n }\n return `${traceId}-${spanId}${sampledString}`;\n}\n"],"names":["baggage","baggageHeaderToDynamicSamplingContext","uuid4"],"mappings":";;;;;AAKA,MAAA,kBAAA,GAAA,IAAA,MAAA;AACA,EAAA,UAAA;AACA,IAAA,iBAAA;AACA,IAAA,mBAAA;AACA,IAAA,WAAA;AACA,IAAA,UAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAA,sBAAA,CAAA,WAAA,EAAA;AACA,EAAA,IAAA,CAAA,WAAA,EAAA;AACA,IAAA,OAAA,SAAA,CAAA;AACA,GAAA;AACA;AACA,EAAA,MAAA,OAAA,GAAA,WAAA,CAAA,KAAA,CAAA,kBAAA,CAAA,CAAA;AACA,EAAA,IAAA,CAAA,OAAA,EAAA;AACA,IAAA,OAAA,SAAA,CAAA;AACA,GAAA;AACA;AACA,EAAA,IAAA,aAAA,CAAA;AACA,EAAA,IAAA,OAAA,CAAA,CAAA,CAAA,KAAA,GAAA,EAAA;AACA,IAAA,aAAA,GAAA,IAAA,CAAA;AACA,GAAA,MAAA,IAAA,OAAA,CAAA,CAAA,CAAA,KAAA,GAAA,EAAA;AACA,IAAA,aAAA,GAAA,KAAA,CAAA;AACA,GAAA;AACA;AACA,EAAA,OAAA;AACA,IAAA,OAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,IAAA,aAAA;AACA,IAAA,YAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AACA,GAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA,SAAA,yBAAA;AACA,EAAA,WAAA;AACA,EAAAA,SAAA;AACA;;AAIA,CAAA;AACA,EAAA,MAAA,eAAA,GAAA,sBAAA,CAAA,WAAA,CAAA,CAAA;AACA,EAAA,MAAA,sBAAA,GAAAC,6CAAA,CAAAD,SAAA,CAAA,CAAA;AACA;AACA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,aAAA,EAAA,GAAA,eAAA,IAAA,EAAA,CAAA;AACA;AACA,EAAA,MAAA,kBAAA,GAAA;AACA,IAAA,OAAA,EAAA,OAAA,IAAAE,UAAA,EAAA;AACA,IAAA,MAAA,EAAAA,UAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA;AACA,IAAA,OAAA,EAAA,aAAA;AACA,GAAA,CAAA;AACA;AACA,EAAA,IAAA,YAAA,EAAA;AACA,IAAA,kBAAA,CAAA,YAAA,GAAA,YAAA,CAAA;AACA,GAAA;AACA;AACA,EAAA,IAAA,sBAAA,EAAA;AACA,IAAA,kBAAA,CAAA,GAAA,GAAA,sBAAA,EAAA;AACA,GAAA;AACA;AACA,EAAA,OAAA;AACA,IAAA,eAAA;AACA,IAAA,sBAAA;AACA,IAAA,kBAAA;AACA,GAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA,SAAA,yBAAA;AACA,EAAA,OAAA,GAAAA,UAAA,EAAA;AACA,EAAA,MAAA,GAAAA,UAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA;AACA,EAAA,OAAA;AACA,EAAA;AACA,EAAA,IAAA,aAAA,GAAA,EAAA,CAAA;AACA,EAAA,IAAA,OAAA,KAAA,SAAA,EAAA;AACA,IAAA,aAAA,GAAA,OAAA,GAAA,IAAA,GAAA,IAAA,CAAA;AACA,GAAA;AACA,EAAA,OAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,aAAA,CAAA,CAAA,CAAA;AACA;;;;;;;"}