From bd0b80e76747a766e2190566e47cfd668e3fb9b3 Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Thu, 10 Aug 2023 18:01:30 -0400 Subject: [PATCH] feat(core): Add setMeasurement export --- packages/browser/src/index.ts | 1 + packages/core/src/tracing/index.ts | 1 + packages/core/src/tracing/measurement.ts | 13 +++++++++++++ packages/node/src/index.ts | 1 + packages/serverless/src/index.ts | 1 + packages/sveltekit/src/server/index.ts | 1 + 6 files changed, 18 insertions(+) create mode 100644 packages/core/src/tracing/measurement.ts diff --git a/packages/browser/src/index.ts b/packages/browser/src/index.ts index 9dbe7f977d7e..4ca6c7352261 100644 --- a/packages/browser/src/index.ts +++ b/packages/browser/src/index.ts @@ -29,6 +29,7 @@ export { export type { RequestInstrumentationOptions } from '@sentry-internal/tracing'; export { addTracingExtensions, + setMeasurement, extractTraceparentData, getActiveTransaction, spanStatusfromHttpCode, diff --git a/packages/core/src/tracing/index.ts b/packages/core/src/tracing/index.ts index 7a1f5336fe1c..f418453ff28d 100644 --- a/packages/core/src/tracing/index.ts +++ b/packages/core/src/tracing/index.ts @@ -8,3 +8,4 @@ export { SpanStatus } from './spanstatus'; export type { SpanStatusType } from './span'; export { trace } from './trace'; export { getDynamicSamplingContextFromClient } from './dynamicSamplingContext'; +export { setMeasurement } from './measurement'; diff --git a/packages/core/src/tracing/measurement.ts b/packages/core/src/tracing/measurement.ts new file mode 100644 index 000000000000..b13bcb6b5a4a --- /dev/null +++ b/packages/core/src/tracing/measurement.ts @@ -0,0 +1,13 @@ +import type { MeasurementUnit } from '@sentry/types'; + +import { getActiveTransaction } from './utils'; + +/** + * Adds a measurement to the current active transaction. + */ +export function setMeasurement(name: string, value: number, unit: MeasurementUnit): void { + const transaction = getActiveTransaction(); + if (transaction) { + transaction.setMeasurement(name, value, unit); + } +} diff --git a/packages/node/src/index.ts b/packages/node/src/index.ts index 0031a587c602..e0443691a8ae 100644 --- a/packages/node/src/index.ts +++ b/packages/node/src/index.ts @@ -54,6 +54,7 @@ export { trace, withScope, captureCheckIn, + setMeasurement, } from '@sentry/core'; export type { SpanStatusType } from '@sentry/core'; export { autoDiscoverNodePerformanceMonitoringIntegrations } from './tracing'; diff --git a/packages/serverless/src/index.ts b/packages/serverless/src/index.ts index f6ae3a2b9184..99730ac8dac1 100644 --- a/packages/serverless/src/index.ts +++ b/packages/serverless/src/index.ts @@ -49,4 +49,5 @@ export { deepReadDirSync, Handlers, Integrations, + setMeasurement, } from '@sentry/node'; diff --git a/packages/sveltekit/src/server/index.ts b/packages/sveltekit/src/server/index.ts index 3641993149bf..96f43cc9f7f9 100644 --- a/packages/sveltekit/src/server/index.ts +++ b/packages/sveltekit/src/server/index.ts @@ -44,6 +44,7 @@ export { deepReadDirSync, Integrations, Handlers, + setMeasurement, } from '@sentry/node'; // We can still leave this for the carrier init and type exports