![JAR search and dependency download from the Maven repository](/logo.png)
package.build.esm.metrics.envelope.js.map Maven / Gradle / Ivy
{"version":3,"file":"envelope.js","sources":["../../../src/metrics/envelope.ts"],"sourcesContent":["import type { Client, DsnComponents, MetricBucketItem, SdkMetadata, StatsdEnvelope, StatsdItem } from '@sentry/types';\nimport { createEnvelope, dsnToString, logger } from '@sentry/utils';\nimport { serializeMetricBuckets } from './utils';\n\n/**\n * Captures aggregated metrics to the supplied client.\n */\nexport function captureAggregateMetrics(client: Client, metricBucketItems: Array): void {\n logger.log(`Flushing aggregated metrics, number of metrics: ${metricBucketItems.length}`);\n const dsn = client.getDsn();\n const metadata = client.getSdkMetadata();\n const tunnel = client.getOptions().tunnel;\n\n const metricsEnvelope = createMetricEnvelope(metricBucketItems, dsn, metadata, tunnel);\n\n // sendEnvelope should not throw\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n client.sendEnvelope(metricsEnvelope);\n}\n\n/**\n * Create envelope from a metric aggregate.\n */\nexport function createMetricEnvelope(\n metricBucketItems: Array,\n dsn?: DsnComponents,\n metadata?: SdkMetadata,\n tunnel?: string,\n): StatsdEnvelope {\n const headers: StatsdEnvelope[0] = {\n sent_at: new Date().toISOString(),\n };\n\n if (metadata && metadata.sdk) {\n headers.sdk = {\n name: metadata.sdk.name,\n version: metadata.sdk.version,\n };\n }\n\n if (!!tunnel && dsn) {\n headers.dsn = dsnToString(dsn);\n }\n\n const item = createMetricEnvelopeItem(metricBucketItems);\n return createEnvelope(headers, [item]);\n}\n\nfunction createMetricEnvelopeItem(metricBucketItems: MetricBucketItem[]): StatsdItem {\n const payload = serializeMetricBuckets(metricBucketItems);\n const metricHeaders: StatsdItem[0] = {\n type: 'statsd',\n length: payload.length,\n };\n return [metricHeaders, payload];\n}\n"],"names":[],"mappings":";;;AAIA;AACA;AACA;AACO,SAAS,uBAAuB,CAAC,MAAM,EAAU,iBAAiB,EAAiC;AAC1G,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,gDAAgD,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA,CAAA,CAAA;AACA,EAAA,MAAA,GAAA,GAAA,MAAA,CAAA,MAAA,EAAA,CAAA;AACA,EAAA,MAAA,QAAA,GAAA,MAAA,CAAA,cAAA,EAAA,CAAA;AACA,EAAA,MAAA,MAAA,GAAA,MAAA,CAAA,UAAA,EAAA,CAAA,MAAA,CAAA;AACA;AACA,EAAA,MAAA,eAAA,GAAA,oBAAA,CAAA,iBAAA,EAAA,GAAA,EAAA,QAAA,EAAA,MAAA,CAAA,CAAA;AACA;AACA;AACA;AACA,EAAA,MAAA,CAAA,YAAA,CAAA,eAAA,CAAA,CAAA;AACA,CAAA;AACA;AACA;AACA;AACA;AACA,SAAA,oBAAA;AACA,EAAA,iBAAA;AACA,EAAA,GAAA;AACA,EAAA,QAAA;AACA,EAAA,MAAA;AACA,EAAA;AACA,EAAA,MAAA,OAAA,GAAA;AACA,IAAA,OAAA,EAAA,IAAA,IAAA,EAAA,CAAA,WAAA,EAAA;AACA,GAAA,CAAA;AACA;AACA,EAAA,IAAA,QAAA,IAAA,QAAA,CAAA,GAAA,EAAA;AACA,IAAA,OAAA,CAAA,GAAA,GAAA;AACA,MAAA,IAAA,EAAA,QAAA,CAAA,GAAA,CAAA,IAAA;AACA,MAAA,OAAA,EAAA,QAAA,CAAA,GAAA,CAAA,OAAA;AACA,KAAA,CAAA;AACA,GAAA;AACA;AACA,EAAA,IAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA;AACA,IAAA,OAAA,CAAA,GAAA,GAAA,WAAA,CAAA,GAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA,EAAA,MAAA,IAAA,GAAA,wBAAA,CAAA,iBAAA,CAAA,CAAA;AACA,EAAA,OAAA,cAAA,CAAA,OAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,CAAA;AACA;AACA,SAAA,wBAAA,CAAA,iBAAA,EAAA;AACA,EAAA,MAAA,OAAA,GAAA,sBAAA,CAAA,iBAAA,CAAA,CAAA;AACA,EAAA,MAAA,aAAA,GAAA;AACA,IAAA,IAAA,EAAA,QAAA;AACA,IAAA,MAAA,EAAA,OAAA,CAAA,MAAA;AACA,GAAA,CAAA;AACA,EAAA,OAAA,CAAA,aAAA,EAAA,OAAA,CAAA,CAAA;AACA;;;;"}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy