SentryFlutterOptions class
This class adds options which are only available in a Flutter environment. Note that some of these options require native Sentry integration, which is not available on all platforms.
- Inheritance
-
- Object
- SentryOptions
- SentryFlutterOptions
Constructors
- SentryFlutterOptions({String? dsn, PlatformChecker? checker})
Properties
- anrEnabled ↔ bool
-
Enable or disable ANR (Application Not Responding).
Available only for Android.
Disabled by default as the stack trace most of the time is hanging on
the MessageChannel from Flutter, but you can enable it if you have
Java/Kotlin code as well.
getter/setter pair
- anrTimeoutInterval ↔ Duration
-
ANR Timeout internal. Default is 5000 milliseconds or 5 seconds.
Used by Androids AnrIntegration. Available only on Android.
See: anrEnabled
Always uses the given duration as a positiv timespan.
getter/setter pair
- appHangTimeoutInterval ↔ Duration
-
The minimum amount of time an app should be unresponsive to be classified
as an App Hanging. The actual amount may be a little longer. Avoid using
values lower than 100ms, which may cause a lot of app hangs events being
transmitted.
Default to 2s.
Only available on iOS and macOS.
getter/setter pair
- attachScreenshot ↔ bool
-
Automatically attaches a screenshot when capturing an error or exception.
getter/setter pair
- attachScreenshotOnlyWhenResumed ↔ bool
-
Only attach a screenshot when the app is resumed.
getter/setter pair
- attachStacktrace ↔ bool
-
When enabled, stack traces are automatically attached to all messages logged.
Stack traces are always attached to exceptions;
however, when this option is set, stack traces are also sent with messages.
This option, for instance, means that stack traces appear next to all log messages.
getter/setter pairinherited
- attachThreads ↔ bool
-
When enabled, the current isolate will be attached to the event.
This only applies to Dart:io platforms and only the current isolate.
The Dart runtime doesn't provide information about other active isolates.
getter/setter pairinherited
- attachViewHierarchy ↔ bool
-
Enables the View Hierarchy feature.
getter/setter pair
- autoAppStart ↔ bool
-
Automatically track app start measurement and send it with the
first transaction. Set to false when configuring option to disable or if
you want to set the end time of app startup manually using
SentryFlutter.setAppStartEnd.
getter/setter pair
- autoInitializeNativeSdk ↔ bool
-
Initializes the Native SDKs on init.
Set this to
false
if you have an existing native SDK and don't want to re-initialize.getter/setter pair - automatedTestMode ↔ bool
-
Only for internal use. Changed SDK behaviour when set to true:
getter/setter pairinherited
- autoSessionTrackingInterval ↔ Duration
-
The session tracking interval. This is the interval to end a
session if the App goes to the background.
Default is 30 seconds/30000 milliseconds.
See: enableAutoSessionTracking
Always uses the given duration as a positiv timespan.
getter/setter pair
- beforeBreadcrumb ↔ BeforeBreadcrumbCallback?
-
This function is called with an SDK specific breadcrumb object before the breadcrumb is added
to the scope. When nothing is returned from the function, the breadcrumb is dropped
getter/setter pairinherited
- beforeMetricCallback ↔ BeforeMetricCallback?
-
This function is called right before a metric is about to be emitted.
Can return true to emit the metric, or false to drop it.
getter/setter pairinherited
- beforeScreenshot ↔ BeforeScreenshotCallback?
-
Sets a callback which is executed before capturing screenshots. Only
relevant if
attachScreenshot
is set to true. When false is returned from the function, no screenshot will be attached.getter/setter pair - beforeSend ↔ BeforeSendCallback?
-
This function is called with an SDK specific event object and can return a modified event
object or nothing to skip reporting the event
getter/setter pairinherited
- beforeSendTransaction ↔ BeforeSendTransactionCallback?
-
This function is called with an SDK specific transaction object and can return a modified
transaction object or nothing to skip reporting the transaction
getter/setter pairinherited
- bindingUtils ↔ BindingWrapper
-
Setting this to a custom BindingWrapper allows you to use a custom WidgetsBinding.
getter/setter pair
- captureFailedRequests ↔ bool
-
Configures whether to record exceptions for failed requests.
Examples for captures exceptions are:
getter/setter pairinherited
- clock ↔ ClockProvider
-
If clock is provided, it is used to get time instead of the system
clock. This is useful in tests. Should be an implementation of ClockProvider.
The ClockProvider is expected to return UTC time.
getter/setter pairinherited
- compressPayload ↔ bool
-
If compressPayload is
true
the outgoing HTTP payloads are compressed using gzip. Otherwise, the payloads are sent in plain UTF8-encoded JSON text. The compression is enabled by default.getter/setter pairinherited - connectionTimeout ↔ Duration
-
Connection timeout. This will only be synced to the Android native SDK.
getter/setter pair
- considerInAppFramesByDefault ↔ bool
-
Configures whether stack trace frames are considered in app frames by default.
You can use this to essentially make inAppIncludes or inAppExcludes
an allow or deny list.
This value is only used if Sentry can not find the origin of the frame.
getter/setter pairinherited
- debug ↔ bool
-
Turns debug mode on or off. If debug is enabled SDK will attempt to print out useful debugging
information if something goes wrong. Default is disabled.
getter/setter pairinherited
- diagnosticLevel ↔ SentryLevel
-
minimum LogLevel to be used if debug is enabled
getter/setter pairinherited
- dist ↔ String?
-
Sets the distribution. Think about it together with release and environment
getter/setter pairinherited
- dsn ↔ String?
-
The DSN tells the SDK where to send the events to. If an empty string is
used, the SDK will not send any events.
getter/setter pairinherited
- enableAppHangTracking ↔ bool
-
When enabled, the SDK tracks when the application stops responding for a
specific amount of time, See appHangTimeoutInterval.
Only available on iOS and macOS.
getter/setter pair
- enableAppLifecycleBreadcrumbs ↔ bool
-
Consider disabling enableAutoNativeBreadcrumbs if you
enable this. Otherwise you might record app lifecycle events twice.
Also consider using enableBreadcrumbTrackingForCurrentPlatform
instead for more sensible defaults.
getter/setter pair
- enableAutoNativeBreadcrumbs ↔ bool
-
Enable or disable the Automatic breadcrumbs on the Native platforms (Android/iOS)
Screen's lifecycle, App's lifecycle, System events, etc...
getter/setter pair
- enableAutoPerformanceTracing ↔ bool
-
Enable auto performance tracking by default.
getter/setter pair
- enableAutoSessionTracking ↔ bool
-
Enable or disable the Auto session tracking on the Native SDKs (Android/iOS)
getter/setter pair
- enableBrightnessChangeBreadcrumbs ↔ bool
-
Consider disabling enableAutoNativeBreadcrumbs if you
enable this. Otherwise you might record brightness change events twice.
Also consider using enableBreadcrumbTrackingForCurrentPlatform
instead for more sensible defaults.
getter/setter pair
- enableDeduplication ↔ bool
-
Whether SentryEvent deduplication is enabled.
Can be further configured with maxDeduplicationItems.
Shoud be set to true if
SentryHttpClient is used to capture failed requests.
getter/setter pairinherited
- enableDefaultTagsForMetrics ↔ bool
-
Enables enriching metrics with default tags. Requires enableMetrics.
More on https://develop.sentry.dev/delightful-developer-metrics/sending-metrics-sdk/#automatic-tags-extraction
Currently adds release, environment and transaction name.
getter/setter pairinherited
- enableMemoryPressureBreadcrumbs ↔ bool
-
Consider disabling enableAutoNativeBreadcrumbs if you
enable this. Otherwise you might record memory pressure events twice.
Also consider using enableBreadcrumbTrackingForCurrentPlatform
instead for more sensible defaults.
getter/setter pair
- enableMetrics ↔ bool
-
Enables sending developer metrics to Sentry.
More on https://develop.sentry.dev/delightful-developer-metrics/.
Example:
getter/setter pairinherited
- enableNativeCrashHandling ↔ bool
-
Enable or disable the Crash handling on the Native SDKs, e.g.,
UncaughtExceptionHandler and anrEnabled for Android.
getter/setter pair
- enableNdkScopeSync ↔ bool
-
Enable scope sync from Java to NDK.
Only available on Android.
getter/setter pair
- enablePrintBreadcrumbs ↔ bool
-
Enable this option if you want to record calls to
print()
as breadcrumbs. In a Flutter environment, this setting also toggles recording ofdebugPrint
calls.debugPrint
calls are only recorded in release builds, though.getter/setter pairinherited - enableScopeSync ↔ bool
-
If enabled, scopeObservers will be called when mutating scope.
getter/setter pairinherited
- enableSpanLocalMetricAggregation ↔ bool
-
Enables span metrics aggregation. Requires enableMetrics.
More on https://develop.sentry.dev/sdk/metrics/#span-aggregation
getter/setter pairinherited
- enableTextScaleChangeBreadcrumbs ↔ bool
-
Consider disabling enableAutoNativeBreadcrumbs if you
enable this. Otherwise you might record text scale change events twice.
Also consider using enableBreadcrumbTrackingForCurrentPlatform
instead for more sensible defaults.
getter/setter pair
- enableTimeToFullDisplayTracing ↔ bool
-
Enable or disable the tracing of time to full display (TTFD).
If
SentryFlutter.reportFullyDisplayed()
is not called within 30 seconds after the creation of the TTFD span, it will finish with the status SpanStatus.deadlineExceeded. This feature requires using the Routing Instrumentation.getter/setter pair - enableTracing ↔ bool?
-
Enables generation of transactions and propagation of trace data. If set
to null, tracing might be enabled if tracesSampleRate or tracesSampler
are set.
getter/setter pairinherited
- enableUserInteractionBreadcrumbs ↔ bool
-
Enable or disable automatic breadcrumbs for User interactions Using Listener
getter/setter pair
- enableUserInteractionTracing ↔ bool
-
Enables the Auto instrumentation for user interaction tracing.
getter/setter pair
- enableWatchdogTerminationTracking ↔ bool
-
Enables Out of Memory Tracking for iOS and macCatalyst.
See the following link for more information and possible restrictions:
https://docs.sentry.io/platforms/apple/guides/ios/configuration/out-of-memory/
getter/setter pair
- enableWindowMetricBreadcrumbs ↔ bool
-
Consider disabling enableAutoNativeBreadcrumbs if you
enable this. Otherwise you might record window metric events twice.
Also consider using enableBreadcrumbTrackingForCurrentPlatform
instead for more sensible defaults.
getter/setter pair
- environment ↔ String?
-
Sets the environment. This string is freeform and not set by default. A release can be
associated with more than one environment to separate them in the UI Think staging vs prod or
similar.
See docs for further information
getter/setter pairinherited
- environmentVariables ↔ EnvironmentVariables
-
If environmentVariables is provided, it is used get the environment
variables. This is useful in tests.
getter/setter pairinherited
-
eventProcessors
→ List<
EventProcessor> -
Are callbacks that run for every event. They can either return a new event which in most cases
means just adding data OR return null in case the event will be dropped and not sent.
no setterinherited
- exceptionFactory ↔ SentryExceptionFactory
-
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- httpClient ↔ Client
-
If httpClient is provided, it is used instead of the default client to
make HTTP calls to Sentry.io. This is useful in tests.
If you don't need to send events, use
NoOpClient
.getter/setter pairinherited - idleTimeout ↔ Duration?
-
The idle time to wait until the transaction will be finished.
The transaction will use the end timestamp of the last finished span as
the endtime for the transaction.
getter/setter pairinherited
-
inAppExcludes
→ List<
String> -
A list of string prefixes of packages names that do not belong to the app, but rather third-party
packages. Packages considered not to be part of the app will be hidden from stack traces by
default.
example :
['sentry']
will exclude exception frompackage:sentry/sentry.dart
no setterinherited -
inAppIncludes
→ List<
String> -
A list of string prefixes of packages names that belong to the app. This option takes precedence
over inAppExcludes.
example:
['sentry']
will include exception frompackage:sentry/sentry.dart
no setterinherited -
integrations
→ List<
Integration< SentryOptions> > -
Code that provides middlewares, bindings or hooks into certain frameworks or environments,
along with code that inserts those bindings and activates them.
no setterinherited
- logger ↔ SentryLogger
-
Logger interface to log useful debugging information if debug is enabled
getter/setter pairinherited
- markAutomaticallyCollectedErrorsAsFatal ↔ bool
-
Errors that the SDK automatically collects, for example in
SentryIsolate
, havelevel
SentryLevel.fatal set per default. Settings this tofalse
will set thelevel
to SentryLevel.error.getter/setter pairinherited - maxAttachmentSize ↔ int
-
Maximum allowed file size of attachments, in bytes.
Attachments above this size will be discarded
getter/setter pairinherited
- maxBreadcrumbs ↔ int
-
This variable controls the total amount of breadcrumbs that should be captured Default is 100
getter/setter pairinherited
- maxCacheItems ↔ int
-
Defines the maximal amount of offline stored events. Default is 30.
Only available on Android, iOS and macOS.
getter/setter pair
- maxDeduplicationItems ↔ int
-
Describes how many exceptions are kept to be checked for deduplication.
This should be a small positiv integer in order to keep deduplication
performant.
Is only in effect if enableDeduplication is set to true.
getter/setter pairinherited
- maxQueueSize ↔ int
-
Returns the max number of events Sentry will send when calling capture
methods in a tight loop. Default is 30.
getter/setter pairinherited
- maxRequestBodySize ↔ MaxRequestBodySize
-
Configures up to which size request bodies should be included in events.
This does not change whether an event is captured.
getter/setter pairinherited
- maxResponseBodySize ↔ MaxResponseBodySize
-
Configures up to which size response bodies should be included in events.
This does not change whether an event is captured.
getter/setter pairinherited
- maxSpans ↔ int
-
Returns the maximum number of spans that can be attached to single transaction.
getter/setter pairinherited
-
The navigatorKey is used to add information of the currently used locale to the contexts.
getter/setter pair
- platformChecker ↔ PlatformChecker
-
If platformChecker is provided, it is used get the environment.
This is useful in tests. Should be an implementation of PlatformChecker.
getter/setter pairinherited
- profilesSampleRate ↔ double?
-
The sample rate for profiling traces in the range of 0.0 to 1.0.
This is relative to tracesSampleRate - it is a ratio of profiled traces out of all sampled traces.
At the moment, only apps targeting iOS and macOS are supported.
getter/setter pairoverride
- proguardUuid ↔ String?
-
Sets the Proguard uuid for Android platform.
getter/setter pair
- readTimeout ↔ Duration
-
Read timeout. This will only be synced to the Android native SDK.
getter/setter pair
- recorder ↔ ClientReportRecorder
-
getter/setter pairinherited
- recordHttpBreadcrumbs ↔ bool
-
Whether to records requests as breadcrumbs. This is on by default.
It only has an effect when the SentryHttpClient or dio integration is in
use, or iOS native where it sets the value to
enableNetworkBreadcrumbs
.getter/setter pairinherited - release ↔ String?
-
Sets the release. SDK will try to automatically configure a release out of the box
See docs for further information
getter/setter pairinherited
- rendererWrapper ↔ RendererWrapper
-
getter/setter pair
- reportPackages ↔ bool
-
Enable or disable reporting of used packages.
getter/setter pair
- reportSilentFlutterErrors ↔ bool
-
By default, we don't report FlutterErrorDetails.silent errors,
but you can by enabling this flag.
See https://api.flutter.dev/flutter/foundation/FlutterErrorDetails/silent.html
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- sampleRate ↔ double?
-
Configures the sample rate as a percentage of events to be sent in the range of 0.0 to 1.0. if
1.0 is set it means that 100% of events are sent. If set to 0.1 only 10% of events will be
sent. Events are picked randomly. Default is null (disabled)
getter/setter pairinherited
-
scopeObservers
→ List<
ScopeObserver> -
no setterinherited
- screenshotQuality ↔ SentryScreenshotQuality
-
The quality of the attached screenshot
getter/setter pair
- sdk ↔ SdkVersion
-
Sdk object that contains the Sentry Client Name and its version
getter/setter pairinherited
- sendClientReports ↔ bool
-
Send statistics to sentry when the client drops events.
getter/setter pairinherited
- sendDefaultPii ↔ bool
-
Whether to send personal identifiable information along with events
getter/setter pairinherited
- sentryClientName → String
-
Sentry client name used for the HTTP authHeader and userAgent eg
sentry.{language}.{platform}/{version} eg sentry.java.android/2.0.0 would be a valid case
no setterinherited
- serverName ↔ String?
-
The server name used in the Sentry messages.
getter/setter pairinherited
- spotlight ↔ Spotlight
-
The Spotlight configuration.
Disabled by default.
getter/setter pairinherited
- stackTraceFactory ↔ SentryStackTraceFactory
-
getter/setter pairinherited
-
tracePropagationTargets
→ List<
String> -
List of strings/regex controlling to which outgoing requests
the SDK will attach tracing headers.
finalinherited
- tracesSampler ↔ TracesSamplerCallback?
-
This function is called by TracesSamplerCallback to determine if transaction is sampled - meant
to be sent to Sentry.
getter/setter pairinherited
- tracesSampleRate ↔ double?
-
Returns the traces sample rate Default is null (disabled)
getter/setter pairinherited
- transport ↔ Transport
-
The transport is an internal construct of the client that abstracts away the event sending.
getter/setter pairinherited
Methods
-
addEventProcessor(
EventProcessor eventProcessor) → void -
Adds an event processor
inherited
-
addExceptionCauseExtractor(
ExceptionCauseExtractor extractor) → void -
Adds ExceptionCauseExtractor in order to extract inner exceptions
inherited
-
addExceptionStackTraceExtractor(
ExceptionStackTraceExtractor extractor) → void -
Adds ExceptionStackTraceExtractor in order to extract inner exceptions
inherited
-
addInAppExclude(
String inApp) → void -
Adds an inAppExclude
inherited
-
addInAppInclude(
String inApp) → void -
Adds an inAppIncludes
inherited
-
addIntegration(
Integration< SentryOptions> integration) → void -
Adds an integration
inherited
-
addIntegrationByIndex(
int index, Integration< SentryOptions> integration) → void -
Adds an integration in the given index
inherited
-
addScopeObserver(
ScopeObserver scopeObserver) → void -
inherited
-
enableBreadcrumbTrackingForCurrentPlatform(
) → void - Automatically set sensible defaults for tracking Breadcrumbs. It considers the current platform and available native integrations.
-
exceptionCauseExtractor(
Type type) → ExceptionCauseExtractor? -
Returns a previously added ExceptionCauseExtractor by type
inherited
-
exceptionStackTraceExtractor(
Type type) → ExceptionStackTraceExtractor? -
Returns a previously added ExceptionStackTraceExtractor by type
inherited
-
isTracingEnabled(
) → bool -
Returns if tracing should be enabled. If tracing is disabled, starting transactions returns
NoOpSentrySpan.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
removeEventProcessor(
EventProcessor eventProcessor) → void -
Removes an event processor
inherited
-
removeIntegration(
Integration< SentryOptions> integration) → void -
Removes an integration
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
useFlutterBreadcrumbTracking(
) → void - By using this, you are disabling native Breadcrumb tracking and instead you are just tracking Breadcrumbs which result from events available in the current Flutter environment.
-
useNativeBreadcrumbTracking(
) → void - By using this, you are enabling native Breadcrumb tracking and disabling tracking Breadcrumbs which result from events available in the current Flutter environment.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited