import { dsnToString, createEnvelope } from '@sentry/utils'; import { serializeMetricBuckets } from './utils.js'; /** * Create envelope from a metric aggregate. */ function createMetricEnvelope( metricBucketItems, dsn, metadata, tunnel, ) { const headers = { sent_at: new Date().toISOString(), }; if (metadata && metadata.sdk) { headers.sdk = { name: metadata.sdk.name, version: metadata.sdk.version, }; } if (!!tunnel && dsn) { headers.dsn = dsnToString(dsn); } const item = createMetricEnvelopeItem(metricBucketItems); return createEnvelope(headers, [item]); } function createMetricEnvelopeItem(metricBucketItems) { const payload = serializeMetricBuckets(metricBucketItems); const metricHeaders = { type: 'statsd', length: payload.length, }; return [metricHeaders, payload]; } export { createMetricEnvelope }; //# sourceMappingURL=envelope.js.map