getsentry / getsentry/sentry

Trace Explorer - Search intra- trace relationships

Open
#100,183 6 comments 0 reactions 0 assignees View on GitHub
Product Area: Insights
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
22h 21m
Merged PRs (30d)
586

Description

### Problem Statement

I am attempting to craft a query which could track e-commerce abandoned carts. My goal specifically was to return all `/checkout` transactions that `has` a `replayId` and **does not contain** a `checkout.completion` span description.

Currently, the trace explorer search only operates on individual spans, though they can be grouped by trace. Though, without the ability to search traces as an entity, the above does not appear to be possible, even with additional tagging.

### Solution Brainstorm

We need the ability to query for full traces, allowing us to query multiple spans within.

For my example, the first query `transaction is /cart` already filters down to the correct type of transaction, and returns a list of traces that contain a span with that op. With that list of traces, we would then need to be able filter down further, with an AND style operator.

`transaction is /cart && span.op is not checkout.complete`

### Product Area

Insights

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating the Trace Explorer search implementation and its existing span-query tests, then define how trace-level AND and negative span conditions should behave; done means abandoned-cart traces can be found with the proposed query.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
observability-sre, search
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.