@sentry/browser 10.21.0-alpha.0 → 10.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/npm/cjs/index.js +0 -2
- package/build/npm/cjs/index.js.map +1 -1
- package/build/npm/cjs/integrations/httpcontext.js +0 -2
- package/build/npm/cjs/integrations/httpcontext.js.map +1 -1
- package/build/npm/cjs/profiling/integration.js +108 -46
- package/build/npm/cjs/profiling/integration.js.map +1 -1
- package/build/npm/cjs/profiling/lifecycleMode/traceLifecycleProfiler.js +343 -0
- package/build/npm/cjs/profiling/lifecycleMode/traceLifecycleProfiler.js.map +1 -0
- package/build/npm/cjs/profiling/startProfileForSpan.js +16 -0
- package/build/npm/cjs/profiling/startProfileForSpan.js.map +1 -1
- package/build/npm/cjs/profiling/utils.js +251 -14
- package/build/npm/cjs/profiling/utils.js.map +1 -1
- package/build/npm/cjs/tracing/request.js +0 -1
- package/build/npm/cjs/tracing/request.js.map +1 -1
- package/build/npm/esm/index.js +0 -1
- package/build/npm/esm/index.js.map +1 -1
- package/build/npm/esm/integrations/httpcontext.js +0 -2
- package/build/npm/esm/integrations/httpcontext.js.map +1 -1
- package/build/npm/esm/package.json +1 -1
- package/build/npm/esm/profiling/integration.js +110 -48
- package/build/npm/esm/profiling/integration.js.map +1 -1
- package/build/npm/esm/profiling/lifecycleMode/traceLifecycleProfiler.js +341 -0
- package/build/npm/esm/profiling/lifecycleMode/traceLifecycleProfiler.js.map +1 -0
- package/build/npm/esm/profiling/startProfileForSpan.js +16 -0
- package/build/npm/esm/profiling/startProfileForSpan.js.map +1 -1
- package/build/npm/esm/profiling/utils.js +245 -15
- package/build/npm/esm/profiling/utils.js.map +1 -1
- package/build/npm/esm/tracing/request.js +0 -1
- package/build/npm/esm/tracing/request.js.map +1 -1
- package/build/npm/types/feedbackAsync.d.ts +3 -9
- package/build/npm/types/feedbackAsync.d.ts.map +1 -1
- package/build/npm/types/feedbackSync.d.ts +3 -9
- package/build/npm/types/feedbackSync.d.ts.map +1 -1
- package/build/npm/types/helpers.d.ts +2 -29
- package/build/npm/types/helpers.d.ts.map +1 -1
- package/build/npm/types/index.d.ts +0 -1
- package/build/npm/types/index.d.ts.map +1 -1
- package/build/npm/types/integrations/featureFlags/growthbook/integration.d.ts.map +1 -1
- package/build/npm/types/integrations/httpcontext.d.ts.map +1 -1
- package/build/npm/types/integrations/webWorker.d.ts.map +1 -1
- package/build/npm/types/profiling/integration.d.ts.map +1 -1
- package/build/npm/types/profiling/lifecycleMode/traceLifecycleProfiler.d.ts +70 -0
- package/build/npm/types/profiling/lifecycleMode/traceLifecycleProfiler.d.ts.map +1 -0
- package/build/npm/types/profiling/startProfileForSpan.d.ts.map +1 -1
- package/build/npm/types/profiling/utils.d.ts +32 -2
- package/build/npm/types/profiling/utils.d.ts.map +1 -1
- package/build/npm/types/tracing/browserTracingIntegration.d.ts.map +1 -1
- package/build/npm/types/tracing/request.d.ts.map +1 -1
- package/build/npm/types-ts3.8/feedbackAsync.d.ts +3 -9
- package/build/npm/types-ts3.8/feedbackSync.d.ts +3 -9
- package/build/npm/types-ts3.8/helpers.d.ts +2 -29
- package/build/npm/types-ts3.8/index.d.ts +0 -1
- package/build/npm/types-ts3.8/profiling/lifecycleMode/traceLifecycleProfiler.d.ts +70 -0
- package/build/npm/types-ts3.8/profiling/utils.d.ts +32 -2
- package/package.json +7 -7
- package/build/npm/cjs/integrations/spanstreaming.js +0 -252
- package/build/npm/cjs/integrations/spanstreaming.js.map +0 -1
- package/build/npm/esm/integrations/spanstreaming.js +0 -250
- package/build/npm/esm/integrations/spanstreaming.js.map +0 -1
- package/build/npm/types/integrations/spanstreaming.d.ts +0 -5
- package/build/npm/types/integrations/spanstreaming.d.ts.map +0 -1
- package/build/npm/types-ts3.8/integrations/spanstreaming.d.ts +0 -5
|
@@ -3,15 +3,9 @@
|
|
|
3
3
|
* while loading most of the code lazily only when it's needed.
|
|
4
4
|
*/
|
|
5
5
|
export declare const feedbackAsyncIntegration: import("@sentry/core").IntegrationFn<import("@sentry/core").Integration & {
|
|
6
|
-
attachTo(el:
|
|
7
|
-
createForm(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration
|
|
8
|
-
|
|
9
|
-
appendToDom: () => void;
|
|
10
|
-
removeFromDom: () => void;
|
|
11
|
-
open: () => void;
|
|
12
|
-
close: () => void;
|
|
13
|
-
}>;
|
|
14
|
-
createWidget(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration | undefined): import("@sentry-internal/feedback/build/npm/types/core/components/Actor").ActorComponent;
|
|
6
|
+
attachTo(el: Element | string, optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): () => void;
|
|
7
|
+
createForm(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): Promise<ReturnType<import("@sentry/core").FeedbackModalIntegration["createDialog"]>>;
|
|
8
|
+
createWidget(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): import("@sentry-internal/feedback/build/npm/types/core/components/Actor").ActorComponent;
|
|
15
9
|
remove(): void;
|
|
16
10
|
}>;
|
|
17
11
|
//# sourceMappingURL=feedbackAsync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedbackAsync.d.ts","sourceRoot":"","sources":["../../../src/feedbackAsync.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"feedbackAsync.d.ts","sourceRoot":"","sources":["../../../src/feedbackAsync.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;EAEnC,CAAC"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
/** Add a widget to capture user feedback to your application. */
|
|
2
2
|
export declare const feedbackSyncIntegration: import("@sentry/core").IntegrationFn<import("@sentry/core").Integration & {
|
|
3
|
-
attachTo(el:
|
|
4
|
-
createForm(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration
|
|
5
|
-
|
|
6
|
-
appendToDom: () => void;
|
|
7
|
-
removeFromDom: () => void;
|
|
8
|
-
open: () => void;
|
|
9
|
-
close: () => void;
|
|
10
|
-
}>;
|
|
11
|
-
createWidget(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration | undefined): import("@sentry-internal/feedback/build/npm/types/core/components/Actor").ActorComponent;
|
|
3
|
+
attachTo(el: Element | string, optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): () => void;
|
|
4
|
+
createForm(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): Promise<ReturnType<import("@sentry/core").FeedbackModalIntegration["createDialog"]>>;
|
|
5
|
+
createWidget(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): import("@sentry-internal/feedback/build/npm/types/core/components/Actor").ActorComponent;
|
|
12
6
|
remove(): void;
|
|
13
7
|
}>;
|
|
14
8
|
//# sourceMappingURL=feedbackSync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedbackSync.d.ts","sourceRoot":"","sources":["../../../src/feedbackSync.ts"],"names":[],"mappings":"AAMA,iEAAiE;AACjE,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"feedbackSync.d.ts","sourceRoot":"","sources":["../../../src/feedbackSync.ts"],"names":[],"mappings":"AAMA,iEAAiE;AACjE,eAAO,MAAM,uBAAuB;;;;;EAGlC,CAAC"}
|
|
@@ -1,33 +1,6 @@
|
|
|
1
1
|
import type { Mechanism, WrappedFunction } from '@sentry/core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
userAgent?: string | undefined;
|
|
5
|
-
maxTouchPoints?: number | undefined;
|
|
6
|
-
} | undefined;
|
|
7
|
-
console: Console;
|
|
8
|
-
PerformanceObserver?: any;
|
|
9
|
-
Sentry?: any;
|
|
10
|
-
onerror?: {
|
|
11
|
-
(event: string | object, source?: string | undefined, lineno?: number | undefined, colno?: number | undefined, error?: Error | undefined): any;
|
|
12
|
-
__SENTRY_INSTRUMENTED__?: true | undefined;
|
|
13
|
-
} | undefined;
|
|
14
|
-
onunhandledrejection?: {
|
|
15
|
-
(event: unknown): boolean;
|
|
16
|
-
__SENTRY_INSTRUMENTED__?: true | undefined;
|
|
17
|
-
} | undefined;
|
|
18
|
-
SENTRY_ENVIRONMENT?: string | undefined;
|
|
19
|
-
SENTRY_DSN?: string | undefined;
|
|
20
|
-
SENTRY_RELEASE?: {
|
|
21
|
-
id?: string | undefined;
|
|
22
|
-
} | undefined;
|
|
23
|
-
SENTRY_SDK_SOURCE?: import("@sentry/core").SdkSource | undefined;
|
|
24
|
-
_sentryDebugIds?: Record<string, string> | undefined;
|
|
25
|
-
_debugIds?: Record<string, string> | undefined;
|
|
26
|
-
_sentryModuleMetadata?: Record<string, any> | undefined;
|
|
27
|
-
_sentryEsmLoaderHookRegistered?: boolean | undefined;
|
|
28
|
-
_sentryInjectLoaderHookRegister?: (() => void) | undefined;
|
|
29
|
-
_sentryInjectLoaderHookRegistered?: boolean | undefined;
|
|
30
|
-
} & import("@sentry/core").Carrier & Window;
|
|
2
|
+
import { GLOBAL_OBJ } from '@sentry/core';
|
|
3
|
+
export declare const WINDOW: typeof GLOBAL_OBJ & Window;
|
|
31
4
|
/**
|
|
32
5
|
* @hidden
|
|
33
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAOL,UAAU,EAGX,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,MAAM,EAAiB,OAAO,UAAU,GAAG,MAAM,CAAC;AAI/D;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAMxC;AAGD,KAAK,iBAAiB,GAAG,QAAQ,CAAC;AAElC,wBAAgB,IAAI,CAAC,CAAC,SAAS,iBAAiB,EAC9C,EAAE,EAAE,CAAC,EACL,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GACA,eAAe,CAAC,CAAC,CAAC,CAAC;AACtB,wBAAgB,IAAI,CAAC,WAAW,EAC9B,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,GACA,WAAW,CAAC;AAmIf;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAgBrF"}
|
|
@@ -29,5 +29,4 @@ export { growthbookIntegration } from './integrations/featureFlags/growthbook';
|
|
|
29
29
|
export { statsigIntegration } from './integrations/featureFlags/statsig';
|
|
30
30
|
export { diagnoseSdkConnectivity } from './diagnose-sdk';
|
|
31
31
|
export { webWorkerIntegration, registerWebWorker } from './integrations/webWorker';
|
|
32
|
-
export { spanStreamingIntegration } from './integrations/spanstreaming';
|
|
33
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACvE,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,uBAAuB,IAAI,mBAAmB,EAAE,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,oCAAoC,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,YAAY,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,gCAAgC,EAChC,aAAa,EACb,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,gCAAgC,EAChC,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,2BAA2B,EAC3B,MAAM,GACP,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AACrH,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACvE,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,uBAAuB,IAAI,mBAAmB,EAAE,CAAC;AAC7G,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EAAE,oCAAoC,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,YAAY,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EACL,gCAAgC,EAChC,aAAa,EACb,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,gCAAgC,EAChC,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,2BAA2B,EAC3B,MAAM,GACP,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,0CAA0C,CAAC;AACrH,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../../../../src/integrations/featureFlags/growthbook/integration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB;
|
|
1
|
+
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../../../../src/integrations/featureFlags/growthbook/integration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB,wBAA0B;IAAE,eAAe,EAAE,eAAe,CAAA;CAAE,uCACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpcontext.d.ts","sourceRoot":"","sources":["../../../../src/integrations/httpcontext.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"httpcontext.d.ts","sourceRoot":"","sources":["../../../../src/integrations/httpcontext.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,sBAAsB,0CAsBjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webWorker.d.ts","sourceRoot":"","sources":["../../../../src/integrations/webWorker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK/D,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAW5C,UAAU,oBAAqB,SAAQ,WAAW;IAChD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"webWorker.d.ts","sourceRoot":"","sources":["../../../../src/integrations/webWorker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK/D,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAW5C,UAAU,oBAAqB,SAAQ,WAAW;IAChD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,eAAO,MAAM,oBAAoB,EAM1B,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAgB3C;;;;;;;;GAQG;AACH,UAAU,iCAAiC;IACzC,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,UAAU,wBAAwB;IAChC,IAAI,EAAE,iCAAiC,GAAG;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACxF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,wBAAwB,GAAG,IAAI,CAK1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../../src/profiling/integration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../../src/profiling/integration.ts"],"names":[],"mappings":"AA8JA,eAAO,MAAM,2BAA2B,0CAAkD,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { Client, Span } from '@sentry/core';
|
|
2
|
+
/**
|
|
3
|
+
* Browser trace-lifecycle profiler (UI Profiling / Profiling V2):
|
|
4
|
+
* - Starts when the first sampled root span starts
|
|
5
|
+
* - Stops when the last sampled root span ends
|
|
6
|
+
* - While running, periodically stops and restarts the JS self-profiling API to collect chunks
|
|
7
|
+
*
|
|
8
|
+
* Profiles are emitted as standalone `profile_chunk` envelopes either when:
|
|
9
|
+
* - there are no more sampled root spans, or
|
|
10
|
+
* - the 60s chunk timer elapses while profiling is running.
|
|
11
|
+
*/
|
|
12
|
+
export declare class BrowserTraceLifecycleProfiler {
|
|
13
|
+
private _client;
|
|
14
|
+
private _profiler;
|
|
15
|
+
private _chunkTimer;
|
|
16
|
+
private _activeRootSpanIds;
|
|
17
|
+
private _rootSpanTimeouts;
|
|
18
|
+
private _profilerId;
|
|
19
|
+
private _isRunning;
|
|
20
|
+
private _sessionSampled;
|
|
21
|
+
constructor();
|
|
22
|
+
/**
|
|
23
|
+
* Initialize the profiler with client and session sampling decision computed by the integration.
|
|
24
|
+
*/
|
|
25
|
+
initialize(client: Client, sessionSampled: boolean): void;
|
|
26
|
+
/**
|
|
27
|
+
* Handle an already-active root span at integration setup time.
|
|
28
|
+
*/
|
|
29
|
+
notifyRootSpanActive(rootSpan: Span): void;
|
|
30
|
+
/**
|
|
31
|
+
* Start profiling if not already running.
|
|
32
|
+
*/
|
|
33
|
+
start(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Stop profiling; final chunk will be collected and sent.
|
|
36
|
+
*/
|
|
37
|
+
stop(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Resets profiling information from scope and resets running state
|
|
40
|
+
*/
|
|
41
|
+
private _resetProfilerInfo;
|
|
42
|
+
/**
|
|
43
|
+
* Clear and reset all per-root-span timeouts.
|
|
44
|
+
*/
|
|
45
|
+
private _clearAllRootSpanTimeouts;
|
|
46
|
+
/**
|
|
47
|
+
* Start a profiler instance if needed.
|
|
48
|
+
*/
|
|
49
|
+
private _startProfilerInstance;
|
|
50
|
+
/**
|
|
51
|
+
* Schedule the next 60s chunk while running.
|
|
52
|
+
* Each tick collects a chunk and restarts the profiler.
|
|
53
|
+
* A chunk should be closed when there are no active root spans anymore OR when the maximum chunk interval is reached.
|
|
54
|
+
*/
|
|
55
|
+
private _startPeriodicChunking;
|
|
56
|
+
/**
|
|
57
|
+
* Handle timeout for a specific root span ID to avoid indefinitely running profiler if `spanEnd` never fires.
|
|
58
|
+
* If this was the last active root span, collect the current chunk and stop profiling.
|
|
59
|
+
*/
|
|
60
|
+
private _onRootSpanTimeout;
|
|
61
|
+
/**
|
|
62
|
+
* Stop the current profiler, convert and send a profile chunk.
|
|
63
|
+
*/
|
|
64
|
+
private _collectCurrentChunk;
|
|
65
|
+
/**
|
|
66
|
+
* Send a profile chunk as a standalone envelope.
|
|
67
|
+
*/
|
|
68
|
+
private _sendProfileChunk;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=traceLifecycleProfiler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traceLifecycleProfiler.d.ts","sourceRoot":"","sources":["../../../../../src/profiling/lifecycleMode/traceLifecycleProfiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAgB,IAAI,EAAE,MAAM,cAAc,CAAC;AAmB/D;;;;;;;;;GASG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,WAAW,CAA4C;IAE/D,OAAO,CAAC,kBAAkB,CAAc;IACxC,OAAO,CAAC,iBAAiB,CAA6C;IAEtE,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,eAAe,CAAU;;IAajC;;OAEG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IAiFhE;;OAEG;IACI,oBAAoB,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAsBjD;;OAEG;IACI,KAAK,IAAI,IAAI;IAmBpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAmBnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAKjC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAwB9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;YACW,oBAAoB;IAiClC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAsB1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startProfileForSpan.d.ts","sourceRoot":"","sources":["../../../../src/profiling/startProfileForSpan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAOzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"startProfileForSpan.d.ts","sourceRoot":"","sources":["../../../../src/profiling/startProfileForSpan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAOzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAgIpD"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import type { DebugImage, Envelope, Event, EventEnvelope, Profile, Span, ThreadCpuProfile } from '@sentry/core';
|
|
1
|
+
import type { Client, DebugImage, Envelope, Event, EventEnvelope, Profile, ProfileChunk, Span, ThreadCpuProfile } from '@sentry/core';
|
|
2
|
+
import type { BrowserOptions } from '../client';
|
|
2
3
|
import type { JSSelfProfile, JSSelfProfiler } from './jsSelfProfiling';
|
|
4
|
+
export declare const PROFILER_THREAD_ID_STRING: string;
|
|
5
|
+
export declare const PROFILER_THREAD_NAME: string;
|
|
3
6
|
/**
|
|
4
7
|
*
|
|
5
8
|
*/
|
|
@@ -22,6 +25,21 @@ export interface ProfiledEvent extends Event {
|
|
|
22
25
|
* Creates a profiling event envelope from a Sentry event.
|
|
23
26
|
*/
|
|
24
27
|
export declare function createProfilePayload(profile_id: string, start_timestamp: number | undefined, processed_profile: JSSelfProfile, event: ProfiledEvent): Profile;
|
|
28
|
+
/**
|
|
29
|
+
* Create a profile chunk envelope item
|
|
30
|
+
*/
|
|
31
|
+
export declare function createProfileChunkPayload(jsSelfProfile: JSSelfProfile, client: Client, profilerId?: string): ProfileChunk;
|
|
32
|
+
/**
|
|
33
|
+
* Validate a profile chunk against the Sample Format V2 requirements.
|
|
34
|
+
* https://develop.sentry.dev/sdk/telemetry/profiles/sample-format-v2/
|
|
35
|
+
* - Presence of samples, stacks, frames
|
|
36
|
+
* - Required metadata fields
|
|
37
|
+
*/
|
|
38
|
+
export declare function validateProfileChunk(chunk: ProfileChunk): {
|
|
39
|
+
valid: true;
|
|
40
|
+
} | {
|
|
41
|
+
reason: string;
|
|
42
|
+
};
|
|
25
43
|
/**
|
|
26
44
|
*
|
|
27
45
|
*/
|
|
@@ -62,7 +80,15 @@ export declare function startJSSelfProfile(): JSSelfProfiler | undefined;
|
|
|
62
80
|
/**
|
|
63
81
|
* Determine if a profile should be profiled.
|
|
64
82
|
*/
|
|
65
|
-
export declare function
|
|
83
|
+
export declare function shouldProfileSpanLegacy(span: Span): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Determine if a profile should be created for the current session (lifecycle profiling mode).
|
|
86
|
+
*/
|
|
87
|
+
export declare function shouldProfileSession(options: BrowserOptions): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Checks if legacy profiling is configured.
|
|
90
|
+
*/
|
|
91
|
+
export declare function hasLegacyProfiling(options: BrowserOptions): boolean;
|
|
66
92
|
/**
|
|
67
93
|
* Creates a profiling envelope item, if the profile does not pass validation, returns null.
|
|
68
94
|
* @param event
|
|
@@ -81,4 +107,8 @@ export declare function takeProfileFromGlobalCache(profile_id: string): JSSelfPr
|
|
|
81
107
|
* Adds profile to global cache and evicts the oldest profile if the cache is full.
|
|
82
108
|
*/
|
|
83
109
|
export declare function addProfileToGlobalCache(profile_id: string, profile: JSSelfProfile): void;
|
|
110
|
+
/**
|
|
111
|
+
* Attaches the profiled thread information to the event's trace context.
|
|
112
|
+
*/
|
|
113
|
+
export declare function attachProfiledThreadToEvent(event: Event): Event;
|
|
84
114
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/profiling/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/profiling/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserTracingIntegration.d.ts","sourceRoot":"","sources":["../../../../src/tracing/browserTracingIntegration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EAEN,eAAe,EACf,gBAAgB,EAChB,IAAI,EACJ,gBAAgB,EAEjB,MAAM,cAAc,CAAC;AA6CtB,eAAO,MAAM,8BAA8B,mBAAmB,CAAC;AAO/D,8CAA8C;AAC9C,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;OAIG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;;OAMG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAElC;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,2BAA2B,EAAE,OAAO,CAAC;IAErC;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,mBAAmB,EAAE,KAAK,CAAC,gBAAgB,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,MAAM,CAAC,CAAC;IAE3G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,yBAAyB,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAElD;;;;;OAKG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,iBAAiB,EAAE,WAAW,GAAG,iBAAiB,GAAG,KAAK,CAAC;IAE3D;;;;;;;;;;;;;;OAcG;IACH,uBAAuB,EAAE,OAAO,CAAC;IAEjC;;;;;;;;;;;;;;OAcG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAEhC;;;;OAIG;IACH,YAAY,EAAE,OAAO,CAAC;QACpB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,wBAAwB,EAAE,OAAO,CAAC;QAClC,wBAAwB,EAAE,OAAO,CAAC;KACnC,CAAC,CAAC;IAEH;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;IAElE;;;;;OAKG;IACH,0BAA0B,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE9D;;;;OAIG;IACH,kBAAkB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,GAAG,IAAI,CAAC;IAE3E;;OAEG;IACH,gBAAgB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5E;AAqBD;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,aAAc,
|
|
1
|
+
{"version":3,"file":"browserTracingIntegration.d.ts","sourceRoot":"","sources":["../../../../src/tracing/browserTracingIntegration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/tracing/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEN,eAAe,EACf,gBAAgB,EAEhB,IAAI,EACL,MAAM,cAAc,CAAC;AA+BtB,0CAA0C;AAC1C,MAAM,WAAW,6BAA6B;IAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAEjD;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;;;OAQG;IACH,2BAA2B,EAAE,OAAO,CAAC;IAErC;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,0BAA0B,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE9D;;OAEG;IACH,kBAAkB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,GAAG,IAAI,CAAC;IAE3E;;OAEG;IACH,gBAAgB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5E;AAKD,eAAO,MAAM,oCAAoC,EAAE,6BAKlD,CAAC;AAEF,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/tracing/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEN,eAAe,EACf,gBAAgB,EAEhB,IAAI,EACL,MAAM,cAAc,CAAC;AA+BtB,0CAA0C;AAC1C,MAAM,WAAW,6BAA6B;IAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAEjD;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;;;;OAQG;IACH,2BAA2B,EAAE,OAAO,CAAC;IAErC;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,0BAA0B,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE9D;;OAEG;IACH,kBAAkB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,GAAG,IAAI,CAAC;IAE3E;;OAEG;IACH,gBAAgB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC5E;AAKD,eAAO,MAAM,oCAAoC,EAAE,6BAKlD,CAAC;AAEF,0DAA0D;AAC1D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAyGlH;AA2BD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,uBAAuB,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,SAAS,GACvD,OAAO,CAqCT"}
|
|
@@ -3,15 +3,9 @@
|
|
|
3
3
|
* while loading most of the code lazily only when it's needed.
|
|
4
4
|
*/
|
|
5
5
|
export declare const feedbackAsyncIntegration: import("@sentry/core").IntegrationFn<import("@sentry/core").Integration & {
|
|
6
|
-
attachTo(el:
|
|
7
|
-
createForm(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration
|
|
8
|
-
|
|
9
|
-
appendToDom: () => void;
|
|
10
|
-
removeFromDom: () => void;
|
|
11
|
-
open: () => void;
|
|
12
|
-
close: () => void;
|
|
13
|
-
}>;
|
|
14
|
-
createWidget(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration | undefined): import("@sentry-internal/feedback/build/npm/types/core/components/Actor").ActorComponent;
|
|
6
|
+
attachTo(el: Element | string, optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): () => void;
|
|
7
|
+
createForm(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): Promise<ReturnType<import("@sentry/core").FeedbackModalIntegration["createDialog"]>>;
|
|
8
|
+
createWidget(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): import("@sentry-internal/feedback/build/npm/types/core/components/Actor").ActorComponent;
|
|
15
9
|
remove(): void;
|
|
16
10
|
}>;
|
|
17
11
|
//# sourceMappingURL=feedbackAsync.d.ts.map
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
/** Add a widget to capture user feedback to your application. */
|
|
2
2
|
export declare const feedbackSyncIntegration: import("@sentry/core").IntegrationFn<import("@sentry/core").Integration & {
|
|
3
|
-
attachTo(el:
|
|
4
|
-
createForm(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration
|
|
5
|
-
|
|
6
|
-
appendToDom: () => void;
|
|
7
|
-
removeFromDom: () => void;
|
|
8
|
-
open: () => void;
|
|
9
|
-
close: () => void;
|
|
10
|
-
}>;
|
|
11
|
-
createWidget(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration | undefined): import("@sentry-internal/feedback/build/npm/types/core/components/Actor").ActorComponent;
|
|
3
|
+
attachTo(el: Element | string, optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): () => void;
|
|
4
|
+
createForm(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): Promise<ReturnType<import("@sentry/core").FeedbackModalIntegration["createDialog"]>>;
|
|
5
|
+
createWidget(optionOverrides?: import("@sentry-internal/feedback/build/npm/types/core/types").OverrideFeedbackConfiguration): import("@sentry-internal/feedback/build/npm/types/core/components/Actor").ActorComponent;
|
|
12
6
|
remove(): void;
|
|
13
7
|
}>;
|
|
14
8
|
//# sourceMappingURL=feedbackSync.d.ts.map
|
|
@@ -1,33 +1,6 @@
|
|
|
1
1
|
import { Mechanism, WrappedFunction } from '@sentry/core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
userAgent?: string | undefined;
|
|
5
|
-
maxTouchPoints?: number | undefined;
|
|
6
|
-
} | undefined;
|
|
7
|
-
console: Console;
|
|
8
|
-
PerformanceObserver?: any;
|
|
9
|
-
Sentry?: any;
|
|
10
|
-
onerror?: {
|
|
11
|
-
(event: string | object, source?: string | undefined, lineno?: number | undefined, colno?: number | undefined, error?: Error | undefined): any;
|
|
12
|
-
__SENTRY_INSTRUMENTED__?: true | undefined;
|
|
13
|
-
} | undefined;
|
|
14
|
-
onunhandledrejection?: {
|
|
15
|
-
(event: unknown): boolean;
|
|
16
|
-
__SENTRY_INSTRUMENTED__?: true | undefined;
|
|
17
|
-
} | undefined;
|
|
18
|
-
SENTRY_ENVIRONMENT?: string | undefined;
|
|
19
|
-
SENTRY_DSN?: string | undefined;
|
|
20
|
-
SENTRY_RELEASE?: {
|
|
21
|
-
id?: string | undefined;
|
|
22
|
-
} | undefined;
|
|
23
|
-
SENTRY_SDK_SOURCE?: import("@sentry/core").SdkSource | undefined;
|
|
24
|
-
_sentryDebugIds?: Record<string, string> | undefined;
|
|
25
|
-
_debugIds?: Record<string, string> | undefined;
|
|
26
|
-
_sentryModuleMetadata?: Record<string, any> | undefined;
|
|
27
|
-
_sentryEsmLoaderHookRegistered?: boolean | undefined;
|
|
28
|
-
_sentryInjectLoaderHookRegister?: (() => void) | undefined;
|
|
29
|
-
_sentryInjectLoaderHookRegistered?: boolean | undefined;
|
|
30
|
-
} & import("@sentry/core").Carrier & Window;
|
|
2
|
+
import { GLOBAL_OBJ } from '@sentry/core';
|
|
3
|
+
export declare const WINDOW: typeof GLOBAL_OBJ & Window;
|
|
31
4
|
/**
|
|
32
5
|
* @hidden
|
|
33
6
|
*/
|
|
@@ -29,5 +29,4 @@ export { growthbookIntegration } from './integrations/featureFlags/growthbook';
|
|
|
29
29
|
export { statsigIntegration } from './integrations/featureFlags/statsig';
|
|
30
30
|
export { diagnoseSdkConnectivity } from './diagnose-sdk';
|
|
31
31
|
export { webWorkerIntegration, registerWebWorker } from './integrations/webWorker';
|
|
32
|
-
export { spanStreamingIntegration } from './integrations/spanstreaming';
|
|
33
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Client, Span } from '@sentry/core';
|
|
2
|
+
/**
|
|
3
|
+
* Browser trace-lifecycle profiler (UI Profiling / Profiling V2):
|
|
4
|
+
* - Starts when the first sampled root span starts
|
|
5
|
+
* - Stops when the last sampled root span ends
|
|
6
|
+
* - While running, periodically stops and restarts the JS self-profiling API to collect chunks
|
|
7
|
+
*
|
|
8
|
+
* Profiles are emitted as standalone `profile_chunk` envelopes either when:
|
|
9
|
+
* - there are no more sampled root spans, or
|
|
10
|
+
* - the 60s chunk timer elapses while profiling is running.
|
|
11
|
+
*/
|
|
12
|
+
export declare class BrowserTraceLifecycleProfiler {
|
|
13
|
+
private _client;
|
|
14
|
+
private _profiler;
|
|
15
|
+
private _chunkTimer;
|
|
16
|
+
private _activeRootSpanIds;
|
|
17
|
+
private _rootSpanTimeouts;
|
|
18
|
+
private _profilerId;
|
|
19
|
+
private _isRunning;
|
|
20
|
+
private _sessionSampled;
|
|
21
|
+
constructor();
|
|
22
|
+
/**
|
|
23
|
+
* Initialize the profiler with client and session sampling decision computed by the integration.
|
|
24
|
+
*/
|
|
25
|
+
initialize(client: Client, sessionSampled: boolean): void;
|
|
26
|
+
/**
|
|
27
|
+
* Handle an already-active root span at integration setup time.
|
|
28
|
+
*/
|
|
29
|
+
notifyRootSpanActive(rootSpan: Span): void;
|
|
30
|
+
/**
|
|
31
|
+
* Start profiling if not already running.
|
|
32
|
+
*/
|
|
33
|
+
start(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Stop profiling; final chunk will be collected and sent.
|
|
36
|
+
*/
|
|
37
|
+
stop(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Resets profiling information from scope and resets running state
|
|
40
|
+
*/
|
|
41
|
+
private _resetProfilerInfo;
|
|
42
|
+
/**
|
|
43
|
+
* Clear and reset all per-root-span timeouts.
|
|
44
|
+
*/
|
|
45
|
+
private _clearAllRootSpanTimeouts;
|
|
46
|
+
/**
|
|
47
|
+
* Start a profiler instance if needed.
|
|
48
|
+
*/
|
|
49
|
+
private _startProfilerInstance;
|
|
50
|
+
/**
|
|
51
|
+
* Schedule the next 60s chunk while running.
|
|
52
|
+
* Each tick collects a chunk and restarts the profiler.
|
|
53
|
+
* A chunk should be closed when there are no active root spans anymore OR when the maximum chunk interval is reached.
|
|
54
|
+
*/
|
|
55
|
+
private _startPeriodicChunking;
|
|
56
|
+
/**
|
|
57
|
+
* Handle timeout for a specific root span ID to avoid indefinitely running profiler if `spanEnd` never fires.
|
|
58
|
+
* If this was the last active root span, collect the current chunk and stop profiling.
|
|
59
|
+
*/
|
|
60
|
+
private _onRootSpanTimeout;
|
|
61
|
+
/**
|
|
62
|
+
* Stop the current profiler, convert and send a profile chunk.
|
|
63
|
+
*/
|
|
64
|
+
private _collectCurrentChunk;
|
|
65
|
+
/**
|
|
66
|
+
* Send a profile chunk as a standalone envelope.
|
|
67
|
+
*/
|
|
68
|
+
private _sendProfileChunk;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=traceLifecycleProfiler.d.ts.map
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { DebugImage, Envelope, Event, EventEnvelope, Profile, Span, ThreadCpuProfile } from '@sentry/core';
|
|
1
|
+
import { Client, DebugImage, Envelope, Event, EventEnvelope, Profile, ProfileChunk, Span, ThreadCpuProfile } from '@sentry/core';
|
|
2
|
+
import { BrowserOptions } from '../client';
|
|
2
3
|
import { JSSelfProfile, JSSelfProfiler } from './jsSelfProfiling';
|
|
4
|
+
export declare const PROFILER_THREAD_ID_STRING: string;
|
|
5
|
+
export declare const PROFILER_THREAD_NAME: string;
|
|
3
6
|
/**
|
|
4
7
|
*
|
|
5
8
|
*/
|
|
@@ -22,6 +25,21 @@ export interface ProfiledEvent extends Event {
|
|
|
22
25
|
* Creates a profiling event envelope from a Sentry event.
|
|
23
26
|
*/
|
|
24
27
|
export declare function createProfilePayload(profile_id: string, start_timestamp: number | undefined, processed_profile: JSSelfProfile, event: ProfiledEvent): Profile;
|
|
28
|
+
/**
|
|
29
|
+
* Create a profile chunk envelope item
|
|
30
|
+
*/
|
|
31
|
+
export declare function createProfileChunkPayload(jsSelfProfile: JSSelfProfile, client: Client, profilerId?: string): ProfileChunk;
|
|
32
|
+
/**
|
|
33
|
+
* Validate a profile chunk against the Sample Format V2 requirements.
|
|
34
|
+
* https://develop.sentry.dev/sdk/telemetry/profiles/sample-format-v2/
|
|
35
|
+
* - Presence of samples, stacks, frames
|
|
36
|
+
* - Required metadata fields
|
|
37
|
+
*/
|
|
38
|
+
export declare function validateProfileChunk(chunk: ProfileChunk): {
|
|
39
|
+
valid: true;
|
|
40
|
+
} | {
|
|
41
|
+
reason: string;
|
|
42
|
+
};
|
|
25
43
|
/**
|
|
26
44
|
*
|
|
27
45
|
*/
|
|
@@ -62,7 +80,15 @@ export declare function startJSSelfProfile(): JSSelfProfiler | undefined;
|
|
|
62
80
|
/**
|
|
63
81
|
* Determine if a profile should be profiled.
|
|
64
82
|
*/
|
|
65
|
-
export declare function
|
|
83
|
+
export declare function shouldProfileSpanLegacy(span: Span): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Determine if a profile should be created for the current session (lifecycle profiling mode).
|
|
86
|
+
*/
|
|
87
|
+
export declare function shouldProfileSession(options: BrowserOptions): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Checks if legacy profiling is configured.
|
|
90
|
+
*/
|
|
91
|
+
export declare function hasLegacyProfiling(options: BrowserOptions): boolean;
|
|
66
92
|
/**
|
|
67
93
|
* Creates a profiling envelope item, if the profile does not pass validation, returns null.
|
|
68
94
|
* @param event
|
|
@@ -81,4 +107,8 @@ export declare function takeProfileFromGlobalCache(profile_id: string): JSSelfPr
|
|
|
81
107
|
* Adds profile to global cache and evicts the oldest profile if the cache is full.
|
|
82
108
|
*/
|
|
83
109
|
export declare function addProfileToGlobalCache(profile_id: string, profile: JSSelfProfile): void;
|
|
110
|
+
/**
|
|
111
|
+
* Attaches the profiled thread information to the event's trace context.
|
|
112
|
+
*/
|
|
113
|
+
export declare function attachProfiledThreadToEvent(event: Event): Event;
|
|
84
114
|
//# sourceMappingURL=utils.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sentry/browser",
|
|
3
|
-
"version": "10.21.0
|
|
3
|
+
"version": "10.21.0",
|
|
4
4
|
"description": "Official Sentry SDK for browsers",
|
|
5
5
|
"repository": "git://github.com/getsentry/sentry-javascript.git",
|
|
6
6
|
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/browser",
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@sentry-internal/browser-utils": "10.21.0
|
|
43
|
-
"@sentry-internal/feedback": "10.21.0
|
|
44
|
-
"@sentry-internal/replay": "10.21.0
|
|
45
|
-
"@sentry-internal/replay-canvas": "10.21.0
|
|
46
|
-
"@sentry/core": "10.21.0
|
|
42
|
+
"@sentry-internal/browser-utils": "10.21.0",
|
|
43
|
+
"@sentry-internal/feedback": "10.21.0",
|
|
44
|
+
"@sentry-internal/replay": "10.21.0",
|
|
45
|
+
"@sentry-internal/replay-canvas": "10.21.0",
|
|
46
|
+
"@sentry/core": "10.21.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@sentry-internal/integration-shims": "10.21.0
|
|
49
|
+
"@sentry-internal/integration-shims": "10.21.0",
|
|
50
50
|
"fake-indexeddb": "^4.0.1"
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|