Trace Explorer - Search intra- trace relationships
- 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
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