getsentry / getsentry/sentry

Issue details: Expand thread-scoped data

Open
#82,865 3 comments 0 reactions 0 assignees View on GitHub
Feature
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
22h 21m
Merged PRs (30d)
586

Description

### Problem Statement

Today, a partner sending data for native crashes has a series of Thread-scoped data.

For example:

key | value
-- | --
affinity_mask | 0x0000000000000007
current_core | 1
exception_address | 0x0000000000000000
exception_code | 2
exception_code_description | Access Violation Data
exception_thread | 355925
ideal_core | 1
lr_called | true
priority | 15
stack_bottom | 0x0000006a07a7b390
stack_top | 0x0000006a07b7b390

Currently, they send this via `threads.stacktrace[i].vars`, which is displayed under the frame, e.g:

![Image](https://github.com/user-attachments/assets/981278ec-45c0-4832-9544-f3ee23012d57)

Ideally this data is displayed outside the stack trace, but within the scope of the thread. So when the thread selector is used, the values get updated.

### Solution Brainstorm

Today, the Thread part of the protocol has a few fields, some specialized, but also a generic field: `other` for unknown top level fields to be kept and support forward compatibility

https://github.com/getsentry/relay/blob/fe3f09fd3accd2361887dd678dbe034f25139fce/relay-event-schema/src/protocol/thread.rs#L213-L249

Could we use the `other` field? Or should we add a specialized map?

Is `other` already displayed somewhere?

The current design would indicate values should be shown in this tag-like UI:
![Image](https://github.com/user-attachments/assets/72840626-bb83-475b-9ea3-7e3b7bfcc552)

Is there a way to pass values to be added there outside of the `exception` interface?

### Product Area

Issues

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.