All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.build.cjs.metrics.envelope.js.map Maven / Gradle / Ivy

There is a newer version: 8.39.0
Show newest version
{"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":["logger","dsnToString","createEnvelope","serializeMetricBuckets"],"mappings":";;;;;AAIA;AACA;AACA;AACO,SAAS,uBAAuB,CAAC,MAAM,EAAU,iBAAiB,EAAiC;AAC1G,EAAEA,YAAM,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,GAAAC,iBAAA,CAAA,GAAA,CAAA,CAAA;AACA,GAAA;AACA;AACA,EAAA,MAAA,IAAA,GAAA,wBAAA,CAAA,iBAAA,CAAA,CAAA;AACA,EAAA,OAAAC,oBAAA,CAAA,OAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACA,CAAA;AACA;AACA,SAAA,wBAAA,CAAA,iBAAA,EAAA;AACA,EAAA,MAAA,OAAA,GAAAC,8BAAA,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 - 2024 Weber Informatics LLC | Privacy Policy