{"version":3,"file":"measurement.js","sources":["../../../src/tracing/measurement.ts"],"sourcesContent":["import type { MeasurementUnit, Measurements, TimedEvent } from '@sentry/types';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT,\n SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE,\n} from '../semanticAttributes';\nimport { getActiveSpan, getRootSpan } from '../utils/spanUtils';\n\n/**\n * Adds a measurement to the active transaction on the current global scope. You can optionally pass in a different span\n * as the 4th parameter.\n */\nexport function setMeasurement(name: string, value: number, unit: MeasurementUnit, activeSpan = getActiveSpan()): void {\n const rootSpan = activeSpan && getRootSpan(activeSpan);\n\n if (rootSpan) {\n rootSpan.addEvent(name, {\n [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: value,\n [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: unit as string,\n });\n }\n}\n\n/**\n * Convert timed events to measurements.\n */\nexport function timedEventsToMeasurements(events: TimedEvent[]): Measurements | undefined {\n if (!events || events.length === 0) {\n return undefined;\n }\n\n const measurements: Measurements = {};\n events.forEach(event => {\n const attributes = event.attributes || {};\n const unit = attributes[SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT] as MeasurementUnit | undefined;\n const value = attributes[SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE] as number | undefined;\n\n if (typeof unit === 'string' && typeof value === 'number') {\n measurements[event.name] = { value, unit };\n }\n });\n\n return measurements;\n}\n"],"names":["getActiveSpan","getRootSpan","SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE","SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT"],"mappings":";;;;;AAOA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,IAAI,EAAU,KAAK,EAAU,IAAI,EAAmB,aAAaA,uBAAa,EAAE,EAAQ;AACvH,EAAE,MAAM,WAAW,UAAA,IAAcC,qBAAW,CAAC,UAAU,CAAC;;AAExD,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC5B,MAAM,CAACC,8DAA2C,GAAG,KAAK;AAC1D,MAAM,CAACC,6DAA0C,GAAG,IAAK;AACzD,KAAK,CAAC;AACN;AACA;;AAEA;AACA;AACA;AACO,SAAS,yBAAyB,CAAC,MAAM,EAA0C;AAC1F,EAAE,IAAI,CAAC,MAAO,IAAG,MAAM,CAAC,MAAA,KAAW,CAAC,EAAE;AACtC,IAAI,OAAO,SAAS;AACpB;;AAEA,EAAE,MAAM,YAAY,GAAiB,EAAE;AACvC,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;AAC1B,IAAI,MAAM,aAAa,KAAK,CAAC,UAAW,IAAG,EAAE;AAC7C,IAAI,MAAM,IAAK,GAAE,UAAU,CAACA,6DAA0C,CAAE;AACxE,IAAI,MAAM,KAAM,GAAE,UAAU,CAACD,8DAA2C,CAAE;;AAE1E,IAAI,IAAI,OAAO,IAAK,KAAI,QAAS,IAAG,OAAO,KAAA,KAAU,QAAQ,EAAE;AAC/D,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,CAAE,GAAE,EAAE,KAAK,EAAE,IAAA,EAAM;AAChD;AACA,GAAG,CAAC;;AAEJ,EAAE,OAAO,YAAY;AACrB;;;;;"}