Class ScopesAdapter
- All Implemented Interfaces:
IScopes
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addBreadcrumb
(@NotNull Breadcrumb breadcrumb) Adds a breadcrumb to the current Scopevoid
addBreadcrumb
(@NotNull Breadcrumb breadcrumb, @Nullable Hint hint) Adds a breadcrumb to the current Scopevoid
bindClient
(@NotNull ISentryClient client) Binds a different client to the scopes@NotNull SentryId
captureCheckIn
(@NotNull CheckIn checkIn) @NotNull SentryId
captureEnvelope
(@NotNull SentryEnvelope envelope, @Nullable Hint hint) Captures an envelope.@NotNull SentryId
captureEvent
(@NotNull SentryEvent event, @Nullable Hint hint) Captures the event.@NotNull SentryId
captureEvent
(@NotNull SentryEvent event, @Nullable Hint hint, @NotNull ScopeCallback callback) Captures the event.@NotNull SentryId
captureException
(@NotNull Throwable throwable, @Nullable Hint hint) Captures the exception.@NotNull SentryId
captureException
(@NotNull Throwable throwable, @Nullable Hint hint, @NotNull ScopeCallback callback) Captures the exception.@NotNull SentryId
captureMessage
(@NotNull String message, @NotNull SentryLevel level) Captures the message.@NotNull SentryId
captureMessage
(@NotNull String message, @NotNull SentryLevel level, @NotNull ScopeCallback callback) Captures the message.@NotNull SentryId
captureReplay
(@NotNull SentryReplayEvent replay, @Nullable Hint hint) @NotNull SentryId
captureTransaction
(@NotNull SentryTransaction transaction, @Nullable TraceContext traceContext, @Nullable Hint hint, @Nullable ProfilingTraceData profilingTraceData) Captures the transaction and enqueues it for sending to Sentry server.void
captureUserFeedback
(@NotNull UserFeedback userFeedback) Captures a manually created user feedback and sends it to Sentry.void
Deletes current breadcrumbs from the current scope.@NotNull IHub
clone()
Deprecated.void
close()
Flushes out the queue for up to timeout seconds and disable the Scopes.void
close
(boolean isRestarting) Flushes out the queue for up to timeout seconds and disable the Scopes.void
configureScope
(@Nullable ScopeType scopeType, @NotNull ScopeCallback callback) Configures the scope through the callback.@Nullable TransactionContext
continueTrace
(@Nullable String sentryTrace, @Nullable List<String> baggageHeaders) Continue a trace based on HTTP header values.void
Ends the current sessionvoid
flush
(long timeoutMillis) Flushes events queued up, but keeps the scopes enabled.@NotNull IScopes
forkedCurrentScope
(@NotNull String creator) Creates a fork of current scope without forking isolation scope.@NotNull IScopes
forkedRootScopes
(@NotNull String creator) Creates a fork of both current and isolation scope from root scopes.@NotNull IScopes
forkedScopes
(@NotNull String creator) Creates a fork of both current and isolation scope from current scopes.@Nullable BaggageHeader
Returns the "baggage" header that allows tracing across services.@NotNull IScope
Returns the global scope.static ScopesAdapter
@NotNull IScope
Returns the isolation scope of this Scopes.@NotNull SentryId
Last event id recorded in the current scope@NotNull SentryOptions
Gets theSentryOptions
attached to current scope.@Nullable IScopes
Returns the parent of this Scopes instance or null, if it does not have a parent.@Nullable RateLimiter
@NotNull IScope
getScope()
Returns the current scope of this Scopes.@Nullable ISpan
getSpan()
Gets the current active transaction or span.@Nullable SentryTraceHeader
Returns the "sentry-trace" header that allows tracing across services.@Nullable ITransaction
Returns the transaction.boolean
isAncestorOf
(@Nullable IScopes otherScopes) Checks whether this Scopes instance is direct or indirect parent of the other Scopes instance.@Nullable Boolean
Returns if the App has crashed (Process has terminated) during the last run.boolean
Check if Sentry is enabled/active.boolean
Whether the transport is healthy.@NotNull ISentryLifecycleToken
Stores this Scopes in store, making it the current one that is used by static API.void
popScope()
Deprecated.please callISentryLifecycleToken.close()
on the token returned byIScopes.pushScope()
orIScopes.pushIsolationScope()
instead.@NotNull ISentryLifecycleToken
@NotNull ISentryLifecycleToken
Pushes a new scope while inheriting the current scope's data.void
removeExtra
(@NotNull String key) Removes the extra key to an arbitrary value to the current Scopevoid
Removes the tag to a string value to the current Scopevoid
Report a screen has been fully loaded.void
setActiveSpan
(@Nullable ISpan span) void
Sets the extra key to an arbitrary value to the current Scope, overwriting a potential previous valuevoid
setFingerprint
(@NotNull List<String> fingerprint) Sets the fingerprint to group specific events together to the current Scope.void
setLevel
(@Nullable SentryLevel level) Sets the level of all events sent within current Scopevoid
setSpanContext
(@NotNull Throwable throwable, @NotNull ISpan span, @NotNull String transactionName) void
Sets the tag to a string value to the current Scope, overwriting a potential previous valuevoid
setTransaction
(@Nullable String transaction) Sets the name of the current transaction to the current Scope.void
Shallow merges user configuration (email, username, etc) to the current Scope.void
Starts a new session.@NotNull ITransaction
startTransaction
(@NotNull TransactionContext transactionContext, @NotNull TransactionOptions transactionOptions) Creates a Transaction and returns the instance.void
withIsolationScope
(@NotNull ScopeCallback callback) Runs the callback with a new isolation scope which gets dropped at the end.void
withScope
(@NotNull ScopeCallback callback) Runs the callback with a new current scope which gets dropped at the end.Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.sentry.IScopes
addBreadcrumb, addBreadcrumb, captureEnvelope, captureEvent, captureEvent, captureException, captureException, captureMessage, captureMessage, captureTransaction, captureTransaction, captureTransaction, configureScope, isNoOp, startTransaction, startTransaction, startTransaction
-
Method Details
-
getInstance
-
isEnabled
public boolean isEnabled()Description copied from interface:IScopes
Check if Sentry is enabled/active. -
captureEvent
@NotNull public @NotNull SentryId captureEvent(@NotNull @NotNull SentryEvent event, @Nullable @Nullable Hint hint) Description copied from interface:IScopes
Captures the event.- Specified by:
captureEvent
in interfaceIScopes
- Parameters:
event
- the eventhint
- SDK specific but provides high level information about the origin of the event- Returns:
- The Id (SentryId object) of the event
-
captureEvent
@NotNull public @NotNull SentryId captureEvent(@NotNull @NotNull SentryEvent event, @Nullable @Nullable Hint hint, @NotNull @NotNull ScopeCallback callback) Description copied from interface:IScopes
Captures the event.- Specified by:
captureEvent
in interfaceIScopes
- Parameters:
event
- the eventhint
- SDK specific but provides high level information about the origin of the eventcallback
- The callback to configure the scope for a single invocation.- Returns:
- The Id (SentryId object) of the event
-
captureMessage
@NotNull public @NotNull SentryId captureMessage(@NotNull @NotNull String message, @NotNull @NotNull SentryLevel level) Description copied from interface:IScopes
Captures the message.- Specified by:
captureMessage
in interfaceIScopes
- Parameters:
message
- The message to send.level
- The message level.- Returns:
- The Id (SentryId object) of the event
-
captureMessage
@NotNull public @NotNull SentryId captureMessage(@NotNull @NotNull String message, @NotNull @NotNull SentryLevel level, @NotNull @NotNull ScopeCallback callback) Description copied from interface:IScopes
Captures the message.- Specified by:
captureMessage
in interfaceIScopes
- Parameters:
message
- The message to send.level
- The message level.callback
- The callback to configure the scope for a single invocation.- Returns:
- The Id (SentryId object) of the event
-
captureEnvelope
@Internal @NotNull public @NotNull SentryId captureEnvelope(@NotNull @NotNull SentryEnvelope envelope, @Nullable @Nullable Hint hint) Description copied from interface:IScopes
Captures an envelope.- Specified by:
captureEnvelope
in interfaceIScopes
- Parameters:
envelope
- the SentryEnvelope to send.hint
- SDK specific but provides high level information about the origin of the event- Returns:
- The Id (SentryId object) of the event
-
captureException
@NotNull public @NotNull SentryId captureException(@NotNull @NotNull Throwable throwable, @Nullable @Nullable Hint hint) Description copied from interface:IScopes
Captures the exception.- Specified by:
captureException
in interfaceIScopes
- Parameters:
throwable
- The exception.hint
- SDK specific but provides high level information about the origin of the event- Returns:
- The Id (SentryId object) of the event
-
captureException
@NotNull public @NotNull SentryId captureException(@NotNull @NotNull Throwable throwable, @Nullable @Nullable Hint hint, @NotNull @NotNull ScopeCallback callback) Description copied from interface:IScopes
Captures the exception.- Specified by:
captureException
in interfaceIScopes
- Parameters:
throwable
- The exception.hint
- SDK specific but provides high level information about the origin of the eventcallback
- The callback to configure the scope for a single invocation.- Returns:
- The Id (SentryId object) of the event
-
captureUserFeedback
Description copied from interface:IScopes
Captures a manually created user feedback and sends it to Sentry.- Specified by:
captureUserFeedback
in interfaceIScopes
- Parameters:
userFeedback
- The user feedback to send to Sentry.
-
startSession
public void startSession()Description copied from interface:IScopes
Starts a new session. If there's a running session, it ends it before starting the new one.- Specified by:
startSession
in interfaceIScopes
-
endSession
public void endSession()Description copied from interface:IScopes
Ends the current session- Specified by:
endSession
in interfaceIScopes
-
close
public void close(boolean isRestarting) Description copied from interface:IScopes
Flushes out the queue for up to timeout seconds and disable the Scopes. -
close
public void close()Description copied from interface:IScopes
Flushes out the queue for up to timeout seconds and disable the Scopes. -
addBreadcrumb
Description copied from interface:IScopes
Adds a breadcrumb to the current Scope- Specified by:
addBreadcrumb
in interfaceIScopes
- Parameters:
breadcrumb
- the breadcrumbhint
- SDK specific but provides high level information about the origin of the event
-
addBreadcrumb
Description copied from interface:IScopes
Adds a breadcrumb to the current Scope- Specified by:
addBreadcrumb
in interfaceIScopes
- Parameters:
breadcrumb
- the breadcrumb
-
setLevel
Description copied from interface:IScopes
Sets the level of all events sent within current Scope -
setTransaction
Description copied from interface:IScopes
Sets the name of the current transaction to the current Scope.- Specified by:
setTransaction
in interfaceIScopes
- Parameters:
transaction
- the transaction
-
setUser
Description copied from interface:IScopes
Shallow merges user configuration (email, username, etc) to the current Scope. -
setFingerprint
Description copied from interface:IScopes
Sets the fingerprint to group specific events together to the current Scope.- Specified by:
setFingerprint
in interfaceIScopes
- Parameters:
fingerprint
- the fingerprints
-
clearBreadcrumbs
public void clearBreadcrumbs()Description copied from interface:IScopes
Deletes current breadcrumbs from the current scope.- Specified by:
clearBreadcrumbs
in interfaceIScopes
-
setTag
Description copied from interface:IScopes
Sets the tag to a string value to the current Scope, overwriting a potential previous value -
removeTag
Description copied from interface:IScopes
Removes the tag to a string value to the current Scope -
setExtra
Description copied from interface:IScopes
Sets the extra key to an arbitrary value to the current Scope, overwriting a potential previous value -
removeExtra
Description copied from interface:IScopes
Removes the extra key to an arbitrary value to the current Scope- Specified by:
removeExtra
in interfaceIScopes
- Parameters:
key
- the key
-
getLastEventId
Description copied from interface:IScopes
Last event id recorded in the current scope- Specified by:
getLastEventId
in interfaceIScopes
- Returns:
- last SentryId
-
pushScope
Description copied from interface:IScopes
Pushes a new scope while inheriting the current scope's data. -
pushIsolationScope
- Specified by:
pushIsolationScope
in interfaceIScopes
-
popScope
Deprecated.please callISentryLifecycleToken.close()
on the token returned byIScopes.pushScope()
orIScopes.pushIsolationScope()
instead.Description copied from interface:IScopes
Removes the first scope and restores its parent. -
withScope
Description copied from interface:IScopes
Runs the callback with a new current scope which gets dropped at the end.If you're using the Sentry SDK in globalHubMode (defaults to true on Android)
Sentry.init(Sentry.OptionsConfiguration, boolean)
calling withScope is discouraged, as scope changes may be dropped when executed in parallel. UseIScopes.configureScope(ScopeCallback)
instead. -
withIsolationScope
Description copied from interface:IScopes
Runs the callback with a new isolation scope which gets dropped at the end. Current scope is also forked.If you're using the Sentry SDK in globalHubMode (defaults to true on Android)
Sentry.init(Sentry.OptionsConfiguration, boolean)
calling withScope is discouraged, as scope changes may be dropped when executed in parallel. UseIScopes.configureScope(ScopeType, ScopeCallback)
instead.- Specified by:
withIsolationScope
in interfaceIScopes
- Parameters:
callback
- the callback
-
configureScope
public void configureScope(@Nullable @Nullable ScopeType scopeType, @NotNull @NotNull ScopeCallback callback) Description copied from interface:IScopes
Configures the scope through the callback.- Specified by:
configureScope
in interfaceIScopes
callback
- The configure scope callback.
-
bindClient
Description copied from interface:IScopes
Binds a different client to the scopes- Specified by:
bindClient
in interfaceIScopes
- Parameters:
client
- the client.
-
isHealthy
public boolean isHealthy()Description copied from interface:IScopes
Whether the transport is healthy. -
flush
public void flush(long timeoutMillis) Description copied from interface:IScopes
Flushes events queued up, but keeps the scopes enabled. Not implemented yet. -
clone
Deprecated.please useIScopes.forkedScopes(String)
orIScopes.forkedCurrentScope(String)
instead.Description copied from interface:IScopes
Clones the Hub -
forkedScopes
Description copied from interface:IScopes
Creates a fork of both current and isolation scope from current scopes.- Specified by:
forkedScopes
in interfaceIScopes
- Parameters:
creator
- debug information to see why scopes where forked- Returns:
- forked Scopes
-
forkedCurrentScope
Description copied from interface:IScopes
Creates a fork of current scope without forking isolation scope.- Specified by:
forkedCurrentScope
in interfaceIScopes
- Parameters:
creator
- debug information to see why scopes where forked- Returns:
- forked Scopes
-
forkedRootScopes
Description copied from interface:IScopes
Creates a fork of both current and isolation scope from root scopes.- Specified by:
forkedRootScopes
in interfaceIScopes
- Parameters:
creator
- debug information to see why scopes where forked- Returns:
- forked Scopes
-
makeCurrent
Description copied from interface:IScopes
Stores this Scopes in store, making it the current one that is used by static API.- Specified by:
makeCurrent
in interfaceIScopes
- Returns:
- a token you should call .close() on when you're done.
-
getScope
Description copied from interface:IScopes
Returns the current scope of this Scopes. -
getIsolationScope
Description copied from interface:IScopes
Returns the isolation scope of this Scopes.- Specified by:
getIsolationScope
in interfaceIScopes
- Returns:
- isolation scope
-
getGlobalScope
Description copied from interface:IScopes
Returns the global scope.- Specified by:
getGlobalScope
in interfaceIScopes
- Returns:
- global scope
-
getParentScopes
Description copied from interface:IScopes
Returns the parent of this Scopes instance or null, if it does not have a parent. The parent is the Scopes instance this instance was forked from.- Specified by:
getParentScopes
in interfaceIScopes
- Returns:
- parent Scopes or null
-
isAncestorOf
Description copied from interface:IScopes
Checks whether this Scopes instance is direct or indirect parent of the other Scopes instance.- Specified by:
isAncestorOf
in interfaceIScopes
- Parameters:
otherScopes
- Scopes instance that could be a direct or indirect child.- Returns:
- true if this Scopes instance is a direct or indirect parent of the other Scopes.
-
captureTransaction
@Internal @NotNull public @NotNull SentryId captureTransaction(@NotNull @NotNull SentryTransaction transaction, @Nullable @Nullable TraceContext traceContext, @Nullable @Nullable Hint hint, @Nullable @Nullable ProfilingTraceData profilingTraceData) Description copied from interface:IScopes
Captures the transaction and enqueues it for sending to Sentry server.- Specified by:
captureTransaction
in interfaceIScopes
- Parameters:
transaction
- the transactiontraceContext
- the trace contexthint
- the hintsprofilingTraceData
- the profiling trace data- Returns:
- transaction's id
-
startTransaction
@NotNull public @NotNull ITransaction startTransaction(@NotNull @NotNull TransactionContext transactionContext, @NotNull @NotNull TransactionOptions transactionOptions) Description copied from interface:IScopes
Creates a Transaction and returns the instance. Based on the passed transaction context and transaction options the decision if transaction is sampled will be taken byTracesSampler
.- Specified by:
startTransaction
in interfaceIScopes
- Parameters:
transactionContext
- the transaction contexttransactionOptions
- the transaction options- Returns:
- created transaction.
-
setSpanContext
@Internal public void setSpanContext(@NotNull @NotNull Throwable throwable, @NotNull @NotNull ISpan span, @NotNull @NotNull String transactionName) Description copied from interface:IScopes
AssociatesISpan
and the transaction name with theThrowable
. Used to determine in which trace the exception has been thrown in framework integrations.- Specified by:
setSpanContext
in interfaceIScopes
- Parameters:
throwable
- the throwablespan
- the span contexttransactionName
- the transaction name
-
getSpan
Description copied from interface:IScopes
Gets the current active transaction or span. -
setActiveSpan
- Specified by:
setActiveSpan
in interfaceIScopes
-
getTransaction
Description copied from interface:IScopes
Returns the transaction.- Specified by:
getTransaction
in interfaceIScopes
- Returns:
- the transaction or null when no active transaction is running.
-
getOptions
Description copied from interface:IScopes
Gets theSentryOptions
attached to current scope.- Specified by:
getOptions
in interfaceIScopes
- Returns:
- the options attached to current scope.
-
isCrashedLastRun
Description copied from interface:IScopes
Returns if the App has crashed (Process has terminated) during the last run. It only returns true or false if offline caching {SentryOptions.getCacheDirPath()
} is set with a valid dir.If the call to this method is early in the App lifecycle and the SDK could not check if the App has crashed in the background, the check is gonna do IO in the calling thread.
- Specified by:
isCrashedLastRun
in interfaceIScopes
- Returns:
- true if App has crashed, false otherwise, and null if not evaluated yet
-
reportFullyDisplayed
public void reportFullyDisplayed()Description copied from interface:IScopes
Report a screen has been fully loaded. That means all data needed by the UI was loaded. If time-to-full-display tracing {SentryOptions.isEnableTimeToFullDisplayTracing()
} is disabled this call is ignored.This method is safe to be called multiple times. If the time-to-full-display span is already finished, this call will be ignored.
- Specified by:
reportFullyDisplayed
in interfaceIScopes
-
continueTrace
@Nullable public @Nullable TransactionContext continueTrace(@Nullable @Nullable String sentryTrace, @Nullable @Nullable List<String> baggageHeaders) Description copied from interface:IScopes
Continue a trace based on HTTP header values. If no "sentry-trace" header is provided a random trace ID and span ID is created.- Specified by:
continueTrace
in interfaceIScopes
- Parameters:
sentryTrace
- "sentry-trace" headerbaggageHeaders
- "baggage" headers- Returns:
- a transaction context for starting a transaction or null if performance is disabled
-
getTraceparent
Description copied from interface:IScopes
Returns the "sentry-trace" header that allows tracing across services. Can also be used in <meta> HTML tags. Also seeIScopes.getBaggage()
.- Specified by:
getTraceparent
in interfaceIScopes
- Returns:
- sentry trace header or null
-
getBaggage
Description copied from interface:IScopes
Returns the "baggage" header that allows tracing across services. Can also be used in <meta> HTML tags. Also seeIScopes.getTraceparent()
.- Specified by:
getBaggage
in interfaceIScopes
- Returns:
- baggage header or null
-
captureCheckIn
- Specified by:
captureCheckIn
in interfaceIScopes
-
getRateLimiter
- Specified by:
getRateLimiter
in interfaceIScopes
-
captureReplay
@NotNull public @NotNull SentryId captureReplay(@NotNull @NotNull SentryReplayEvent replay, @Nullable @Nullable Hint hint) - Specified by:
captureReplay
in interfaceIScopes
-
IScopes.forkedScopes(String)
orIScopes.forkedCurrentScope(String)
instead.