Class SentryThread

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

public final class SentryThread extends Object implements JsonUnknown, JsonSerializable
A process thread of an event.

The Threads Interface specifies threads that were running at the time an event happened. These threads can also contain stack traces.

An event may contain one or more threads in an attribute named `threads`.

The following example illustrates the threads part of the event payload and omits other attributes for simplicity.

```json { "threads": { "values": [ { "id": "0", "name": "main", "crashed": true, "stacktrace": {} } ] } } ```

  • Constructor Details

    • SentryThread

      public SentryThread()
  • Method Details

    • getId

      @Nullable public @Nullable Long getId()
      Gets the Id of the thread.
      Returns:
      the thread id.
    • setId

      public void setId(@Nullable @Nullable Long id)
      Sets the Id of the thread.
      Parameters:
      id - the thread id.
    • getName

      @Nullable public @Nullable String getName()
      Gets the name of the thread.
      Returns:
      the name of the thread.
    • setName

      public void setName(@Nullable @Nullable String name)
      Sets the name of the thread.
      Parameters:
      name - the name of the thread.
    • isCrashed

      @Nullable public @Nullable Boolean isCrashed()
      Gets whether the crash happened on this thread.
      Returns:
      whether it was the crashed thread.
    • setCrashed

      public void setCrashed(@Nullable @Nullable Boolean crashed)
      Sets whether the crash happened on this thread.
      Parameters:
      crashed - whether it was the crashed thread.
    • isCurrent

      @Nullable public @Nullable Boolean isCurrent()
      Get an optional flag to indicate that the thread was in the foreground.
      Returns:
      whether the thread was in the foreground.
    • setCurrent

      public void setCurrent(@Nullable @Nullable Boolean current)
      Sets an optional flag to indicate that the thread was in the foreground.
      Parameters:
      current - whether the thread was in the foreground.
    • getStacktrace

      @Nullable public @Nullable SentryStackTrace getStacktrace()
      Gets the stacktrace of the thread.
      Returns:
      the thread stacktrace.
    • setStacktrace

      public void setStacktrace(@Nullable @Nullable SentryStackTrace stacktrace)
      Sets the stacktrace of the thread.
      Parameters:
      stacktrace - the thread stacktrace.
    • getPriority

      @Nullable public @Nullable Integer getPriority()
      Gets the priority of the thread.
      Returns:
      the thread priority.
    • setPriority

      public void setPriority(@Nullable @Nullable Integer priority)
      Sets the priority of the thread.
      Parameters:
      priority - of the thread.
    • isDaemon

      @Nullable public @Nullable Boolean isDaemon()
      Gets if this thread is a daemon thread.
      Returns:
      if this is a daemon thread.
    • setDaemon

      public void setDaemon(@Nullable @Nullable Boolean daemon)
      Sets if this is a daemon thread.
      Parameters:
      daemon - true if the thread is daemon thread. Otherwise false.
    • isMain

      @Nullable public @Nullable Boolean isMain()
      If applicable, a flag indicating whether the thread was responsible for rendering the user interface. On mobile platforms this is oftentimes referred to as the "main thread" or "ui thread".
      Returns:
      if its the main thread or not
    • setMain

      public void setMain(@Nullable @Nullable Boolean main)
      If applicable, a flag indicating whether the thread was responsible for rendering the user interface. On mobile platforms this is oftentimes referred to as the "main thread" or "ui thread".
      Parameters:
      main - if its the main thread or not
    • getState

      @Nullable public @Nullable String getState()
      Gets the state of the thread.
      Returns:
      the state of the thread.
    • setState

      public void setState(@Nullable @Nullable String state)
      Sets the state of the thread.
      Parameters:
      state - the state of the thread.
    • getHeldLocks

      @Nullable public @Nullable Map<String,SentryLockReason> getHeldLocks()
      Gets locks held by this thread.
      Returns:
      locks held by this thread
    • setHeldLocks

      public void setHeldLocks(@Nullable @Nullable Map<String,SentryLockReason> heldLocks)
      Sets locks held by this thread.
      Parameters:
      heldLocks - list of locks held by this thread
    • 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 ObjectWriter writer, @NotNull @NotNull ILogger logger) throws IOException
      Specified by:
      serialize in interface JsonSerializable
      Throws:
      IOException