getsentry / getsentry/sentry

View single transaction instead of whole trace

Open
#94,776 6 comments 0 reactions 0 assignees View on GitHub
Explore > Traces Feature
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
21h 10m
Merged PRs (30d)
635

Description

### Problem Statement

Most of our performance problems come from high level problems: slow sql queries, unnecessary queries, N+1 problems and slow http requests. Because of this, old single transaction view was better for profiling than actual profiling: it didn't show unnecessary information like all stack frames and it had more useful info like breadcrumbs and request body, which helped us to reconstruct query bindings without sending all of them to Sentry.

New Trace view, which replaced old single transaction view, makes this workflow harder. For long traces it shows too much unnecessary information like all other transactions and makes it harder to focus on transaction which needs to be investigated. Displaying transaction details in sidebar makes it harder to read them, especially on small laptop screens. Big header at the top of the page makes the problem even worse, because it occupies 1/4 of usable space on my screen.

### Solution Brainstorm

To solve the problem with screen estate, transaction/span details could be displayed below waterfall. This would allow scrolling past header and waterfall, thus expanding transaction details to whole screen.

To solve the problem with information overload, filters could be added to hide unnecessary transactions from waterfall and only show what's needed for investigating.

Showing more information from transaction in profiles could work, but it would require adding profiling overhead on top of tracing overhead, so it's an ideal solution in my case.

### Product Area

Performance

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating the Trace view and its transaction-details and waterfall UI, then get agreement on whether the change is layout, filtering, or both; done should be defined by the selected product behavior and its test coverage.

Written by the indexing model from the issue text.

Assessment

Domain
frontend, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.