Package io.sentry
Class HubAdapter
- java.lang.Object
-
- io.sentry.HubAdapter
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBreadcrumb(@NotNull Breadcrumb breadcrumb, @Nullable java.util.Map<java.lang.String,java.lang.Object> hint)
Adds a breadcrumb to the current Scopevoid
bindClient(@NotNull ISentryClient client)
Binds a different client to the hub@NotNull SentryId
captureEnvelope(@NotNull SentryEnvelope envelope, @Nullable java.util.Map<java.lang.String,java.lang.Object> hint)
Captures an envelope.@NotNull SentryId
captureEvent(@NotNull SentryEvent event, @Nullable java.util.Map<java.lang.String,java.lang.Object> hint)
Captures the event.@NotNull SentryId
captureException(@NotNull java.lang.Throwable throwable, @Nullable java.util.Map<java.lang.String,java.lang.Object> hint)
Captures the exception.@NotNull SentryId
captureMessage(@NotNull java.lang.String message, @NotNull SentryLevel level)
Captures the message.@NotNull SentryId
captureTransaction(@NotNull SentryTransaction transaction, @Nullable TraceState traceState, @Nullable java.util.Map<java.lang.String,java.lang.Object> 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
clearBreadcrumbs()
Deletes current breadcrumbs from the current scope.@NotNull IHub
clone()
Clones the Hubvoid
close()
Flushes out the queue for up to timeout seconds and disable the Hub.void
configureScope(@NotNull ScopeCallback callback)
Configures the scope through the callback.void
endSession()
Ends the current sessionvoid
flush(long timeoutMillis)
Flushes events queued up, but keeps the Hub enabled.static HubAdapter
getInstance()
@NotNull SentryId
getLastEventId()
Last event id recorded in the current scope@NotNull SentryOptions
getOptions()
Gets theSentryOptions
attached to current scope.@Nullable ISpan
getSpan()
Gets the current active transaction or span.@Nullable java.lang.Boolean
isCrashedLastRun()
Returns if the App has crashed (Process has terminated) during the last run.boolean
isEnabled()
Check if the Hub is enabled/active.void
popScope()
Removes the first scopevoid
pushScope()
Pushes a new scope while inheriting the current scope's data.void
removeExtra(@NotNull java.lang.String key)
Removes the extra key to an arbitrary value to the current Scopevoid
removeTag(@NotNull java.lang.String key)
Removes the tag to a string value to the current Scopevoid
setExtra(@NotNull java.lang.String key, @NotNull java.lang.String value)
Sets the extra key to an arbitrary value to the current Scope, overwriting a potential previous valuevoid
setFingerprint(@NotNull java.util.List<java.lang.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 java.lang.Throwable throwable, @NotNull ISpan span, @NotNull java.lang.String transactionName)
AssociatesISpan
and the transaction name with theThrowable
.void
setTag(@NotNull java.lang.String key, @NotNull java.lang.String value)
Sets the tag to a string value to the current Scope, overwriting a potential previous valuevoid
setTransaction(@Nullable java.lang.String transaction)
Sets the name of the current transaction to the current Scope.void
setUser(@Nullable User user)
Shallow merges user configuration (email, username, etc) to the current Scope.void
startSession()
Starts a new session.@NotNull ITransaction
startTransaction(@NotNull TransactionContext transactionContexts)
Creates a Transaction and returns the instance.@NotNull ITransaction
startTransaction(@NotNull TransactionContext transactionContexts, @Nullable CustomSamplingContext customSamplingContext, boolean bindToScope)
Creates a Transaction and returns the instance.@NotNull ITransaction
startTransaction(@NotNull TransactionContext transactionContexts, @Nullable CustomSamplingContext customSamplingContext, boolean bindToScope, @Nullable java.util.Date startTimestamp)
@NotNull ITransaction
startTransaction(@NotNull TransactionContext transactionContexts, @Nullable CustomSamplingContext customSamplingContext, boolean bindToScope, @Nullable java.util.Date startTimestamp, boolean waitForChildren, @Nullable TransactionFinishedCallback transactionFinishedCallback)
@Nullable SentryTraceHeader
traceHeaders()
Returns trace header of active transaction ornull
if no transaction is active.void
withScope(@NotNull ScopeCallback callback)
Runs the callback with a new 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.IHub
addBreadcrumb, addBreadcrumb, addBreadcrumb, captureEnvelope, captureEvent, captureException, captureMessage, captureTransaction, captureTransaction, captureTransaction, startTransaction, startTransaction, startTransaction, startTransaction, startTransaction, startTransaction, startTransaction
-
-
-
-
Method Detail
-
getInstance
public static HubAdapter getInstance()
-
isEnabled
public boolean isEnabled()
Description copied from interface:IHub
Check if the Hub is enabled/active.
-
captureEvent
@NotNull public @NotNull SentryId captureEvent(@NotNull @NotNull SentryEvent event, @Nullable @Nullable java.util.Map<java.lang.String,java.lang.Object> hint)
Description copied from interface:IHub
Captures the event.- Specified by:
captureEvent
in interfaceIHub
- 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
-
captureMessage
@NotNull public @NotNull SentryId captureMessage(@NotNull @NotNull java.lang.String message, @NotNull @NotNull SentryLevel level)
Description copied from interface:IHub
Captures the message.- Specified by:
captureMessage
in interfaceIHub
- Parameters:
message
- The message to send.level
- The message level.- Returns:
- The Id (SentryId object) of the event
-
captureEnvelope
@Internal @NotNull public @NotNull SentryId captureEnvelope(@NotNull @NotNull SentryEnvelope envelope, @Nullable @Nullable java.util.Map<java.lang.String,java.lang.Object> hint)
Description copied from interface:IHub
Captures an envelope.- Specified by:
captureEnvelope
in interfaceIHub
- 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 java.lang.Throwable throwable, @Nullable @Nullable java.util.Map<java.lang.String,java.lang.Object> hint)
Description copied from interface:IHub
Captures the exception.- Specified by:
captureException
in interfaceIHub
- 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
-
captureUserFeedback
public void captureUserFeedback(@NotNull @NotNull UserFeedback userFeedback)
Description copied from interface:IHub
Captures a manually created user feedback and sends it to Sentry.- Specified by:
captureUserFeedback
in interfaceIHub
- Parameters:
userFeedback
- The user feedback to send to Sentry.
-
startSession
public void startSession()
Description copied from interface:IHub
Starts a new session. If there's a running session, it ends it before starting the new one.- Specified by:
startSession
in interfaceIHub
-
endSession
public void endSession()
Description copied from interface:IHub
Ends the current session- Specified by:
endSession
in interfaceIHub
-
close
public void close()
Description copied from interface:IHub
Flushes out the queue for up to timeout seconds and disable the Hub.
-
addBreadcrumb
public void addBreadcrumb(@NotNull @NotNull Breadcrumb breadcrumb, @Nullable @Nullable java.util.Map<java.lang.String,java.lang.Object> hint)
Description copied from interface:IHub
Adds a breadcrumb to the current Scope- Specified by:
addBreadcrumb
in interfaceIHub
- Parameters:
breadcrumb
- the breadcrumbhint
- SDK specific but provides high level information about the origin of the event
-
setLevel
public void setLevel(@Nullable @Nullable SentryLevel level)
Description copied from interface:IHub
Sets the level of all events sent within current Scope
-
setTransaction
public void setTransaction(@Nullable @Nullable java.lang.String transaction)
Description copied from interface:IHub
Sets the name of the current transaction to the current Scope.- Specified by:
setTransaction
in interfaceIHub
- Parameters:
transaction
- the transaction
-
setUser
public void setUser(@Nullable @Nullable User user)
Description copied from interface:IHub
Shallow merges user configuration (email, username, etc) to the current Scope.
-
setFingerprint
public void setFingerprint(@NotNull @NotNull java.util.List<java.lang.String> fingerprint)
Description copied from interface:IHub
Sets the fingerprint to group specific events together to the current Scope.- Specified by:
setFingerprint
in interfaceIHub
- Parameters:
fingerprint
- the fingerprints
-
clearBreadcrumbs
public void clearBreadcrumbs()
Description copied from interface:IHub
Deletes current breadcrumbs from the current scope.- Specified by:
clearBreadcrumbs
in interfaceIHub
-
setTag
public void setTag(@NotNull @NotNull java.lang.String key, @NotNull @NotNull java.lang.String value)
Description copied from interface:IHub
Sets the tag to a string value to the current Scope, overwriting a potential previous value
-
removeTag
public void removeTag(@NotNull @NotNull java.lang.String key)
Description copied from interface:IHub
Removes the tag to a string value to the current Scope
-
setExtra
public void setExtra(@NotNull @NotNull java.lang.String key, @NotNull @NotNull java.lang.String value)
Description copied from interface:IHub
Sets the extra key to an arbitrary value to the current Scope, overwriting a potential previous value
-
removeExtra
public void removeExtra(@NotNull @NotNull java.lang.String key)
Description copied from interface:IHub
Removes the extra key to an arbitrary value to the current Scope- Specified by:
removeExtra
in interfaceIHub
- Parameters:
key
- the key
-
getLastEventId
@NotNull public @NotNull SentryId getLastEventId()
Description copied from interface:IHub
Last event id recorded in the current scope- Specified by:
getLastEventId
in interfaceIHub
- Returns:
- last SentryId
-
pushScope
public void pushScope()
Description copied from interface:IHub
Pushes a new scope while inheriting the current scope's data.
-
popScope
public void popScope()
Description copied from interface:IHub
Removes the first scope
-
withScope
public void withScope(@NotNull @NotNull ScopeCallback callback)
Description copied from interface:IHub
Runs the callback with a new scope which gets dropped at the end
-
configureScope
public void configureScope(@NotNull @NotNull ScopeCallback callback)
Description copied from interface:IHub
Configures the scope through the callback.- Specified by:
configureScope
in interfaceIHub
- Parameters:
callback
- The configure scope callback.
-
bindClient
public void bindClient(@NotNull @NotNull ISentryClient client)
Description copied from interface:IHub
Binds a different client to the hub- Specified by:
bindClient
in interfaceIHub
- Parameters:
client
- the client.
-
flush
public void flush(long timeoutMillis)
Description copied from interface:IHub
Flushes events queued up, but keeps the Hub enabled. Not implemented yet.
-
captureTransaction
@NotNull public @NotNull SentryId captureTransaction(@NotNull @NotNull SentryTransaction transaction, @Nullable @Nullable TraceState traceState, @Nullable @Nullable java.util.Map<java.lang.String,java.lang.Object> hint, @Nullable @Nullable ProfilingTraceData profilingTraceData)
Description copied from interface:IHub
Captures the transaction and enqueues it for sending to Sentry server.- Specified by:
captureTransaction
in interfaceIHub
- Parameters:
transaction
- the transactiontraceState
- the trace statehint
- the hintprofilingTraceData
- the profiling trace data- Returns:
- transaction's id
-
startTransaction
@NotNull public @NotNull ITransaction startTransaction(@NotNull @NotNull TransactionContext transactionContexts)
Description copied from interface:IHub
Creates a Transaction and returns the instance.- Specified by:
startTransaction
in interfaceIHub
- Parameters:
transactionContexts
- the transaction contexts- Returns:
- created transaction
-
startTransaction
@NotNull public @NotNull ITransaction startTransaction(@NotNull @NotNull TransactionContext transactionContexts, @Nullable @Nullable CustomSamplingContext customSamplingContext, boolean bindToScope)
Description copied from interface:IHub
Creates a Transaction and returns the instance. Based on the passed transaction and sampling contexts the decision if transaction is sampled will be taken byTracesSampler
.- Specified by:
startTransaction
in interfaceIHub
- Parameters:
transactionContexts
- the transaction contextcustomSamplingContext
- the sampling contextbindToScope
- if transaction should be bound to scope- Returns:
- created transaction.
-
startTransaction
@Internal @NotNull public @NotNull ITransaction startTransaction(@NotNull @NotNull TransactionContext transactionContexts, @Nullable @Nullable CustomSamplingContext customSamplingContext, boolean bindToScope, @Nullable @Nullable java.util.Date startTimestamp)
- Specified by:
startTransaction
in interfaceIHub
-
startTransaction
@Internal @NotNull public @NotNull ITransaction startTransaction(@NotNull @NotNull TransactionContext transactionContexts, @Nullable @Nullable CustomSamplingContext customSamplingContext, boolean bindToScope, @Nullable @Nullable java.util.Date startTimestamp, boolean waitForChildren, @Nullable @Nullable TransactionFinishedCallback transactionFinishedCallback)
- Specified by:
startTransaction
in interfaceIHub
-
traceHeaders
@Nullable public @Nullable SentryTraceHeader traceHeaders()
Description copied from interface:IHub
Returns trace header of active transaction ornull
if no transaction is active.- Specified by:
traceHeaders
in interfaceIHub
- Returns:
- trace header or null
-
setSpanContext
public void setSpanContext(@NotNull @NotNull java.lang.Throwable throwable, @NotNull @NotNull ISpan span, @NotNull @NotNull java.lang.String transactionName)
Description copied from interface:IHub
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 interfaceIHub
- Parameters:
throwable
- the throwablespan
- the span contexttransactionName
- the transaction name
-
getSpan
@Nullable public @Nullable ISpan getSpan()
Description copied from interface:IHub
Gets the current active transaction or span.
-
getOptions
@NotNull public @NotNull SentryOptions getOptions()
Description copied from interface:IHub
Gets theSentryOptions
attached to current scope.- Specified by:
getOptions
in interfaceIHub
- Returns:
- the options attached to current scope.
-
isCrashedLastRun
@Nullable public @Nullable java.lang.Boolean isCrashedLastRun()
Description copied from interface:IHub
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 interfaceIHub
- Returns:
- true if App has crashed, false otherwise, and null if not evaluated yet
-
-