Package io.sentry

Class Breadcrumb

java.lang.Object
io.sentry.Breadcrumb
All Implemented Interfaces:
JsonSerializable, JsonUnknown

public final class Breadcrumb extends Object implements JsonUnknown, JsonSerializable
Series of application events
  • Constructor Details

    • Breadcrumb

      public Breadcrumb(@NotNull @NotNull Date timestamp)
      Breadcrumb ctor
      Parameters:
      timestamp - the timestamp
    • Breadcrumb

      public Breadcrumb()
      Breadcrumb ctor
    • Breadcrumb

      public Breadcrumb(@Nullable @Nullable String message)
      Breadcrumb ctor
      Parameters:
      message - the message
  • Method Details

    • http

      @NotNull public static @NotNull Breadcrumb http(@NotNull @NotNull String url, @NotNull @NotNull String method)
      Creates HTTP breadcrumb.
      Parameters:
      url - - the request URL
      method - - the request method
      Returns:
      the breadcrumb
    • http

      @NotNull public static @NotNull Breadcrumb http(@NotNull @NotNull String url, @NotNull @NotNull String method, @Nullable @Nullable Integer code)
      Creates HTTP breadcrumb.
      Parameters:
      url - - the request URL
      method - - the request method
      code - - the code result. Code can be null when http request did not finish or ended with network error
      Returns:
      the breadcrumb
    • transaction

      @NotNull public static @NotNull Breadcrumb transaction(@NotNull @NotNull String message)
      Creates transaction breadcrumb - describing a tracing event.
      Parameters:
      message - - the message
      Returns:
      the breadcrumb
    • debug

      @NotNull public static @NotNull Breadcrumb debug(@NotNull @NotNull String message)
      Creates debug breadcrumb - typically a log message. The data part is entirely undefined and as such, completely rendered as a key/value table.
      Parameters:
      message - - the message
      Returns:
      the breadcrumb
    • error

      @NotNull public static @NotNull Breadcrumb error(@NotNull @NotNull String message)
      Creates error breadcrumb.
      Parameters:
      message - - the message
      Returns:
      the breadcrumb
    • info

      @NotNull public static @NotNull Breadcrumb info(@NotNull @NotNull String message)
      Creates info breadcrumb - information that helps identify the root cause of the issue or for whom the error occurred.
      Parameters:
      message - - the message
      Returns:
      the breadcrumb
    • query

      @NotNull public static @NotNull Breadcrumb query(@NotNull @NotNull String message)
      Creates query breadcrumb - representing a query that was made in your application.
      Parameters:
      message - - the message
      Returns:
      the breadcrumb
    • ui

      @NotNull public static @NotNull Breadcrumb ui(@NotNull @NotNull String category, @NotNull @NotNull String message)
      Creates ui breadcrumb - a user interaction with your app's UI.
      Parameters:
      category - - the category, for example "click"
      message - - the message
      Returns:
      the breadcrumb
    • user

      @NotNull public static @NotNull Breadcrumb user(@NotNull @NotNull String category, @NotNull @NotNull String message)
      Creates user breadcrumb - a user interaction with your app's UI.
      Parameters:
      message - - the message
      Returns:
      the breadcrumb
    • userInteraction

      @NotNull public static @NotNull Breadcrumb userInteraction(@NotNull @NotNull String subCategory, @Nullable @Nullable String viewId, @Nullable @Nullable String viewClass)
      Creates user breadcrumb - a user interaction with your app's UI. The breadcrumb can contain additional data like viewId or viewClass. By default, the breadcrumb is captured with SentryLevel INFO level.
      Parameters:
      subCategory - - the category, for example "click"
      viewId - - the human-readable view id, for example "button_load"
      viewClass - - the fully qualified class name, for example "android.widget.Button"
      Returns:
      the breadcrumb
    • userInteraction

      @NotNull public static @NotNull Breadcrumb userInteraction(@NotNull @NotNull String subCategory, @Nullable @Nullable String viewId, @Nullable @Nullable String viewClass, @Nullable @Nullable String viewTag, @NotNull @NotNull Map<String,Object> additionalData)
      Creates user breadcrumb - a user interaction with your app's UI. The breadcrumb can contain additional data like viewId or viewClass. By default, the breadcrumb is captured with SentryLevel INFO level.
      Parameters:
      subCategory - - the category, for example "click"
      viewId - - the human-readable view id, for example "button_load"
      viewClass - - the fully qualified class name, for example "android.widget.Button"
      viewTag - - the custom tag of the view, for example "button_launch_rocket"
      additionalData - - additional properties to be put into the data bag
      Returns:
      the breadcrumb
    • userInteraction

      @NotNull public static @NotNull Breadcrumb userInteraction(@NotNull @NotNull String subCategory, @Nullable @Nullable String viewId, @Nullable @Nullable String viewClass, @NotNull @NotNull Map<String,Object> additionalData)
      Creates user breadcrumb - a user interaction with your app's UI. The breadcrumb can contain additional data like viewId or viewClass. By default, the breadcrumb is captured with SentryLevel INFO level.
      Parameters:
      subCategory - - the category, for example "click"
      viewId - - the human-readable view id, for example "button_load"
      viewClass - - the fully qualified class name, for example "android.widget.Button"
      additionalData - - additional properties to be put into the data bag
      Returns:
      the breadcrumb
    • getTimestamp

      @NotNull public @NotNull Date getTimestamp()
      Returns the Breadcrumb's timestamp
      Returns:
      the timestamp
    • getMessage

      @Nullable public @Nullable String getMessage()
      Returns the message
      Returns:
      the message
    • setMessage

      public void setMessage(@Nullable @Nullable String message)
      Sets the message
      Parameters:
      message - the message
    • getType

      @Nullable public @Nullable String getType()
      Returns the type
      Returns:
      the type
    • setType

      public void setType(@Nullable @Nullable String type)
      Sets the type
      Parameters:
      type - the type
    • getData

      @Internal @NotNull public @NotNull Map<String,Object> getData()
      Returns the data map
      Returns:
      the data map
    • getData

      @Nullable public @Nullable Object getData(@NotNull @NotNull String key)
      Returns the value of data[key] or null
      Parameters:
      key - the key
      Returns:
      the value or null
    • setData

      public void setData(@NotNull @NotNull String key, @NotNull @NotNull Object value)
      Sets an entry to the data's map
      Parameters:
      key - the key
      value - the value
    • removeData

      public void removeData(@NotNull @NotNull String key)
      Removes an entry from the data's map
      Parameters:
      key - the key
    • getCategory

      @Nullable public @Nullable String getCategory()
      Returns the category
      Returns:
      the category
    • setCategory

      public void setCategory(@Nullable @Nullable String category)
      Sets the category
      Parameters:
      category - the category
    • getLevel

      @Nullable public @Nullable SentryLevel getLevel()
      Returns the SentryLevel
      Returns:
      the level
    • setLevel

      public void setLevel(@Nullable @Nullable SentryLevel level)
      Sets the level
      Parameters:
      level - the level
    • getUnknown

      @Nullable public @Nullable Map<String,Object> getUnknown()
      Specified by:
      getUnknown in interface JsonUnknown
    • setUnknown

      public void setUnknown(@Nullable @Nullable Map<String,Object> unknown)
      Specified by:
      setUnknown in interface JsonUnknown
    • serialize

      public void serialize(@NotNull @NotNull JsonObjectWriter writer, @NotNull @NotNull ILogger logger) throws IOException
      Specified by:
      serialize in interface JsonSerializable
      Throws:
      IOException