@sentry/types
- Version 8.27.0
- Published
- 331 kB
- No dependencies
- MIT license
Install
npm i @sentry/types
yarn add @sentry/types
pnpm add @sentry/types
Overview
Types for all Sentry JavaScript SDKs
Index
Interfaces
Client
- addEventProcessor()
- addIntegration()
- captureCheckIn()
- captureEvent()
- captureException()
- captureMessage()
- captureSession()
- close()
- emit()
- eventFromException()
- eventFromMessage()
- flush()
- getDsn()
- getEventProcessors()
- getIntegrationByName()
- getOptions()
- getSdkMetadata()
- getTransport()
- init()
- on()
- recordDroppedEvent()
- sendEnvelope()
- sendEvent()
- sendSession()
ClientOptions
- allowUrls
- attachStacktrace
- autoSessionTracking
- beforeBreadcrumb
- beforeSend
- beforeSendSpan
- beforeSendTransaction
- debug
- denyUrls
- dist
- dsn
- enabled
- enableTracing
- environment
- ignoreErrors
- ignoreTransactions
- initialScope
- integrations
- maxBreadcrumbs
- maxValueLength
- normalizeDepth
- normalizeMaxBreadth
- parentSpanIsAlwaysRootSpan
- release
- sampleRate
- sendClientReports
- sendDefaultPii
- shutdownTimeout
- stackParser
- tracePropagationTargets
- tracesSampler
- tracesSampleRate
- transport
- transportOptions
- tunnel
DeviceContext
- arch
- battery_level
- battery_status
- boot_time
- brand
- charging
- cpu_description
- device_type
- device_unique_identifier
- external_free_storage
- external_storage_size
- family
- free_memory
- free_storage
- low_memory
- manufacturer
- memory_size
- model
- model_id
- name
- online
- orientation
- processor_count
- processor_frequency
- screen_density
- screen_dpi
- screen_height_pixels
- screen_resolution
- screen_width_pixels
- simulator
- storage_size
- supports_accelerometer
- supports_audio
- supports_gyroscope
- supports_location_service
- supports_vibration
- usable_memory
Scope
- addAttachment()
- addBreadcrumb()
- addEventProcessor()
- addScopeListener()
- captureEvent()
- captureException()
- captureMessage()
- clear()
- clearAttachments()
- clearBreadcrumbs()
- clone()
- getClient()
- getLastBreadcrumb()
- getPropagationContext()
- getRequestSession()
- getScopeData()
- getSession()
- getUser()
- lastEventId()
- setClient()
- setContext()
- setExtra()
- setExtras()
- setFingerprint()
- setLastEventId()
- setLevel()
- setPropagationContext()
- setRequestSession()
- setSDKProcessingMetadata()
- setSession()
- setTag()
- setTags()
- setTransactionName()
- setUser()
- update()
Type Aliases
- AttachmentItem
- BaseEnvelopeHeaders
- BaseEnvelopeItemHeaders
- BrowserClientProfilingOptions
- BrowserClientReplayOptions
- CaptureContext
- CheckIn
- CheckInEnvelope
- CheckInItem
- ClientReport
- ClientReportEnvelope
- ClientReportItem
- ConsoleLevel
- Context
- DataCategory
- DebugImage
- DsnLike
- DsnProtocol
- DurationUnit
- DynamicSamplingContext
- Envelope
- EnvelopeItem
- EnvelopeItemType
- EventDropReason
- EventEnvelope
- EventEnvelopeHeaders
- EventItem
- EventType
- Extra
- Extras
- FeedbackFormData
- FeedbackItem
- FractionUnit
- FrameId
- HandlerDataUnhandledRejection
- HttpHeaderValue
- InformationUnit
- IntegrationFn
- Measurements
- MeasurementUnit
- MetricSummary
- NoneUnit
- Outcome
- ParameterizedString
- PolymorphicRequest
- Primitive
- ProfileChunkEnvelope
- ProfileChunkItem
- ProfileItem
- QueryParams
- ReplayEnvelope
- ReplayRecordingData
- ReplayRecordingMode
- RequestSessionStatus
- SanitizedRequestData
- SendFeedback
- SessionContext
- SessionEnvelope
- SessionItem
- SessionStatus
- SeverityLevel
- SpanAttributes
- SpanAttributeValue
- SpanEnvelope
- SpanItem
- SpanOrigin
- SpanTimeInput
- StackId
- StackLineParser
- StackLineParserFn
- StackParser
- StatsdEnvelope
- StatsdItem
- ThreadCpuFrame
- ThreadCpuStack
- ThreadId
- TraceFlag
- TracePropagationTargets
- TransactionSource
- TransportMakeRequestResponse
- TransportRequest
- TransportRequestExecutor
- UserFeedbackItem
- ViewHierarchyData
- ViewHierarchyWindow
Interfaces
interface AggregationCounts
interface AggregationCounts {}
interface AppContext
interface AppContext extends Record<string, unknown> {}
property app_identifier
app_identifier?: string;
property app_memory
app_memory?: number;
property app_name
app_name?: string;
property app_start_time
app_start_time?: string;
property app_version
app_version?: string;
property build_type
build_type?: string;
property free_memory
free_memory?: number;
interface Attachment
interface Attachment {}
An attachment to an event. This is used to upload arbitrary data to Sentry.
Please take care to not add sensitive information in attachments.
https://develop.sentry.dev/sdk/envelopes/#attachment
property attachmentType
attachmentType?: AttachmentType;
The type of the attachment. Defaults to
event.attachment
if not specified.
property contentType
contentType?: string;
The content type of the attachment payload. Defaults to
application/octet-stream
if not specified.Any valid [media type](https://www.iana.org/assignments/media-types/media-types.xhtml) is allowed.
property data
data: string | Uint8Array;
The attachment data. Can be a string or a binary data (byte array)
property filename
filename: string;
The name of the uploaded file without a path component
interface BaseTransportOptions
interface BaseTransportOptions extends InternalBaseTransportOptions {}
property url
url: string;
interface Breadcrumb
interface Breadcrumb {}
Sentry uses breadcrumbs to create a trail of events that happened prior to an issue. These events are very similar to traditional logs but can record more rich structured data.
https://develop.sentry.dev/sdk/event-payloads/breadcrumbs/
property category
category?: string;
Typically it is a module name or a descriptive string. For instance,
ui.click
could be used to indicate that a click happened in the UI or flask could be used to indicate that the event originated in the Flask framework. Internally we render some crumbs' color and icon based on the provided category. For more information, see the description of recognized breadcrumb types. A dotted string indicating what the crumb is or from where it comes. https://develop.sentry.dev/sdk/event-payloads/breadcrumbs/#breadcrumb-types
property data
data?: { [key: string]: any;};
Contains a dictionary whose contents depend on the breadcrumb type. Additional parameters that are unsupported by the type are rendered as a key/value table.
Arbitrary data associated with this breadcrumb.
property event_id
event_id?: string;
property level
level?: SeverityLevel;
Allowed values are, from highest to lowest:
fatal
,error
,warning
,info
, anddebug
. Levels are used in the UI to emphasize and deemphasize the crumb. The default isinfo
.This defines the severity level of the breadcrumb.
property message
message?: string;
If a message is provided, it is rendered as text with all whitespace preserved.
Human-readable message for the breadcrumb.
property timestamp
timestamp?: number;
The format is a numeric (integer or float) value representing the number of seconds that have elapsed since the Unixepoch. Breadcrumbs are most useful when they include a timestamp, as it creates a timeline leading up to an event expection/error.
The API supports a string as defined in RFC 3339, but the SDKs only support a numeric value for now.
A timestamp representing when the breadcrumb occurred. https://develop.sentry.dev/sdk/event-payloads/breadcrumbs/#:~:text=is%20info.-,timestamp,-(recommended)
property type
type?: string;
By default, all breadcrumbs are recorded as default, which makes them appear as a Debug entry, but Sentry provides other types that influence how the breadcrumbs are rendered. For more information, see the description of recognized breadcrumb types.
The type of breadcrumb. https://develop.sentry.dev/sdk/event-payloads/breadcrumbs/#breadcrumb-types
interface BreadcrumbHint
interface BreadcrumbHint {}
JSDoc
index signature
[key: string]: any;
interface Client
interface Client<O extends ClientOptions = ClientOptions> {}
User-Facing Sentry SDK Client.
This interface contains all methods to interface with the SDK once it has been installed. It allows to send events to Sentry, record breadcrumbs and set a context included in every event. Since the SDK mutates its environment, there will only be one instance during runtime.
method addEventProcessor
addEventProcessor: (eventProcessor: EventProcessor) => void;
Adds an event processor that applies to any event processed by this client.
method addIntegration
addIntegration: (integration: Integration) => void;
Add an integration to the client. This can be used to e.g. lazy load integrations. In most cases, this should not be necessary, and you're better off just passing the integrations via
integrations: []
at initialization time. However, if you find the need to conditionally load & add an integration, you can useaddIntegration
to do so.
method captureCheckIn
captureCheckIn: ( checkIn: CheckIn, monitorConfig?: MonitorConfig, scope?: Scope) => string;
Create a cron monitor check in and send it to Sentry. This method is not available on all clients.
Parameter checkIn
An object that describes a check in.
Parameter upsertMonitorConfig
An optional object that describes a monitor config. Use this if you want to create a monitor automatically when sending a check in.
Parameter scope
An optional scope containing event metadata.
Returns
A string representing the id of the check in.
method captureEvent
captureEvent: (event: Event, hint?: EventHint, currentScope?: Scope) => string;
Captures a manually created event and sends it to Sentry.
Unlike
captureEvent
exported from every SDK, this method requires that you pass it the current scope.Parameter event
The event to send to Sentry.
Parameter hint
May contain additional information about the original exception.
Parameter currentScope
An optional scope containing event metadata.
Returns
The event id
method captureException
captureException: ( exception: any, hint?: EventHint, currentScope?: Scope) => string;
Captures an exception event and sends it to Sentry.
Unlike
captureException
exported from every SDK, this method requires that you pass it the current scope.Parameter exception
An exception-like object.
Parameter hint
May contain additional information about the original exception.
Parameter currentScope
An optional scope containing event metadata.
Returns
The event id
method captureMessage
captureMessage: ( message: string, level?: SeverityLevel, hint?: EventHint, currentScope?: Scope) => string;
Captures a message event and sends it to Sentry.
Unlike
captureMessage
exported from every SDK, this method requires that you pass it the current scope.Parameter message
The message to send to Sentry.
Parameter level
Define the level of the message.
Parameter hint
May contain additional information about the original exception.
Parameter currentScope
An optional scope containing event metadata.
Returns
The event id
method captureSession
captureSession: (session: Session) => void;
Captures a session
Parameter session
Session to be delivered
method close
close: (timeout?: number) => PromiseLike<boolean>;
Flush the event queue and set the client to
enabled = false
. See Client.flush.Parameter timeout
Maximum time in ms the client should wait before shutting down. Omitting this parameter will cause the client to wait until all events are sent before disabling itself.
Returns
A promise which resolves to
true
if the flush completes successfully before the timeout, orfalse
if it doesn't.
method emit
emit: { (hook: 'spanStart', span: Span): void; ( hook: 'beforeSampling', samplingData: { spanAttributes: SpanAttributes; spanName: string; parentSampled?: boolean; parentContext?: SpanContextData; }, samplingDecision: { decision: boolean } ): void; (hook: 'spanEnd', span: Span): void; (hook: 'idleSpanEnableAutoFinish', span: Span): void; (hook: 'beforeEnvelope', envelope: Envelope): void; (hook: 'applyFrameMetadata', event: Event): void; (hook: 'beforeSendEvent', event: Event, hint?: EventHint): void; (hook: 'preprocessEvent', event: Event, hint?: EventHint): void; ( hook: 'afterSendEvent', event: Event, sendResponse: TransportMakeRequestResponse ): void; ( hook: 'beforeAddBreadcrumb', breadcrumb: Breadcrumb, hint?: BreadcrumbHint ): void; (hook: 'createDsc', dsc: DynamicSamplingContext, rootSpan?: Span): void; ( hook: 'beforeSendFeedback', feedback: FeedbackEvent, options?: { includeReplay?: boolean } ): void; ( hook: 'startPageLoadSpan', options: StartSpanOptions, traceOptions?: { sentryTrace?: string; baggage?: string } ): void; (hook: 'startNavigationSpan', options: StartSpanOptions): void; (hook: 'flush'): void; (hook: 'close'): void;};
Fire a hook whener a span starts.
A hook that is called every time before a span is sampled.
Fire a hook whener a span ends.
Fire a hook indicating that an idle span is allowed to auto finish.
Fire a hook event before sending an event. This is called right before an event is sent and should not be used to mutate the event. Expects to be given an Event & EventHint as the second/third argument.
Fire a hook event to process events before they are passed to (global) event processors. Expects to be given an Event & EventHint as the second/third argument.
Fire a hook for when a breadcrumb is added. Expects the breadcrumb as second argument.
Fire a hook for when a DSC (Dynamic Sampling Context) is created. Expects the DSC as second argument.
Fire a hook event for after preparing a feedback event. Events to be given a feedback event as the second argument, and an optional options object as third argument.
Emit a hook event for browser tracing integrations to trigger a span start for a page load.
Emit a hook event for browser tracing integrations to trigger a span for a navigation.
Emit a hook event for client flush
Emit a hook event for client close
method eventFromException
eventFromException: (exception: any, hint?: EventHint) => PromiseLike<Event>;
Creates an Event from all inputs to
captureException
and non-primitive inputs tocaptureMessage
.
method eventFromMessage
eventFromMessage: ( message: ParameterizedString, level?: SeverityLevel, hint?: EventHint) => PromiseLike<Event>;
Creates an Event from primitive inputs to
captureMessage
.
method flush
flush: (timeout?: number) => PromiseLike<boolean>;
Wait for all events to be sent or the timeout to expire, whichever comes first.
Parameter timeout
Maximum time in ms the client should wait for events to be flushed. Omitting this parameter will cause the client to wait until all events are sent before resolving the promise.
Returns
A promise that will resolve with
true
if all events are sent before the timeout, orfalse
if there are still events in the queue when the timeout is reached.
method getDsn
getDsn: () => DsnComponents | undefined;
Returns the current Dsn.
method getEventProcessors
getEventProcessors: () => EventProcessor[];
Get all added event processors for this client.
method getIntegrationByName
getIntegrationByName: <T extends Integration = Integration>( name: string) => T | undefined;
Get the instance of the integration with the given name on the client, if it was added.
method getOptions
getOptions: () => O;
Returns the current options.
method getSdkMetadata
getSdkMetadata: () => SdkMetadata | undefined;
method getTransport
getTransport: () => Transport | undefined;
Returns the transport that is used by the client. Please note that the transport gets lazy initialized so it will only be there once the first event has been sent.
Returns
The transport.
method init
init: () => void;
Initialize this client. Call this after the client was set on a scope.
method on
on: { (hook: 'spanStart', callback: (span: Span) => void): () => void; ( hook: 'beforeSampling', callback: ( samplingData: { spanAttributes: SpanAttributes; spanName: string; parentSampled?: boolean; parentContext?: SpanContextData; }, samplingDecision: { decision: boolean } ) => void ): void; (hook: 'spanEnd', callback: (span: Span) => void): () => void; ( hook: 'idleSpanEnableAutoFinish', callback: (span: Span) => void ): () => void; (hook: 'beforeEnvelope', callback: (envelope: Envelope) => void): () => void; (hook: 'applyFrameMetadata', callback: (event: Event) => void): () => void; ( hook: 'beforeSendEvent', callback: (event: Event, hint?: EventHint) => void ): () => void; ( hook: 'preprocessEvent', callback: (event: Event, hint?: EventHint) => void ): () => void; ( hook: 'afterSendEvent', callback: ( event: Event, sendResponse: TransportMakeRequestResponse ) => void ): () => void; ( hook: 'beforeAddBreadcrumb', callback: (breadcrumb: Breadcrumb, hint?: BreadcrumbHint) => void ): () => void; ( hook: 'createDsc', callback: (dsc: DynamicSamplingContext, rootSpan?: Span) => void ): () => void; ( hook: 'beforeSendFeedback', callback: ( feedback: FeedbackEvent, options?: { includeReplay?: boolean } ) => void ): () => void; ( hook: 'startPageLoadSpan', callback: ( options: StartSpanOptions, traceOptions?: { sentryTrace?: string; baggage?: string } ) => void ): () => void; ( hook: 'startNavigationSpan', callback: (options: StartSpanOptions) => void ): () => void; (hook: 'flush', callback: () => void): () => void; (hook: 'close', callback: () => void): () => void;};
Register a callback for whenever a span is started. Receives the span as argument.
Returns
A function that, when executed, removes the registered callback.
Register a callback before span sampling runs. Receives a
samplingDecision
object argument with adecision
property that can be used to make a sampling decision that will be enforced, before any span sampling runs.Returns
A function that, when executed, removes the registered callback.
Register a callback for whenever a span is ended. Receives the span as argument.
Returns
A function that, when executed, removes the registered callback.
Register a callback for when an idle span is allowed to auto-finish.
Returns
A function that, when executed, removes the registered callback.
Register a callback for transaction start and finish.
Returns
A function that, when executed, removes the registered callback.
Register a callback that runs when stack frame metadata should be applied to an event.
Returns
A function that, when executed, removes the registered callback.
Register a callback for before sending an event. This is called right before an event is sent and should not be used to mutate the event. Receives an Event & EventHint as arguments.
Returns
A function that, when executed, removes the registered callback.
Register a callback for preprocessing an event, before it is passed to (global) event processors. Receives an Event & EventHint as arguments.
Returns
A function that, when executed, removes the registered callback.
Register a callback for when an event has been sent.
Returns
A function that, when executed, removes the registered callback.
Register a callback before a breadcrumb is added.
Returns
A function that, when executed, removes the registered callback.
Register a callback when a DSC (Dynamic Sampling Context) is created.
Returns
A function that, when executed, removes the registered callback.
Register a callback when a Feedback event has been prepared. This should be used to mutate the event. The options argument can hint about what kind of mutation it expects.
Returns
A function that, when executed, removes the registered callback.
A hook for the browser tracing integrations to trigger a span start for a page load.
Returns
A function that, when executed, removes the registered callback.
A hook for browser tracing integrations to trigger a span for a navigation.
Returns
A function that, when executed, removes the registered callback.
A hook that is called when the client is flushing
Returns
A function that, when executed, removes the registered callback.
A hook that is called when the client is closing
Returns
A function that, when executed, removes the registered callback.
method recordDroppedEvent
recordDroppedEvent: ( reason: EventDropReason, dataCategory: DataCategory, event?: Event) => void;
Record on the client that an event got dropped (ie, an event that will not be sent to sentry).
Parameter reason
The reason why the event got dropped.
Parameter category
The data category of the dropped event.
Parameter event
The dropped event.
method sendEnvelope
sendEnvelope: (envelope: Envelope) => PromiseLike<TransportMakeRequestResponse>;
Sends an envelope to Sentry
method sendEvent
sendEvent: (event: Event, hint?: EventHint) => void;
Submits the event to Sentry
method sendSession
sendSession: (session: Session | SessionAggregates) => void;
Submits the session to Sentry
interface ClientOptions
interface ClientOptions<TO extends BaseTransportOptions = BaseTransportOptions> {}
property allowUrls
allowUrls?: Array<string | RegExp>;
A pattern for error URLs which should exclusively be sent to Sentry. This is the opposite of Options.denyUrls. By default, all errors will be sent.
Requires the use of the
InboundFilters
integration.
property attachStacktrace
attachStacktrace?: boolean;
Attaches stacktraces to pure capture message / log integrations
property autoSessionTracking
autoSessionTracking?: boolean;
A flag enabling Sessions Tracking feature. By default, Sessions Tracking is enabled.
property beforeBreadcrumb
beforeBreadcrumb?: ( breadcrumb: Breadcrumb, hint?: BreadcrumbHint) => Breadcrumb | null;
A callback invoked when adding a breadcrumb, allowing to optionally modify it before adding it to future events.
Note that you must return a valid breadcrumb from this callback. If you do not wish to modify the breadcrumb, simply return it at the end. Returning null will cause the breadcrumb to be dropped.
Parameter breadcrumb
The breadcrumb as created by the SDK.
Returns
The breadcrumb that will be added | null.
property beforeSend
beforeSend?: ( event: ErrorEvent, hint: EventHint) => PromiseLike<ErrorEvent | null> | ErrorEvent | null;
An event-processing callback for error and message events, guaranteed to be invoked after all other event processors, which allows an event to be modified or dropped.
Note that you must return a valid event from this callback. If you do not wish to modify the event, simply return it at the end. Returning
null
will cause the event to be dropped.Parameter event
The error or message event generated by the SDK.
Parameter hint
Event metadata useful for processing.
Returns
A new event that will be sent | null.
property beforeSendSpan
beforeSendSpan?: (span: SpanJSON) => SpanJSON | null;
This function can be defined to modify or entirely drop a child span before it's sent. Returning
null
will cause this span to be dropped.Note that this function is only called for child spans and not for the root span (formerly known as transaction). If you want to modify or drop the root span, use Options.beforeSendTransaction instead.
Parameter span
The span generated by the SDK.
Returns
A new span that will be sent or null if the span should not be sent.
property beforeSendTransaction
beforeSendTransaction?: ( event: TransactionEvent, hint: EventHint) => PromiseLike<TransactionEvent | null> | TransactionEvent | null;
An event-processing callback for transaction events, guaranteed to be invoked after all other event processors. This allows an event to be modified or dropped before it's sent.
Note that you must return a valid event from this callback. If you do not wish to modify the event, simply return it at the end. Returning
null
will cause the event to be dropped.Parameter event
The error or message event generated by the SDK.
Parameter hint
Event metadata useful for processing.
Returns
A new event that will be sent | null.
property debug
debug?: boolean;
Enable debug functionality in the SDK itself
property denyUrls
denyUrls?: Array<string | RegExp>;
A pattern for error URLs which should not be sent to Sentry. To allow certain errors instead, use Options.allowUrls. By default, all errors will be sent.
Requires the use of the
InboundFilters
integration.
property dist
dist?: string;
Sets the distribution for all events
property dsn
dsn?: string;
The Dsn used to connect to Sentry and identify the project. If omitted, the SDK will not send any data to Sentry.
property enabled
enabled?: boolean;
Specifies whether this SDK should send events to Sentry. Defaults to true.
property enableTracing
enableTracing?: boolean;
If this is enabled, spans and trace data will be generated and captured. This will set the
tracesSampleRate
to the recommended default of1.0
iftracesSampleRate
is undefined. Note thattracesSampleRate
andtracesSampler
take precedence over this option.Deprecated
This option is deprecated and will be removed in the next major version. If you want to enable performance monitoring, please use the
tracesSampleRate
ortracesSampler
options instead. If you wan't to disable performance monitoring, remove thetracesSampler
andtracesSampleRate
options.
property environment
environment?: string;
The current environment of your application (e.g. "production").
property ignoreErrors
ignoreErrors?: Array<string | RegExp>;
A pattern for error messages which should not be sent to Sentry. By default, all errors will be sent.
property ignoreTransactions
ignoreTransactions?: Array<string | RegExp>;
A pattern for transaction names which should not be sent to Sentry. By default, all transactions will be sent.
property initialScope
initialScope?: CaptureContext;
Initial data to populate scope.
property integrations
integrations: Integration[];
List of integrations that should be installed after SDK was initialized.
property maxBreadcrumbs
maxBreadcrumbs?: number;
The maximum number of breadcrumbs sent with events. Defaults to 100. Sentry has a maximum payload size of 1MB and any events exceeding that payload size will be dropped.
property maxValueLength
maxValueLength?: number;
Maximum number of chars a single value can have before it will be truncated.
property normalizeDepth
normalizeDepth?: number;
Maximum number of levels that normalization algorithm will traverse in objects and arrays. Used when normalizing an event before sending, on all of the listed attributes: -
breadcrumbs.data
-user
-contexts
-extra
Defaults to3
. Set to0
to disable.
property normalizeMaxBreadth
normalizeMaxBreadth?: number;
Maximum number of properties or elements that the normalization algorithm will output in any single array or object included in the normalized event. Used when normalizing an event before sending, on all of the listed attributes: -
breadcrumbs.data
-user
-contexts
-extra
Defaults to1000
property parentSpanIsAlwaysRootSpan
parentSpanIsAlwaysRootSpan?: boolean;
If this is enabled, any spans started will always have their parent be the active root span, if there is any active span.
This is necessary because in some environments (e.g. browser), we cannot guarantee an accurate active span. Because we cannot properly isolate execution environments, you may get wrong results when using e.g. nested
startSpan()
calls.To solve this, in these environments we'll by default enable this option.
property release
release?: string;
The release identifier used when uploading respective source maps. Specify this value to allow Sentry to resolve the correct source maps when processing events.
property sampleRate
sampleRate?: number;
A global sample rate to apply to all events.
0.0 = 0% chance of a given event being sent (send no events) 1.0 = 100% chance of a given event being sent (send all events)
property sendClientReports
sendClientReports?: boolean;
Send SDK Client Reports. When calling
Sentry.init()
, this option defaults totrue
.
property sendDefaultPii
sendDefaultPii?: boolean;
Controls if potentially sensitive data should be sent to Sentry by default. Note that this only applies to data that the SDK is sending by default but not data that was explicitly set (e.g. by calling
Sentry.setUser()
).Defaults to
false
.NOTE: This option currently controls only a few data points in a selected set of SDKs. The goal for this option is to eventually control all sensitive data the SDK sets by default. However, this would be a breaking change so until the next major update this option only controls data points which were added in versions above
7.9.0
.
property shutdownTimeout
shutdownTimeout?: number;
Controls how many milliseconds to wait before shutting down. The default is SDK-specific but typically around 2 seconds. Setting this too low can cause problems for sending events from command line applications. Setting it too high can cause the application to block for users with network connectivity problems.
property stackParser
stackParser: StackParser;
A stack parser implementation By default, a stack parser is supplied for all supported platforms
property tracePropagationTargets
tracePropagationTargets?: TracePropagationTargets;
List of strings and/or Regular Expressions used to determine which outgoing requests will have
sentry-trace
andbaggage
headers attached.**Default:** If this option is not provided, tracing headers will be attached to all outgoing requests. If you are using a browser SDK, by default, tracing headers will only be attached to outgoing requests to the same origin.
**Disclaimer:** Carelessly setting this option in browser environments may result into CORS errors! Only attach tracing headers to requests to the same origin, or to requests to services you can control CORS headers of. Cross-origin requests, meaning requests to a different domain, for example a request to
https://api.example.com/
while you're onhttps://example.com/
, take special care. If you are attaching headers to cross-origin requests, make sure the backend handling the request returns a"Access-Control-Allow-Headers: sentry-trace, baggage"
header to ensure your requests aren't blocked.If you provide a
tracePropagationTargets
array, the entries you provide will be matched against the entire URL of the outgoing request. If you are using a browser SDK, the entries will also be matched against the pathname of the outgoing requests. This is so you can have matchers for relative requests, for example,/^\/api/
if you want to trace requests to your/api
routes on the same domain.If any of the two match any of the provided values, tracing headers will be attached to the outgoing request. Both, the string values, and the RegExes you provide in the array will match if they partially match the URL or pathname.
Examples: -
tracePropagationTargets: [/^\/api/]
and request tohttps://same-origin.com/api/posts
: - Tracing headers will be attached because the request is sent to the same origin and the regex matches the pathname "/api/posts". -tracePropagationTargets: [/^\/api/]
and request tohttps://different-origin.com/api/posts
: - Tracing headers will not be attached because the pathname will only be compared when the request target lives on the same origin. -tracePropagationTargets: [/^\/api/, 'https://external-api.com']
and request tohttps://external-api.com/v1/data
: - Tracing headers will be attached because the request URL matches the string'https://external-api.com'
.
property tracesSampler
tracesSampler?: (samplingContext: SamplingContext) => number | boolean;
Function to compute tracing sample rate dynamically and filter unwanted traces.
Tracing is enabled if either this or
tracesSampleRate
is defined. If both are defined,tracesSampleRate
is ignored.Will automatically be passed a context object of default and optional custom data. See Transaction.samplingContext and Hub.startTransaction.
Returns
A sample rate between 0 and 1 (0 drops the trace, 1 guarantees it will be sent). Returning
true
is equivalent to returning 1 and returningfalse
is equivalent to returning 0.
property tracesSampleRate
tracesSampleRate?: number;
Sample rate to determine trace sampling.
0.0 = 0% chance of a given trace being sent (send no traces) 1.0 = 100% chance of a given trace being sent (send all traces)
Tracing is enabled if either this or
tracesSampler
is defined. If both are defined,tracesSampleRate
is ignored.
property transport
transport: (transportOptions: TO) => Transport;
A function that takes transport options and returns the Transport object which is used to send events to Sentry. The function is invoked internally when the client is initialized.
property transportOptions
transportOptions?: Partial<TO>;
Options for the default transport that the SDK uses.
property tunnel
tunnel?: string;
A URL to an envelope tunnel endpoint. An envelope tunnel is an HTTP endpoint that accepts Sentry envelopes for forwarding. This can be used to force data through a custom server independent of the type of data.
interface CloudResourceContext
interface CloudResourceContext extends Record<string, unknown> {}
property ['cloud.account.id']
['cloud.account.id']?: string;
property ['cloud.availability_zone']
['cloud.availability_zone']?: string;
property ['cloud.platform']
['cloud.platform']?: string;
property ['cloud.provider']
['cloud.provider']?: string;
property ['cloud.region']
['cloud.region']?: string;
property ['host.id']
['host.id']?: string;
property ['host.type']
['host.type']?: string;
interface Contexts
interface Contexts extends Record<string, Context | undefined> {}
property app
app?: AppContext;
property cloud_resource
cloud_resource?: CloudResourceContext;
property culture
culture?: CultureContext;
property device
device?: DeviceContext;
property os
os?: OsContext;
property profile
profile?: ProfileContext;
property response
response?: ResponseContext;
property state
state?: StateContext;
property trace
trace?: TraceContext;
interface ContinuousThreadCpuProfile
interface ContinuousThreadCpuProfile {}
property frames
frames: ThreadCpuFrame[];
property queue_metadata
queue_metadata?: Record< string, { label: string; }>;
property samples
samples: ContinuousThreadCpuSample[];
property stacks
stacks: ThreadCpuStack[];
property thread_metadata
thread_metadata: Record< ThreadId, { name?: string; priority?: number; }>;
interface CultureContext
interface CultureContext extends Record<string, unknown> {}
property calendar
calendar?: string;
property display_name
display_name?: string;
property is_24_hour_format
is_24_hour_format?: boolean;
property locale
locale?: string;
property timezone
timezone?: string;
interface CustomSamplingContext
interface CustomSamplingContext {}
Context data passed by the user when starting a transaction, to be used by the tracesSampler method.
index signature
[key: string]: any;
interface DebugMeta
interface DebugMeta {}
Holds meta information to customize the behavior of Sentry's server-side event processing.
property images
images?: Array<DebugImage>;
interface DeviceContext
interface DeviceContext extends Record<string, unknown> {}
property arch
arch?: string;
property battery_level
battery_level?: number;
property battery_status
battery_status?: string;
property boot_time
boot_time?: string;
property brand
brand?: string;
property charging
charging?: boolean;
property cpu_description
cpu_description?: string;
property device_type
device_type?: string;
property device_unique_identifier
device_unique_identifier?: string;
property external_free_storage
external_free_storage?: number;
property external_storage_size
external_storage_size?: number;
property family
family?: string;
property free_memory
free_memory?: number;
property free_storage
free_storage?: number;
property low_memory
low_memory?: boolean;
property manufacturer
manufacturer?: string;
property memory_size
memory_size?: number;
property model
model?: string;
property model_id
model_id?: string;
property name
name?: string;
property online
online?: boolean;
property orientation
orientation?: 'portrait' | 'landscape';
property processor_count
processor_count?: number;
property processor_frequency
processor_frequency?: number;
property screen_density
screen_density?: number;
property screen_dpi
screen_dpi?: number;
property screen_height_pixels
screen_height_pixels?: number;
property screen_resolution
screen_resolution?: string;
property screen_width_pixels
screen_width_pixels?: number;
property simulator
simulator?: boolean;
property storage_size
storage_size?: number;
property supports_accelerometer
supports_accelerometer?: boolean;
property supports_audio
supports_audio?: boolean;
property supports_gyroscope
supports_gyroscope?: boolean;
property supports_location_service
supports_location_service?: boolean;
property supports_vibration
supports_vibration?: boolean;
property usable_memory
usable_memory?: number;
interface DsnComponents
interface DsnComponents {}
Primitive components of a Dsn.
property host
host: string;
Hostname of the Sentry instance.
property pass
pass?: string;
Private authorization key (deprecated, optional).
property path
path?: string;
Sub path/
property port
port?: string;
Port of the Sentry instance.
property projectId
projectId: string;
Project ID
property protocol
protocol: DsnProtocol;
Protocol used to connect to Sentry.
property publicKey
publicKey?: string;
Public authorization key.
interface ErrorEvent
interface ErrorEvent extends Event {}
property type
type: undefined;
interface Event
interface Event {}
An event to be sent to Sentry.
property breadcrumbs
breadcrumbs?: Breadcrumb[];
property contexts
contexts?: Contexts;
property debug_meta
debug_meta?: DebugMeta;
property dist
dist?: string;
property environment
environment?: string;
property event_id
event_id?: string;
property exception
exception?: { values?: Exception[];};
property extra
extra?: Extras;
property fingerprint
fingerprint?: string[];
property level
level?: SeverityLevel;
property logentry
logentry?: { message?: string; params?: string[];};
property logger
logger?: string;
property measurements
measurements?: Measurements;
property message
message?: string;
property modules
modules?: { [key: string]: string;};
property platform
platform?: string;
property release
release?: string;
property request
request?: Request;
property sdk
sdk?: SdkInfo;
property sdkProcessingMetadata
sdkProcessingMetadata?: { [key: string]: any;};
property server_name
server_name?: string;
property spans
spans?: SpanJSON[];
property start_timestamp
start_timestamp?: number;
property tags
tags?: { [key: string]: Primitive;};
property threads
threads?: { values: Thread[];};
property timestamp
timestamp?: number;
property transaction
transaction?: string;
property transaction_info
transaction_info?: { source: TransactionSource;};
property type
type?: EventType;
property user
user?: User;
interface EventHint
interface EventHint {}
JSDoc
property attachments
attachments?: Attachment[];
property captureContext
captureContext?: CaptureContext;
property data
data?: any;
property event_id
event_id?: string;
property integrations
integrations?: string[];
property mechanism
mechanism?: Partial<Mechanism>;
property originalException
originalException?: unknown;
property syntheticException
syntheticException?: Error | null;
interface EventProcessor
interface EventProcessor {}
Event processors are used to change the event before it will be sent. We strongly advise to make this function sync. Returning a PromiseLike<Event | null> will work just fine, but better be sure that you know what you are doing. Event processing will be deferred until your Promise is resolved.
property id
id?: string;
call signature
(event: Event, hint: EventHint): PromiseLike<Event | null> | Event | null;
interface Exception
interface Exception {}
JSDoc
interface ExtendedError
interface ExtendedError extends Error {}
Just an Error object with arbitrary attributes attached to it.
index signature
[key: string]: any;
interface ExtractedNodeRequestData
interface ExtractedNodeRequestData {}
Data extracted from an incoming request to a node server
property cookies
cookies?: { [key: string]: string;};
String representing the cookies sent along with the request
property data
data?: string;
Any data sent in the request's body, as a JSON string
property headers
headers?: { [key: string]: string;};
Specific headers from the request
property method
method?: string;
The request's method
property query_string
query_string?: QueryParams;
The request's query params
property url
url?: string;
The request's URL, including query string
index signature
[key: string]: any;
interface FeedbackEvent
interface FeedbackEvent extends Event {}
NOTE: These types are still considered Alpha and subject to change.
interface FeedbackInternalOptions
interface FeedbackInternalOptions extends FeedbackGeneralConfiguration, FeedbackThemeConfiguration, FeedbackTextConfiguration, FeedbackCallbacks {}
The integration's internal
options
member where every value should be set
interface FeedbackModalIntegration
interface FeedbackModalIntegration extends Integration {}
property createDialog
createDialog: (props: CreateDialogProps) => FeedbackDialog;
interface FeedbackScreenshotIntegration
interface FeedbackScreenshotIntegration extends Integration {}
property createInput
createInput: (props: CreateInputProps) => FeedbackScreenshotInput;
interface FetchBreadcrumbData
interface FetchBreadcrumbData {}
property method
method: string;
property request_body_size
request_body_size?: number;
property response_body_size
response_body_size?: number;
property status_code
status_code?: number;
property url
url: string;
interface FetchBreadcrumbHint
interface FetchBreadcrumbHint {}
property data
data?: unknown;
property endTimestamp
endTimestamp: number;
property input
input: any[];
property response
response?: unknown;
property startTimestamp
startTimestamp: number;
interface FinishedCheckIn
interface FinishedCheckIn {}
property checkInId
checkInId: SerializedCheckIn['check_in_id'];
property duration
duration?: SerializedCheckIn['duration'];
property monitorSlug
monitorSlug: SerializedCheckIn['monitor_slug'];
property status
status: 'ok' | 'error';
interface HandlerDataConsole
interface HandlerDataConsole {}
interface HandlerDataDom
interface HandlerDataDom {}
interface HandlerDataError
interface HandlerDataError {}
interface HandlerDataFetch
interface HandlerDataFetch {}
property args
args: any[];
property endTimestamp
endTimestamp?: number;
property error
error?: unknown;
property fetchData
fetchData: SentryFetchData;
property response
response?: { readonly ok: boolean; readonly status: number; readonly url: string; headers: WebFetchHeaders;};
property startTimestamp
startTimestamp: number;
interface HandlerDataHistory
interface HandlerDataHistory {}
interface HandlerDataXhr
interface HandlerDataXhr {}
property endTimestamp
endTimestamp?: number;
property startTimestamp
startTimestamp?: number;
property xhr
xhr: SentryWrappedXMLHttpRequest;
interface Hub
interface Hub {}
Internal class used to make sure we always have the latest internal functions working in case we have a version conflict.
Deprecated
This interface will be removed in a future major version of the SDK in favour of
Scope
andClient
objects and APIs.Most APIs referencing
Hub
are themselves and will be removed in version 8 of the SDK. More information: - [Migration Guide](https://github.com/getsentry/sentry-javascript/blob/develop/MIGRATION.md#deprecate-hub)
method addBreadcrumb
addBreadcrumb: (breadcrumb: Breadcrumb, hint?: BreadcrumbHint) => void;
Records a new breadcrumb which will be attached to future events.
Breadcrumbs will be added to subsequent events to provide more context on user's actions prior to an error or crash.
Parameter breadcrumb
The breadcrumb to record.
Parameter hint
May contain additional information about the original breadcrumb.
Deprecated
Use
Sentry.addBreadcrumb()
instead.
method bindClient
bindClient: (client?: Client) => void;
This binds the given client to the current scope.
Parameter client
An SDK client (client) instance.
Deprecated
Use
initAndBind()
directly.
method captureEvent
captureEvent: (event: Event, hint?: EventHint) => string;
Captures a manually created event and sends it to Sentry.
Parameter event
The event to send to Sentry.
Parameter hint
May contain additional information about the original exception.
Deprecated
Use
Sentry.captureEvent()
instead.
method captureException
captureException: (exception: any, hint?: EventHint) => string;
Captures an exception event and sends it to Sentry.
Parameter exception
An exception-like object.
Parameter hint
May contain additional information about the original exception.
Returns
The generated eventId.
Deprecated
Use
Sentry.captureException()
instead.
method captureMessage
captureMessage: ( message: string, level?: SeverityLevel, hint?: EventHint) => string;
Captures a message event and sends it to Sentry.
Parameter message
The message to send to Sentry.
Parameter level
Define the level of the message.
Parameter hint
May contain additional information about the original exception.
Returns
The generated eventId.
Deprecated
Use
Sentry.captureMessage()
instead.
method captureSession
captureSession: (endSession?: boolean) => void;
Sends the current session on the scope to Sentry
Parameter endSession
If set the session will be marked as exited and removed from the scope
Deprecated
Use top-level
captureSession
instead.
method endSession
endSession: () => void;
Ends the session that lives on the current scope and sends it to Sentry
Deprecated
Use top-level
endSession
instead.
method getClient
getClient: <C extends Client<ClientOptions<BaseTransportOptions>>>() => | C | undefined;
Returns the client of the top stack.
Deprecated
Use
Sentry.getClient()
instead.
method getIntegration
getIntegration: <T extends Integration>( integration: IntegrationClass<T>) => T | null;
Returns the integration if installed on the current client.
Deprecated
Use
Sentry.getClient().getIntegration()
instead.
method getIsolationScope
getIsolationScope: () => Scope;
Get the currently active isolation scope. The isolation scope is used to isolate data between different hubs.
Deprecated
Use
Sentry.getIsolationScope()
instead.
method getScope
getScope: () => Scope;
Returns the scope of the top stack.
Deprecated
Use
Sentry.getCurrentScope()
instead.
method setContext
setContext: (name: string, context: { [key: string]: any }) => void;
Sets context data with the given name.
Parameter name
of the context
Parameter context
Any kind of data. This data will be normalized.
Deprecated
Use
Sentry.setContext()
instead.
method setExtra
setExtra: (key: string, extra: Extra) => void;
Set key:value that will be sent as extra data with the event.
Parameter key
String of extra
Parameter extra
Any kind of data. This data will be normalized.
Deprecated
Use
Sentry.setExtra()
instead.
method setExtras
setExtras: (extras: Extras) => void;
Set an object that will be merged sent as extra data with the event.
Parameter extras
Extras object to merge into current context.
Deprecated
Use
Sentry.setExtras()
instead.
method setTag
setTag: (key: string, value: Primitive) => void;
Set key:value that will be sent as tags data with the event.
Can also be used to unset a tag, by passing
undefined
.Parameter key
String key of tag
Parameter value
Value of tag
Deprecated
Use
Sentry.setTag()
instead.
method setTags
setTags: (tags: { [key: string]: Primitive }) => void;
Set an object that will be merged sent as tags data with the event.
Parameter tags
Tags context object to merge into current context.
Deprecated
Use
Sentry.setTags()
instead.
method setUser
setUser: (user: User | null) => void;
Updates user context information for future events.
Parameter user
User context object to be set in the current context. Pass
null
to unset the user.Deprecated
Use
Sentry.setUser()
instead.
method startSession
startSession: (context?: Session) => Session;
Starts a new
Session
, sets on the current scope and returns it.To finish a
session
, it has to be passed directly toclient.captureSession
, which is done automatically when usinghub.endSession()
for the session currently stored on the scope.When there's already an existing session on the scope, it'll be automatically ended.
Parameter context
Optional properties of the new
Session
.Returns
The session which was just started
Deprecated
Use top-level
startSession
instead.
method withScope
withScope: <T>(callback: (scope: Scope) => T) => T;
Creates a new scope with and executes the given operation within. The scope is automatically removed once the operation finishes or throws.
This is essentially a convenience function for:
pushScope(); callback(); popScope();
Parameter callback
that will be enclosed into push/popScope.
Deprecated
Use
Sentry.withScope()
instead.
interface InProgressCheckIn
interface InProgressCheckIn {}
property monitorSlug
monitorSlug: SerializedCheckIn['monitor_slug'];
property status
status: 'in_progress';
interface Integration
interface Integration {}
Integration interface
property name
name: string;
The name of the integration.
method afterAllSetup
afterAllSetup: (client: Client) => void;
This hook is triggered after
setupOnce()
andsetup()
have been called for all integrations. You can use it if it is important that all other integrations have been run before.
method preprocessEvent
preprocessEvent: ( event: Event, hint: EventHint | undefined, client: Client) => void;
An optional hook that allows to preprocess an event _before_ it is passed to all other event processors.
method processEvent
processEvent: ( event: Event, hint: EventHint, client: Client) => Event | null | PromiseLike<Event | null>;
An optional hook that allows to process an event. Return
null
to drop the event, or mutate the event & return it. This receives the client that the integration was installed for as third argument.
method setup
setup: (client: Client) => void;
Set up an integration for the given client. Receives the client as argument.
Whenever possible, prefer this over
setupOnce
, as that is only run for the first client, whereassetup
runs for each client. Only truly global things (e.g. registering global handlers) should be done insetupOnce
.
method setupOnce
setupOnce: () => void;
This hook is only called once, even if multiple clients are created. It does not receives any arguments, and should only use for e.g. global monkey patching and similar things.
interface IntegrationClass
interface IntegrationClass<T> {}
Integration Class Interface
property id
id: string;
Property that holds the integration name
construct signature
new (...args: any[]): T;
interface InternalBaseTransportOptions
interface InternalBaseTransportOptions {}
property bufferSize
bufferSize?: number;
property recordDroppedEvent
recordDroppedEvent: Client['recordDroppedEvent'];
property tunnel
tunnel?: string;
Users should pass the tunnel property via the init/client options. This is only used by the SDK to pass the tunnel to the transport.
interface Mechanism
interface Mechanism {}
Metadata about a captured exception, intended to provide a hint as to the means by which it was captured.
property data
data?: { [key: string]: string | boolean;};
Arbitrary data to be associated with the mechanism (for example, errors coming from event handlers include the handler name and the event target. Will show up in the UI directly above the stacktrace.
property exception_id
exception_id?: number;
An identifier for the exception inside the
event.exception.values
array. This identifier is referenced to via theparent_id
attribute to link and aggregate errors.
property handled
handled?: boolean;
In theory, whether or not the exception has been handled by the user. In practice, whether or not we see it before it hits the global error/rejection handlers, whether through explicit handling by the user or auto instrumentation. Converted to a tag on ingest and used in various ways in the UI.
property is_exception_group
is_exception_group?: boolean;
Indicates whether the exception is an
AggregateException
.
property parent_id
parent_id?: number;
References another exception via the
exception_id
field to indicate that this excpetion is a child of that exception in the case of aggregate or linked errors.
property source
source?: string;
Describes the source of the exception, in the case that this is a derived (linked or aggregate) error.
This should be populated with the name of the property where the exception was found on the parent exception. E.g. "cause", "errors[0]", "errors[1]"
property synthetic
synthetic?: boolean;
True when
captureException
is called with anything other than an instance ofError
(or, in the case of browser, an instance ofErrorEvent
,DOMError
, orDOMException
). causing us to create a synthetic error in an attempt to recreate the stacktrace.
property type
type: string;
For now, restricted to
onerror
,onunhandledrejection
(both obvious),instrument
(the result of auto-instrumentation), andgeneric
(everything else). Converted to a tag on ingest.
interface MetricBucketItem
interface MetricBucketItem {}
interface MetricData
interface MetricData {}
interface MetricInstance
interface MetricInstance {}
An abstract definition of the minimum required API for a metric instance.
interface Metrics
interface Metrics {}
method distribution
distribution: (name: string, value: number, data?: MetricData) => void;
Adds a value to a distribution metric
This API is experimental and might have breaking changes in the future.
Modifiers
@experimental
method gauge
gauge: (name: string, value: number, data?: MetricData) => void;
Adds a value to a gauge metric
This API is experimental and might have breaking changes in the future.
Modifiers
@experimental
method increment
increment: (name: string, value?: number, data?: MetricData) => void;
Adds a value to a counter metric
This API is experimental and might have breaking changes in the future.
Modifiers
@experimental
method set
set: (name: string, value: number | string, data?: MetricData) => void;
Adds a value to a set metric. Value must be a string or integer.
This API is experimental and might have breaking changes in the future.
Modifiers
@experimental
method timing
timing: { ( name: string, value: number, unit?: DurationUnit, data?: Omit<MetricData, 'unit'> ): void; <T>( name: string, callback: () => T, unit?: DurationUnit, data?: Omit<MetricData, 'unit'> ): T;};
Adds a timing metric. The metric is added as a distribution metric.
You can either directly capture a numeric
value
, or wrap a callback function intiming
. In the latter case, the duration of the callback execution will be captured as a span & a metric.This API is experimental and might have breaking changes in the future.
Modifiers
@experimental
interface MetricsAggregator
interface MetricsAggregator {}
A metrics aggregator that aggregates metrics in memory and flushes them periodically.
method add
add: ( metricType: 'c' | 'g' | 's' | 'd', name: string, value: number | string, unit?: MeasurementUnit, tags?: Record<string, Primitive>, timestamp?: number) => void;
Add a metric to the aggregator.
method close
close: () => void;
Shuts down metrics aggregator and clears all metrics.
method flush
flush: () => void;
Flushes the current metrics to the transport via the transport.
method toString
toString: () => string;
Returns a string representation of the aggregator.
interface MissingInstrumentationContext
interface MissingInstrumentationContext extends Record<string, unknown> {}
property ['javascript.is_cjs']
['javascript.is_cjs']?: boolean;
property package
package: string;
interface MonitorConfig
interface MonitorConfig {}
property checkinMargin
checkinMargin?: SerializedMonitorConfig['checkin_margin'];
property failureIssueThreshold
failureIssueThreshold?: SerializedMonitorConfig['failure_issue_threshold'];
property maxRuntime
maxRuntime?: SerializedMonitorConfig['max_runtime'];
property recoveryThreshold
recoveryThreshold?: SerializedMonitorConfig['recovery_threshold'];
property schedule
schedule: MonitorSchedule;
property timezone
timezone?: SerializedMonitorConfig['timezone'];
interface Options
interface Options<TO extends BaseTransportOptions = BaseTransportOptions> extends Omit< Partial<ClientOptions<TO>>, 'integrations' | 'transport' | 'stackParser' > {}
Base configuration options for every SDK.
property defaultIntegrations
defaultIntegrations?: false | Integration[];
If this is set to false, default integrations will not be added, otherwise this will internally be set to the recommended default integrations.
property integrations
integrations?: Integration[] | ((integrations: Integration[]) => Integration[]);
List of integrations that should be installed after SDK was initialized. Accepts either a list of integrations or a function that receives default integrations and returns a new, updated list.
property stackParser
stackParser?: StackParser | StackLineParser[];
A stack parser implementation or an array of stack line parsers By default, a stack parser is supplied for all supported browsers
property transport
transport?: (transportOptions: TO) => Transport;
A function that takes transport options and returns the Transport object which is used to send events to Sentry. The function is invoked internally during SDK initialization. By default, the SDK initializes its default transports.
interface OsContext
interface OsContext extends Record<string, unknown> {}
property build
build?: string;
property kernel_version
kernel_version?: string;
property name
name?: string;
property version
version?: string;
interface Package
interface Package {}
JSDoc
property dependencies
dependencies?: Record<string, string>;
property devDependencies
devDependencies?: Record<string, string>;
property name
name: string;
property version
version: string;
interface PolymorphicEvent
interface PolymorphicEvent {}
Event-like interface that's usable in browser and node.
Note: Here we mean the kind of events handled by event listeners, not our
Event
type.Property availability taken from https://developer.mozilla.org/en-US/docs/Web/API/Event#browser_compatibility
property currentTarget
readonly currentTarget?: unknown;
property target
readonly target?: unknown;
property type
readonly type: string;
index signature
[key: string]: unknown;
interface Profile
interface Profile extends BaseProfile<ThreadCpuProfile> {}
property debug_meta
debug_meta?: { images: DebugImage[];};
property device
device: { architecture: string; is_emulator: boolean; locale: string; manufacturer: string; model: string;};
property environment
environment: string;
property event_id
event_id: string;
property measurements
measurements?: Record< string, { unit: MeasurementUnit; values: { elapsed_since_start_ns: number; value: number; }[]; }>;
property os
os: { name: string; version: string; build_number?: string;};
property platform
platform: string;
property profile
profile: ThreadCpuProfile;
property release
release: string;
property runtime
runtime: { name: string; version: string;};
property timestamp
timestamp: string;
property transaction
transaction?: { name: string; id: string; trace_id: string; active_thread_id: string;};
property transactions
transactions?: { name: string; id: string; trace_id: string; active_thread_id: string; relative_start_ns: string; relative_end_ns: string;}[];
property version
version: string;
interface ProfileChunk
interface ProfileChunk extends BaseProfile<ContinuousThreadCpuProfile> {}
property chunk_id
chunk_id: string;
property client_sdk
client_sdk: { name: string; version: string;};
property profiler_id
profiler_id: string;
interface PropagationContext
interface PropagationContext {}
PropagationContext
represents the data from an incoming trace. It should be constructed from incoming trace data, usually represented bysentry-trace
andbaggage
HTTP headers.There is always a propagation context present in the SDK (or rather on Scopes), holding at least a
traceId
. This is to ensure that there is always a trace we can attach events onto, even if performance monitoring is disabled. If there was no incomingtraceId
, thetraceId
will be generated by the current SDK.
property dsc
dsc?: Partial<DynamicSamplingContext>;
An undefined dsc in the propagation context means that the current SDK invocation is the head of trace and still free to modify and set the DSC for outgoing requests.
The current SDK should not modify this value!
property parentSpanId
parentSpanId?: string;
The
parentSpanId
denotes the ID of the incoming client span. If there is noparentSpanId
on the propagation context, it means that the the incoming trace didn't come from a span.The current SDK should not modify this value!
property sampled
sampled?: boolean;
Represents the sampling decision of the incoming trace.
The current SDK should not modify this value!
property spanId
spanId: string;
Represents the execution context of the current SDK. This acts as a fallback value to associate events with a particular execution context when performance monitoring is disabled.
The ID of a current span (if one exists) should have precedence over this value when propagating trace data.
property traceId
traceId: string;
Either represents the incoming
traceId
or thetraceId
generated by the current SDK, if there was no incoming trace.
interface ReplayEvent
interface ReplayEvent extends Event {}
NOTE: These types are still considered Beta and subject to change.
property error_ids
error_ids: string[];
property replay_id
replay_id: string;
property replay_start_timestamp
replay_start_timestamp?: number;
property replay_type
replay_type: ReplayRecordingMode;
property segment_id
segment_id: number;
property trace_ids
trace_ids: string[];
property urls
urls: string[];
interface Request
interface Request {}
Request data included in an event as sent to Sentry
interface RequestSession
interface RequestSession {}
property status
status?: RequestSessionStatus;
interface Runtime
interface Runtime {}
Runtime Context.
interface SamplingContext
interface SamplingContext extends CustomSamplingContext {}
Data passed to the
tracesSampler
function, which forms the basis for whatever decisions it might make.Adds default data to data provided by the user. See Hub.startTransaction
property attributes
attributes?: SpanAttributes;
Initial attributes that have been passed to the span being sampled.
property location
location?: WorkerLocation;
Object representing the URL of the current page or worker script. Passed by default when using the
BrowserTracing
integration.
property name
name: string;
The name of the span being sampled.
property parentSampled
parentSampled?: boolean;
Sampling decision from the parent transaction, if any.
property request
request?: ExtractedNodeRequestData;
Object representing the incoming request to a node server. Passed by default when using the TracingHandler.
property transactionContext
transactionContext: { name: string; parentSampled?: boolean | undefined;};
Context data with which transaction being sampled was created.
Deprecated
This is duplicate data and will be removed eventually.
interface Scope
interface Scope {}
Holds additional event information.
method addAttachment
addAttachment: (attachment: Attachment) => this;
Adds an attachment to the scope
Parameter attachment
Attachment options
method addBreadcrumb
addBreadcrumb: (breadcrumb: Breadcrumb, maxBreadcrumbs?: number) => this;
Sets the breadcrumbs in the scope
Parameter breadcrumbs
Breadcrumb
Parameter maxBreadcrumbs
number of max breadcrumbs to merged into event.
method addEventProcessor
addEventProcessor: (callback: EventProcessor) => this;
Add new event processor that will be called during event processing.
method addScopeListener
addScopeListener: (callback: (scope: Scope) => void) => void;
Add internal on change listener. Used for sub SDKs that need to store the scope.
method captureEvent
captureEvent: (event: Event, hint?: EventHint) => string;
Capture a Sentry event for this scope.
Parameter exception
The event to capture.
Parameter hint
Optional additional data to attach to the Sentry event.
Returns
the id of the captured event.
method captureException
captureException: (exception: unknown, hint?: EventHint) => string;
Capture an exception for this scope.
Parameter exception
The exception to capture.
Parameter hint
Optinal additional data to attach to the Sentry event.
Returns
the id of the captured Sentry event.
method captureMessage
captureMessage: ( message: string, level?: SeverityLevel, hint?: EventHint) => string;
Capture a message for this scope.
Parameter exception
The exception to capture.
Parameter level
An optional severity level to report the message with.
Parameter hint
Optional additional data to attach to the Sentry event.
Returns
the id of the captured message.
method clear
clear: () => this;
Clears the current scope and resets its properties.
method clearAttachments
clearAttachments: () => this;
Clears attachments from the scope
method clearBreadcrumbs
clearBreadcrumbs: () => this;
Clears all currently set Breadcrumbs.
method clone
clone: () => Scope;
Clone all data from this scope into a new scope.
method getClient
getClient: <C extends Client<ClientOptions<BaseTransportOptions>>>() => | C | undefined;
Get the client assigned to this scope.
It is generally recommended to use the global function
Sentry.getClient()
instead, unless you know what you are doing.
method getLastBreadcrumb
getLastBreadcrumb: () => Breadcrumb | undefined;
Get the last breadcrumb.
method getPropagationContext
getPropagationContext: () => PropagationContext;
Get propagation context from the scope, used for distributed tracing
method getRequestSession
getRequestSession: () => RequestSession | undefined;
Returns the
RequestSession
if there is one
method getScopeData
getScopeData: () => ScopeData;
Get the data of this scope, which is applied to an event during processing.
method getSession
getSession: () => Session | undefined;
Returns the
Session
if there is one
method getUser
getUser: () => User | undefined;
Returns the
User
if there is one
method lastEventId
lastEventId: () => string | undefined;
This is the getter for lastEventId.
Returns
The last event id of a captured event.
method setClient
setClient: (client: Client | undefined) => void;
Update the client on the scope.
method setContext
setContext: (name: string, context: Context | null) => this;
Sets context data with the given name.
Parameter name
of the context
Parameter context
an object containing context data. This data will be normalized. Pass
null
to unset the context.
method setExtra
setExtra: (key: string, extra: Extra) => this;
Set key:value that will be sent as extra data with the event.
Parameter key
String of extra
Parameter extra
Any kind of data. This data will be normalized.
method setExtras
setExtras: (extras: Extras) => this;
Set an object that will be merged sent as extra data with the event.
Parameter extras
Extras object to merge into current context.
method setFingerprint
setFingerprint: (fingerprint: string[]) => this;
Sets the fingerprint on the scope to send with the events.
Parameter fingerprint
string[] to group events in Sentry.
method setLastEventId
setLastEventId: (lastEventId: string | undefined) => void;
Sets the last event id on the scope.
Parameter lastEventId
The last event id of a captured event.
method setLevel
setLevel: (level: SeverityLevel) => this;
Sets the level on the scope for future events.
Parameter level
string SeverityLevel
method setPropagationContext
setPropagationContext: (context: PropagationContext) => this;
Add propagation context to the scope, used for distributed tracing
method setRequestSession
setRequestSession: (requestSession?: RequestSession) => this;
Sets the
RequestSession
on the scope
method setSDKProcessingMetadata
setSDKProcessingMetadata: (newData: { [key: string]: unknown }) => this;
Add data which will be accessible during event processing but won't get sent to Sentry
method setSession
setSession: (session?: Session) => this;
Sets the
Session
on the scope
method setTag
setTag: (key: string, value: Primitive) => this;
Set key:value that will be sent as tags data with the event.
Can also be used to unset a tag by passing
undefined
.Parameter key
String key of tag
Parameter value
Value of tag
method setTags
setTags: (tags: { [key: string]: Primitive }) => this;
Set an object that will be merged sent as tags data with the event.
Parameter tags
Tags context object to merge into current context.
method setTransactionName
setTransactionName: (name?: string) => this;
Sets the transaction name on the scope so that the name of the transaction (e.g. taken server route or page location) is attached to future events.
IMPORTANT: Calling this function does NOT change the name of the currently active span. If you want to change the name of the active span, use
span.updateName()
instead.By default, the SDK updates the scope's transaction name automatically on sensible occasions, such as a page navigation or when handling a new request on the server.
method setUser
setUser: (user: User | null) => this;
Updates user context information for future events.
Parameter user
User context object to be set in the current context. Pass
null
to unset the user.
method update
update: (captureContext?: CaptureContext) => this;
Updates the scope with provided data. Can work in three variations: - plain object containing updatable attributes - Scope instance that'll extract the attributes from - callback function that'll receive the current scope as an argument and allow for modifications
Parameter captureContext
scope modifier to be used
interface ScopeContext
interface ScopeContext {}
JSDocs
property contexts
contexts: Contexts;
property extra
extra: Extras;
property fingerprint
fingerprint: string[];
property level
level: SeverityLevel;
property propagationContext
propagationContext: PropagationContext;
property requestSession
requestSession: RequestSession;
property tags
tags: { [key: string]: Primitive;};
property user
user: User;
interface ScopeData
interface ScopeData {}
property attachments
attachments: Attachment[];
property breadcrumbs
breadcrumbs: Breadcrumb[];
property contexts
contexts: Contexts;
property eventProcessors
eventProcessors: EventProcessor[];
property extra
extra: Extras;
property fingerprint
fingerprint: string[];
property level
level?: SeverityLevel;
property propagationContext
propagationContext: PropagationContext;
property sdkProcessingMetadata
sdkProcessingMetadata: { [key: string]: unknown;};
property span
span?: Span;
property tags
tags: { [key: string]: Primitive;};
property transactionName
transactionName?: string;
property user
user: User;
interface SdkInfo
interface SdkInfo {}
property integrations
integrations?: string[];
property name
name?: string;
property packages
packages?: Package[];
property version
version?: string;
interface SdkMetadata
interface SdkMetadata {}
property sdk
sdk?: SdkInfo;
interface SendFeedbackParams
interface SendFeedbackParams {}
property associatedEventId
associatedEventId?: string;
property email
email?: string;
property message
message: string;
property name
name?: string;
property source
source?: string;
property tags
tags?: { [key: string]: Primitive;};
Set an object that will be merged sent as tags data with the event.
property url
url?: string;
interface SentrySpanArguments
interface SentrySpanArguments {}
Interface holding all properties that can be set on a Span on creation. This is only used for the legacy span/transaction creation and will go away in v8.
property attributes
attributes?: SpanAttributes;
Attributes of the Span.
property endTimestamp
endTimestamp?: number | undefined;
Timestamp in seconds (epoch time) indicating when the span ended.
property isStandalone
isStandalone?: boolean | undefined;
Set to
true
if this span should be sent as a standalone segment span as opposed to a transaction.this option is currently experimental and should only be used within SDK code. It might be removed or changed in the future.
Modifiers
@experimental
property name
name?: string | undefined;
Human-readable identifier for the span.
property op
op?: string | undefined;
Operation of the Span.
property parentSpanId
parentSpanId?: string | undefined;
Parent Span ID
property sampled
sampled?: boolean | undefined;
Was this span chosen to be sent as part of the sample?
property spanId
spanId?: string | undefined;
Span ID
property startTimestamp
startTimestamp?: number | undefined;
Timestamp in seconds (epoch time) indicating when the span started.
property traceId
traceId?: string | undefined;
Trace ID
interface SentryWrappedXMLHttpRequest
interface SentryWrappedXMLHttpRequest {}
property getResponseHeader
getResponseHeader?: (key: string) => string | null;
property setRequestHeader
setRequestHeader?: (key: string, val: string) => void;
interface SentryXhrData
interface SentryXhrData {}
property body
body?: XHRSendInput;
property method
method: string;
property request_body_size
request_body_size?: number;
property request_headers
request_headers: Record<string, string>;
property response_body_size
response_body_size?: number;
property status_code
status_code?: number;
property url
url: string;
interface SerializedCheckIn
interface SerializedCheckIn {}
property check_in_id
check_in_id: string;
property contexts
contexts?: { trace?: TraceContext;};
property duration
duration?: number;
property environment
environment?: string;
property monitor_config
monitor_config?: { schedule: MonitorSchedule; checkin_margin?: number; max_runtime?: number; timezone?: string; failure_issue_threshold?: number; recovery_threshold?: number;};
property monitor_slug
monitor_slug: string;
property release
release?: string;
property status
status: 'in_progress' | 'ok' | 'error';
interface SerializedSession
interface SerializedSession {}
property abnormal_mechanism
abnormal_mechanism?: string;
property attrs
attrs?: { release?: string; environment?: string; user_agent?: string; ip_address?: string;};
property did
did?: string;
property duration
duration?: number;
property errors
errors: number;
property init
init: boolean;
property sid
sid: string;
property started
started: string;
property status
status: SessionStatus;
property timestamp
timestamp: string;
interface SerializedTraceData
interface SerializedTraceData {}
An object holding trace data, like span and trace ids, sampling decision, and dynamic sampling context in a serialized form. Both keys are expected to be used as Http headers or Html meta tags.
property 'sentry-trace'
'sentry-trace'?: string;
property baggage
baggage?: string;
interface Session
interface Session {}
property abnormal_mechanism
abnormal_mechanism?: string;
property did
did?: string | number;
property duration
duration?: number;
property environment
environment?: string;
property errors
errors: number;
property ignoreDuration
ignoreDuration: boolean;
property init
init: boolean;
property ipAddress
ipAddress?: string;
property release
release?: string;
property sid
sid: string;
property started
started: number;
property status
status: SessionStatus;
property timestamp
timestamp: number;
property user
user?: User | null;
property userAgent
userAgent?: string;
method toJSON
toJSON: () => SerializedSession;
Overrides default JSON serialization of the Session because the Sentry servers expect a slightly different schema of a session which is described in the interface
See Also
SerializedSession in this file.
a Sentry-backend conforming JSON object of the session
interface SessionAggregates
interface SessionAggregates {}
JSDoc
property aggregates
aggregates: Array<AggregationCounts>;
property attrs
attrs?: { environment?: string; release?: string;};
interface SessionFlusherLike
interface SessionFlusherLike {}
method close
close: () => void;
Clears setInterval and calls flush
method flush
flush: () => void;
Empties Aggregate Buckets and Sends them to Transport Buffer
method incrementSessionStatusCount
incrementSessionStatusCount: () => void;
Increments the Session Status bucket in SessionAggregates Object corresponding to the status of the session captured
interface Span
interface Span {}
A generic Span which holds trace data.
method addEvent
addEvent: ( name: string, attributesOrStartTime?: SpanAttributes | SpanTimeInput, startTime?: SpanTimeInput) => this;
Adds an event to the Span.
method addLink
addLink: (link: unknown) => this;
NOT USED IN SENTRY, only added for compliance with OTEL Span interface
method addLinks
addLinks: (links: unknown) => this;
NOT USED IN SENTRY, only added for compliance with OTEL Span interface
method end
end: (endTimestamp?: SpanTimeInput) => void;
End the current span.
method isRecording
isRecording: () => boolean;
If this is span is actually recording data. This will return false if tracing is disabled, this span was not sampled or if the span is already finished.
method recordException
recordException: (exception: unknown, time?: number) => void;
NOT USED IN SENTRY, only added for compliance with OTEL Span interface
method setAttribute
setAttribute: (key: string, value: SpanAttributeValue | undefined) => this;
Set a single attribute on the span. Set it to
undefined
to remove the attribute.
method setAttributes
setAttributes: (attributes: SpanAttributes) => this;
Set multiple attributes on the span. Any attribute set to
undefined
will be removed.
method setStatus
setStatus: (status: SpanStatus) => this;
Sets the status attribute on the current span.
method spanContext
spanContext: () => SpanContextData;
Get context data for this span. This includes the spanId & the traceId.
method updateName
updateName: (name: string) => this;
Update the name of the span.
interface SpanContextData
interface SpanContextData {}
property isRemote
isRemote?: boolean | undefined;
Only true if the SentrySpanArguments was propagated from a remote parent.
property spanId
spanId: string;
The ID of the Span. It is globally unique with practically sufficient probability by being made as 8 randomly generated bytes, encoded as a 16 lowercase hex characters corresponding to 64 bits.
property traceFlags
traceFlags: TraceFlag | number;
Trace flags to propagate.
It is represented as 1 byte (bitmap). Bit to represent whether trace is sampled or not. When set, the least significant bit documents that the caller may have recorded trace data. A caller who does not record trace data out-of-band leaves this flag unset.
property traceId
traceId: string;
The ID of the trace that this span belongs to. It is worldwide unique with practically sufficient probability by being made as 16 randomly generated bytes, encoded as a 32 lowercase hex characters corresponding to 128 bits.
property traceState
traceState?: TraceState | undefined;
In OpenTelemetry, this can be used to store trace state, which are basically key-value pairs.
interface SpanJSON
interface SpanJSON {}
A JSON representation of a span.
property data
data?: { [key: string]: any;};
property description
description?: string;
property exclusive_time
exclusive_time?: number;
property is_segment
is_segment?: boolean;
property measurements
measurements?: Measurements;
property op
op?: string;
property origin
origin?: SpanOrigin;
property parent_span_id
parent_span_id?: string;
property profile_id
profile_id?: string;
property segment_id
segment_id?: string;
property span_id
span_id: string;
property start_timestamp
start_timestamp: number;
property status
status?: string;
property timestamp
timestamp?: number;
property trace_id
trace_id: string;
interface SpanStatus
interface SpanStatus {}
The status of a span. This can optionally contain a human-readable message.
interface StackFrame
interface StackFrame {}
JSDoc
property abs_path
abs_path?: string;
property addr_mode
addr_mode?: string;
property colno
colno?: number;
property context_line
context_line?: string;
property debug_id
debug_id?: string;
property filename
filename?: string;
property function
function?: string;
property in_app
in_app?: boolean;
property instruction_addr
instruction_addr?: string;
property lineno
lineno?: number;
property module
module?: string;
property module_metadata
module_metadata?: any;
property platform
platform?: string;
property post_context
post_context?: string[];
property pre_context
pre_context?: string[];
property vars
vars?: { [key: string]: any;};
interface Stacktrace
interface Stacktrace {}
JSDoc
property frames
frames?: StackFrame[];
property frames_omitted
frames_omitted?: [number, number];
interface StartSpanOptions
interface StartSpanOptions {}
property attributes
attributes?: SpanAttributes;
Attributes for the span.
property experimental
experimental?: { /** * If set to true, always start a standalone span which will be sent as a * standalone segment span envelope instead of a transaction envelope. * * @internal this option is currently experimental and should only be * used within SDK code. It might be removed or changed in the future. * The payload ("envelope") of the resulting request sending the span to * Sentry might change at any time. * * @hidden */ standalone?: boolean;};
Experimental options without any stability guarantees. Use with caution!
property forceTransaction
forceTransaction?: boolean;
If set to true, this span will be forced to be treated as a transaction in the Sentry UI, if possible and applicable. Note that it is up to the SDK to decide how exactly the span will be sent, which may change in future SDK versions. It is not guaranteed that a span started with this flag set to
true
will be sent as a transaction.
property name
name: string;
The name of the span.
property onlyIfParent
onlyIfParent?: boolean;
If set to true, only start a span if a parent span exists.
property op
op?: string;
An op for the span. This is a categorization for spans.
property parentSpan
parentSpan?: Span | null;
If provided, make the new span a child of this span. If this is not provided, the new span will be a child of the currently active span. If this is set to
null
, the new span will have no parent span.
property scope
scope?: Scope;
If defined, start this span off this scope instead off the current scope.
property startTime
startTime?: SpanTimeInput;
A manually specified start time for the created
Span
object.
interface Thread
interface Thread {}
JSDoc
property crashed
crashed?: boolean;
property current
current?: boolean;
property id
id?: number;
property name
name?: string;
property stacktrace
stacktrace?: Stacktrace;
interface ThreadCpuProfile
interface ThreadCpuProfile {}
property frames
frames: ThreadCpuFrame[];
property queue_metadata
queue_metadata?: Record< string, { label: string; }>;
property samples
samples: ThreadCpuSample[];
property stacks
stacks: ThreadCpuStack[];
property thread_metadata
thread_metadata: Record< ThreadId, { name?: string; priority?: number; }>;
interface ThreadCpuSample
interface ThreadCpuSample {}
property elapsed_since_start_ns
elapsed_since_start_ns: string;
property queue_address
queue_address?: string;
property stack_id
stack_id: StackId;
property thread_id
thread_id: ThreadId;
interface TimedEvent
interface TimedEvent {}
property attributes
attributes?: SpanAttributes;
property name
name: string;
property time
time: SpanTimeInput;
interface TraceContext
interface TraceContext extends Record<string, unknown> {}
interface TraceparentData
interface TraceparentData {}
Data pulled from a
sentry-trace
header
property parentSampled
parentSampled?: boolean | undefined;
If this transaction has a parent, the parent's sampling decision
property parentSpanId
parentSpanId?: string | undefined;
Parent Span ID
property traceId
traceId?: string | undefined;
Trace ID
interface TransactionEvent
interface TransactionEvent extends Event {}
property type
type: 'transaction';
interface Transport
interface Transport {}
interface User
interface User {}
An interface describing a user of an application or a handled request.
property email
email?: string;
property geo
geo?: GeoLocation;
property id
id?: string | number;
property ip_address
ip_address?: string;
property username
username?: string;
index signature
[key: string]: any;
interface UserFeedback
interface UserFeedback {}
Crash report feedback object
interface WebFetchHeaders
interface WebFetchHeaders {}
method append
append: (name: string, value: string) => void;
method delete
delete: (name: string) => void;
method forEach
forEach: ( callbackfn: (value: string, key: string, parent: WebFetchHeaders) => void) => void;
method get
get: (name: string) => string | null;
method has
has: (name: string) => boolean;
method set
set: (name: string, value: string) => void;
interface WebFetchRequest
interface WebFetchRequest {}
interface WorkerLocation
interface WorkerLocation {}
Location object on a service worker's
self
object.See https://developer.mozilla.org/en-US/docs/Web/API/WorkerLocation.
property hash
readonly hash: string;
The fragment identifier of the URL of the script executed in the Worker, beginning with a '#'.
property host
readonly host: string;
The host, that is the hostname, a ':', and the port of the URL of the script executed in the Worker.
property hostname
readonly hostname: string;
The domain of the URL of the script executed in the Worker.
property href
readonly href: string;
Stringifier that returns the whole URL of the script executed in the Worker.
property origin
readonly origin: string;
The canonical form of the origin of the specific location.
property pathname
readonly pathname: string;
The path of the URL of the script executed in the Worker, beginning with a '/'.
property port
readonly port: string;
The port number of the URL of the script executed in the Worker.
property protocol
readonly protocol: string;
The protocol scheme of the URL of the script executed in the Worker, including the final ':'.
property search
readonly search: string;
The parameters (query string) of the URL of the script executed in the Worker, beginning with a '?'.
method toString
toString: () => string;
Synonym for
href
attribute
interface WrappedFunction
interface WrappedFunction extends Function {}
JSDoc
index signature
[key: string]: any;
interface XhrBreadcrumbData
interface XhrBreadcrumbData {}
property method
method?: string;
property request_body_size
request_body_size?: number;
property response_body_size
response_body_size?: number;
property status_code
status_code?: number;
property url
url?: string;
interface XhrBreadcrumbHint
interface XhrBreadcrumbHint {}
property endTimestamp
endTimestamp: number;
property input
input: unknown;
property startTimestamp
startTimestamp: number;
property xhr
xhr: unknown;
Type Aliases
type AttachmentItem
type AttachmentItem = BaseEnvelopeItem<AttachmentItemHeaders, string | Uint8Array>;
type BaseEnvelopeHeaders
type BaseEnvelopeHeaders = { [key: string]: unknown; dsn?: string; sdk?: SdkInfo;};
type BaseEnvelopeItemHeaders
type BaseEnvelopeItemHeaders = { [key: string]: unknown; type: EnvelopeItemType; length?: number;};
type BrowserClientProfilingOptions
type BrowserClientProfilingOptions = { /** * The sample rate for profiling * 1.0 will profile all transactions and 0 will profile none. */ profilesSampleRate?: number;};
type BrowserClientReplayOptions
type BrowserClientReplayOptions = { /** * The sample rate for session-long replays. * 1.0 will record all sessions and 0 will record none. */ replaysSessionSampleRate?: number; /** * The sample rate for sessions that has had an error occur. * This is independent of `sessionSampleRate`. * 1.0 will record all sessions and 0 will record none. */ replaysOnErrorSampleRate?: number;};
Options added to the Browser SDK's init options that are specific for Replay. Note: This type was moved to @sentry/types to avoid a circular dependency between Browser and Replay.
type CaptureContext
type CaptureContext = Scope | Partial<ScopeContext> | ((scope: Scope) => Scope);
JSDocs
type CheckIn
type CheckIn = HeartbeatCheckIn | InProgressCheckIn | FinishedCheckIn;
type CheckInEnvelope
type CheckInEnvelope = BaseEnvelope<CheckInEnvelopeHeaders, CheckInItem>;
type CheckInItem
type CheckInItem = BaseEnvelopeItem<CheckInItemHeaders, SerializedCheckIn>;
type ClientReport
type ClientReport = { timestamp: number; discarded_events: Outcome[];};
type ClientReportEnvelope
type ClientReportEnvelope = BaseEnvelope< ClientReportEnvelopeHeaders, ClientReportItem>;
type ClientReportItem
type ClientReportItem = BaseEnvelopeItem<ClientReportItemHeaders, ClientReport>;
type ConsoleLevel
type ConsoleLevel = 'debug' | 'info' | 'warn' | 'error' | 'log' | 'assert' | 'trace';
type Context
type Context = Record<string, unknown>;
type DataCategory
type DataCategory = | 'default' | 'error' | 'transaction' | 'replay' | 'security' | 'attachment' | 'session' | 'internal' | 'profile' | 'monitor' | 'feedback' | 'metric_bucket' | 'span' | 'unknown';
type DebugImage
type DebugImage = WasmDebugImage | SourceMapDebugImage | MachoDebugImage;
type DsnLike
type DsnLike = string | DsnComponents;
Anything that can be parsed into a Dsn.
type DsnProtocol
type DsnProtocol = 'http' | 'https';
Supported Sentry transport protocols in a Dsn.
type DurationUnit
type DurationUnit = | 'nanosecond' | 'microsecond' | 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week';
A time duration.
type DynamicSamplingContext
type DynamicSamplingContext = { trace_id: string; public_key: DsnComponents['publicKey']; sample_rate?: string; release?: string; environment?: string; transaction?: string; replay_id?: string; sampled?: string;};
type Envelope
type Envelope = | EventEnvelope | SessionEnvelope | ClientReportEnvelope | ProfileChunkEnvelope | ReplayEnvelope | CheckInEnvelope | StatsdEnvelope | SpanEnvelope;
type EnvelopeItem
type EnvelopeItem = Envelope[1][number];
type EnvelopeItemType
type EnvelopeItemType = | 'client_report' | 'user_report' | 'feedback' | 'session' | 'sessions' | 'transaction' | 'attachment' | 'event' | 'profile' | 'profile_chunk' | 'replay_event' | 'replay_recording' | 'check_in' | 'statsd' | 'span';
type EventDropReason
type EventDropReason = | 'before_send' | 'event_processor' | 'network_error' | 'queue_overflow' | 'ratelimit_backoff' | 'sample_rate' | 'send_error' | 'internal_sdk_error';
type EventEnvelope
type EventEnvelope = BaseEnvelope< EventEnvelopeHeaders, EventItem | AttachmentItem | UserFeedbackItem | FeedbackItem | ProfileItem>;
type EventEnvelopeHeaders
type EventEnvelopeHeaders = { event_id: string; sent_at: string; trace?: DynamicSamplingContext;};
type EventItem
type EventItem = BaseEnvelopeItem<EventItemHeaders, Event>;
type EventType
type EventType = 'transaction' | 'profile' | 'replay_event' | 'feedback' | undefined;
The type of an
Event
. Note thatErrorEvent
s do not have a type (hence its undefined), while all other events are required to have one.
type Extra
type Extra = unknown;
type Extras
type Extras = Record<string, Extra>;
type FeedbackFormData
type FeedbackFormData = { name: string; email: string; message: string; attachments: Attachment[] | undefined;};
type FeedbackItem
type FeedbackItem = BaseEnvelopeItem<FeedbackItemHeaders, FeedbackEvent>;
type FractionUnit
type FractionUnit = 'ratio' | 'percent';
Fractions such as percentages.
type FrameId
type FrameId = number;
type HandlerDataUnhandledRejection
type HandlerDataUnhandledRejection = unknown;
type HttpHeaderValue
type HttpHeaderValue = string | string[] | number | null;
type InformationUnit
type InformationUnit = | 'bit' | 'byte' | 'kilobyte' | 'kibibyte' | 'megabyte' | 'mebibyte' | 'gigabyte' | 'terabyte' | 'tebibyte' | 'petabyte' | 'exabyte' | 'exbibyte';
Size of information derived from bytes.
type IntegrationFn
type IntegrationFn<IntegrationType = Integration> = ( ...rest: any[]) => IntegrationType;
An integration in function form. This is expected to return an integration.
type Measurements
type Measurements = Record< string, { value: number; unit: MeasurementUnit; }>;
type MeasurementUnit
type MeasurementUnit = LiteralUnion< DurationUnit | InformationUnit | FractionUnit | NoneUnit>;
type MetricSummary
type MetricSummary = { min: number; max: number; count: number; sum: number; tags?: Record<string, Primitive> | undefined;};
type NoneUnit
type NoneUnit = '' | 'none';
Untyped value without a unit.
type Outcome
type Outcome = { reason: EventDropReason; category: DataCategory; quantity: number;};
type ParameterizedString
type ParameterizedString = string & { __sentry_template_string__?: string; __sentry_template_values__?: string[];};
type PolymorphicRequest
type PolymorphicRequest = BaseRequest & BrowserRequest & NodeRequest & ExpressRequest & KoaRequest & NextjsRequest;
A
Request
type compatible with Node, Express, browser, etc., because everything is optional
type Primitive
type Primitive = number | string | boolean | bigint | symbol | null | undefined;
type ProfileChunkEnvelope
type ProfileChunkEnvelope = BaseEnvelope<BaseEnvelopeHeaders, ProfileChunkItem>;
type ProfileChunkItem
type ProfileChunkItem = BaseEnvelopeItem<ProfileChunkItemHeaders, ProfileChunk>;
type ProfileItem
type ProfileItem = BaseEnvelopeItem<ProfileItemHeaders, Profile>;
type QueryParams
type QueryParams = | string | { [key: string]: string; } | Array<[string, string]>;
type ReplayEnvelope
type ReplayEnvelope = [ ReplayEnvelopeHeaders, [ReplayEventItem, ReplayRecordingItem]];
type ReplayRecordingData
type ReplayRecordingData = string | Uint8Array;
NOTE: These types are still considered Beta and subject to change.
type ReplayRecordingMode
type ReplayRecordingMode = 'session' | 'buffer';
NOTE: These types are still considered Beta and subject to change.
type RequestSessionStatus
type RequestSessionStatus = 'ok' | 'errored' | 'crashed';
type SanitizedRequestData
type SanitizedRequestData = { url: string; 'http.method': string; 'http.fragment'?: string; 'http.query'?: string;};
Request data that is considered safe for
span.data
onhttp.client
spans and forhttp
breadcrumbs See https://develop.sentry.dev/sdk/data-handling/#structuring-data
type SendFeedback
type SendFeedback = ( params: SendFeedbackParams, hint?: EventHint & { includeReplay?: boolean; }) => Promise<string>;
type SessionContext
type SessionContext = Partial<Session>;
type SessionEnvelope
type SessionEnvelope = BaseEnvelope<SessionEnvelopeHeaders, SessionItem>;
type SessionItem
type SessionItem = | BaseEnvelopeItem<SessionItemHeaders, SerializedSession> | BaseEnvelopeItem<SessionAggregatesItemHeaders, SessionAggregates>;
type SessionStatus
type SessionStatus = 'ok' | 'exited' | 'crashed' | 'abnormal';
type SeverityLevel
type SeverityLevel = 'fatal' | 'error' | 'warning' | 'log' | 'info' | 'debug';
type SpanAttributes
type SpanAttributes = Partial<{ 'sentry.origin': string; 'sentry.op': string; 'sentry.source': TransactionSource; 'sentry.sample_rate': number;}> & Record<string, SpanAttributeValue | undefined>;
type SpanAttributeValue
type SpanAttributeValue = | string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>;
type SpanEnvelope
type SpanEnvelope = BaseEnvelope<SpanEnvelopeHeaders, SpanItem>;
type SpanItem
type SpanItem = BaseEnvelopeItem<SpanItemHeaders, Partial<SpanJSON>>;
type SpanOrigin
type SpanOrigin = | SpanOriginType | `${SpanOriginType}.${SpanOriginCategory}` | `${SpanOriginType}.${SpanOriginCategory}.${SpanOriginIntegrationName}` | `${SpanOriginType}.${SpanOriginCategory}.${SpanOriginIntegrationName}.${SpanOriginIntegrationPart}`;
type SpanTimeInput
type SpanTimeInput = HrTime | number | Date;
This type is aligned with the OpenTelemetry TimeInput type.
type StackId
type StackId = number;
type StackLineParser
type StackLineParser = [number, StackLineParserFn];
type StackLineParserFn
type StackLineParserFn = (line: string) => StackFrame | undefined;
type StackParser
type StackParser = ( stack: string, skipFirstLines?: number, framesToPop?: number) => StackFrame[];
type StatsdEnvelope
type StatsdEnvelope = BaseEnvelope<StatsdEnvelopeHeaders, StatsdItem>;
type StatsdItem
type StatsdItem = BaseEnvelopeItem<StatsdItemHeaders, string>;
type ThreadCpuFrame
type ThreadCpuFrame = { function?: string; file?: string; lineno?: number; colno?: number; abs_path?: string; platform?: string; instruction_addr?: string; module?: string; in_app?: boolean;};
type ThreadCpuStack
type ThreadCpuStack = FrameId[];
type ThreadId
type ThreadId = string;
type TraceFlag
type TraceFlag = TraceFlagNone | TraceFlagSampled;
type TracePropagationTargets
type TracePropagationTargets = (string | RegExp)[];
type TransactionSource
type TransactionSource = /** User-defined name */ | 'custom' /** Raw URL, potentially containing identifiers */ | 'url' /** Parametrized URL / route */ | 'route' /** Name of the view handling the request */ | 'view' /** Named after a software component, such as a function or class name. */ | 'component' /** Name of a background task (e.g. a Celery task) */ | 'task';
Contains information about how the name of the transaction was determined. This will be used by the server to decide whether or not to scrub identifiers from the transaction name, or replace the entire name with a placeholder.
type TransportMakeRequestResponse
type TransportMakeRequestResponse = { statusCode?: number; headers?: { [key: string]: string | null; 'x-sentry-rate-limits': string | null; 'retry-after': string | null; };};
type TransportRequest
type TransportRequest = { body: string | Uint8Array;};
type TransportRequestExecutor
type TransportRequestExecutor = ( request: TransportRequest) => PromiseLike<TransportMakeRequestResponse>;
type UserFeedbackItem
type UserFeedbackItem = BaseEnvelopeItem<UserFeedbackItemHeaders, UserFeedback>;
type ViewHierarchyData
type ViewHierarchyData = { rendering_system: string; windows: ViewHierarchyWindow[];};
type ViewHierarchyWindow
type ViewHierarchyWindow = { alpha: number; height: number; type: string; visible: boolean; width: number; x: number; y: number; z?: number; children?: ViewHierarchyWindow[]; depth?: number; identifier?: string;} & Record<string, string | number | boolean>;
Package Files (55)
- build/types/attachment.d.ts
- build/types/breadcrumb.d.ts
- build/types/browseroptions.d.ts
- build/types/checkin.d.ts
- build/types/client.d.ts
- build/types/clientreport.d.ts
- build/types/context.d.ts
- build/types/datacategory.d.ts
- build/types/debugMeta.d.ts
- build/types/dsn.d.ts
- build/types/envelope.d.ts
- build/types/error.d.ts
- build/types/event.d.ts
- build/types/eventprocessor.d.ts
- build/types/exception.d.ts
- build/types/extra.d.ts
- build/types/feedback/form.d.ts
- build/types/feedback/index.d.ts
- build/types/feedback/sendFeedback.d.ts
- build/types/hub.d.ts
- build/types/index.d.ts
- build/types/instrument.d.ts
- build/types/integration.d.ts
- build/types/measurement.d.ts
- build/types/mechanism.d.ts
- build/types/metrics.d.ts
- build/types/misc.d.ts
- build/types/options.d.ts
- build/types/package.d.ts
- build/types/parameterize.d.ts
- build/types/polymorphics.d.ts
- build/types/profiling.d.ts
- build/types/replay.d.ts
- build/types/request.d.ts
- build/types/runtime.d.ts
- build/types/samplingcontext.d.ts
- build/types/scope.d.ts
- build/types/sdkinfo.d.ts
- build/types/sdkmetadata.d.ts
- build/types/session.d.ts
- build/types/severity.d.ts
- build/types/span.d.ts
- build/types/spanStatus.d.ts
- build/types/stackframe.d.ts
- build/types/stacktrace.d.ts
- build/types/startSpanOptions.d.ts
- build/types/thread.d.ts
- build/types/timedEvent.d.ts
- build/types/tracing.d.ts
- build/types/transaction.d.ts
- build/types/transport.d.ts
- build/types/user.d.ts
- build/types/view-hierarchy.d.ts
- build/types/webfetchapi.d.ts
- build/types/wrappedfunction.d.ts
Dependencies (0)
No dependencies.
Dev Dependencies (0)
No dev dependencies.
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@sentry/types
.
- Markdown[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/@sentry/types)
- HTML<a href="https://www.jsdocs.io/package/@sentry/types"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 10032 ms. - Missing or incorrect documentation? Open an issue for this package.