getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
39.28k stars 4.21k forks source link

Make "raw search" work across all fields #79971

Open joshuawarner32 opened 4 weeks ago

joshuawarner32 commented 4 weeks ago

Problem Statement

I want to quickly search across all fields in an exception - e.g. stack.function, error.type, etc etc etc. This could be because I'm not sure where the string might appear and want to be conservative, or it might be because I as a new user of Sentry don't know I have to (or need to!) search in specific fields.

Recent situation: I got notified about a new exception via our previous (pre-Sentry) exception tracking system. I wanted to find the corresponding exception in Sentry (and related exceptions). I go to the Sentry search box and add "nt_escape_unicode_path" on the end (no quotes), which is a key function name in the stacktrace. I get back four issues, each with a single hit/instance - but I'm expecting to see an exception with tens of thousands of hits. None of the stack traces look similar.

My first thought in this situation is, "well, I guess sentry is broken - either search isn't working or ingestion isn't working in this case".

Not a good look!

Solution Brainstorm

It's unclear to me what "raw search" (i.e. just putting text at the end of the search field) is currently searching over - but I contend it ought to be searching over any text field / property on an issue.

That's the way literally every other product I've ever used works.

Product Area

Issues

getsantry[bot] commented 4 weeks ago

Auto-routing to @getsentry/product-owners-issues for triage ⏲️

leeandher commented 4 weeks ago

With the amount of data sentry ingests alongside events and issues, it's not possible for us to provide a raw text search across all attributes of events. You can specify tags or other pieces of data which we do index for you to search on, but searching the entire payload is not something we can support at the moment.

That said, we could definitely better communicate what fields the "raw text search" will scour within the app. Thank you for bringing this up, we want to make sure new customers aren't getting stuck during their first few moments with Sentry in this way.

I will bring this up with the team and see if we can find a way forward. In the meantime, we have some documentation on effectively using search and searchable properties which may help your search experience.

rachrwang commented 3 weeks ago

@joshuawarner32 - thank you for sharing this feedback! Can you share more about what types of fields you were trying to do raw text search on, and if there were any gaps with trying to do so with structured search?

joshuawarner32 commented 3 weeks ago

Given the existing Sentry functionality, I should have been using stack.function here, but (1) I didn't know about that at the time, and (2) I don't want to have to type that in.

Also, (3) all of the per-field searches seem to be phrased as e.g. stack.function is <whatever> - but AFAICT for at least some fields it behaves like <field> CONTAINS <text>, so I don't know whether to trust it, and whether it's going to do <is> or <contains> behavior.

If you can do text search on individual fields, you can surely do text search on the concatenation of all those fields you were already searching.

If I may be slightly spicy: Full text search should be table stakes for any SaaS product developed in the last 10 years.

leeandher commented 3 weeks ago

@joshuawarner32 This feedback definitely makes sense, and there are definitely things we could be more clear about in the UX, and help users find what they're looking for. There may be some upcoming work in which we can factor in this feedback and come up with a way forward, but for now we'll keep this open and on our backlog.