Struct relay_event_schema::protocol::Thread
source · pub struct Thread {
pub id: Annotated<ThreadId>,
pub name: Annotated<String>,
pub stacktrace: Annotated<Stacktrace>,
pub raw_stacktrace: Annotated<RawStacktrace>,
pub crashed: Annotated<bool>,
pub current: Annotated<bool>,
pub main: Annotated<bool>,
pub state: Annotated<String>,
pub held_locks: Annotated<Object<LockReason>>,
pub other: Object<Value>,
}
Expand description
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.
{
"threads": {
"values": [
{
"id": "0",
"name": "main",
"crashed": true,
"stacktrace": {}
}
]
}
}
Fields§
§id: Annotated<ThreadId>
The ID of the thread. Typically a number or numeric string.
Needs to be unique among the threads. An exception can set the thread_id
attribute to cross-reference this thread.
name: Annotated<String>
Display name of this thread.
stacktrace: Annotated<Stacktrace>
Stack trace containing frames of this exception.
The thread that crashed with an exception should not have a stack trace, but instead, the thread_id
attribute should be set on the exception and Sentry will connect the two.
raw_stacktrace: Annotated<RawStacktrace>
Optional unprocessed stack trace.
crashed: Annotated<bool>
A flag indicating whether the thread crashed. Defaults to false
.
current: Annotated<bool>
A flag indicating whether the thread was in the foreground. Defaults to false
.
main: Annotated<bool>
A flag indicating whether the thread was responsible for rendering the user interface.
state: Annotated<String>
Thread state at the time of the crash.
held_locks: Annotated<Object<LockReason>>
Represents a collection of locks (java monitor objects) held by a thread.
A map of lock object addresses and their respective lock reason/details.
other: Object<Value>
Additional arbitrary fields for forwards compatibility.
Trait Implementations§
source§impl FromValue for Thread
impl FromValue for Thread
source§fn from_value(__value: Annotated<Value>) -> Annotated<Self>
fn from_value(__value: Annotated<Value>) -> Annotated<Self>
source§impl IntoValue for Thread
impl IntoValue for Thread
source§fn into_value(self) -> Value
fn into_value(self) -> Value
source§fn serialize_payload<S>(
&self,
__serializer: S,
__behavior: SkipSerialization,
) -> Result<S::Ok, S::Error>where
Self: Sized,
S: Serializer,
fn serialize_payload<S>(
&self,
__serializer: S,
__behavior: SkipSerialization,
) -> Result<S::Ok, S::Error>where
Self: Sized,
S: Serializer,
source§fn extract_child_meta(&self) -> MetaMapwhere
Self: Sized,
fn extract_child_meta(&self) -> MetaMapwhere
Self: Sized,
§fn extract_meta_tree(value: &Annotated<Self>) -> MetaTreewhere
Self: Sized,
fn extract_meta_tree(value: &Annotated<Self>) -> MetaTreewhere
Self: Sized,
source§impl ProcessValue for Thread
impl ProcessValue for Thread
source§fn value_type(&self) -> EnumSet<ValueType>
fn value_type(&self) -> EnumSet<ValueType>
source§fn process_value<P>(
&mut self,
__meta: &mut Meta,
__processor: &mut P,
__state: &ProcessingState<'_>,
) -> ProcessingResultwhere
P: Processor,
fn process_value<P>(
&mut self,
__meta: &mut Meta,
__processor: &mut P,
__state: &ProcessingState<'_>,
) -> ProcessingResultwhere
P: Processor,
source§fn process_child_values<P>(
&mut self,
__processor: &mut P,
__state: &ProcessingState<'_>,
) -> ProcessingResultwhere
P: Processor,
fn process_child_values<P>(
&mut self,
__processor: &mut P,
__state: &ProcessingState<'_>,
) -> ProcessingResultwhere
P: Processor,
impl StructuralPartialEq for Thread
Auto Trait Implementations§
impl Freeze for Thread
impl RefUnwindSafe for Thread
impl Send for Thread
impl Sync for Thread
impl Unpin for Thread
impl UnwindSafe for Thread
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)