exceptionless / Exceptionless

Exceptionless application
https://exceptionless.com
Apache License 2.0
2.41k stars 516 forks source link

Ability to search by stack signature data #357

Open Jaans opened 6 years ago

Jaans commented 6 years ago

We are struggling to find events via the search filter using the stacking information.

So we have lots of log messages (non exceptions) with the stacking information based on "Type", "MemberName" that it occurs in. Sample screenshot attached. image

We've tried all the combinations below to search/filter for it but none of them show up. What are we missing?

niemyjski commented 6 years ago

We are not indexing the stacking information on stacks. But you could search for events with error.targettype and error.targetmethod as described in https://github.com/exceptionless/Exceptionless/wiki/Filtering-Searching#searchable-fields--requirements. @ejsmith do you remember if there was any reason we were not indexing this?

Jaans commented 6 years ago

Thanks for the feedback. We use a custom manual stacking strategy for non-exception (log) messages. I don't think error.targettype and error.targetmethod even gets populated when it's not an exception.

I would be great is there is an ability to define - for a project - which "additional indexes" are needed. I'm not sure what that means for SaaS service if that impacts on additional storage and/or processing.

We could try and log the custom stacking information elsewhere in duplicate to try and get it searchable.

Thanks!!

niemyjski commented 6 years ago

@Jaans what you could do here is just place the field in the event's data bag via EventBuilder.SetProperty("name", value). As long as the value is a simple type you can search on it via data.name. Does this help?

niemyjski commented 3 years ago

@ejsmith What are your thoughts on this?

ejsmith commented 3 years ago

I think it would be good, but it requires us to have some sort of shared indexing slots to be able to make it work in a multi-tenant app. We might be able to do something simple like just add anything in the stacking info to a single field as keywords where you could just search that to get matches, but if that's not good enough then it would require a lot more effort.