-
Notifications
You must be signed in to change notification settings - Fork 33
Description
Is your feature request related to a problem? Please describe.
I'm using error tracker to ignore some very flaky integrations with systems I don't control. The most common thing I do is to go to my module implementing ErrorTracker.Ignorer and add an ignore?/2 implementation that matches on kind and reason.
I had mistakenly thought for an embarrassing long time that the kind would be an elixir module (eg: MyApp.ExternalSystem.Client), which seems reasonable as the error just occurred and the module could reasonably be captured as-is. However when I went to debug why certain errors were not being ignored I saw that the kind was actually a string (eg: "Elixir.MyApp.ExternalSystem.Client").
I think this is a reasonable solution, but after reading and re-reading the docs, it's not clear to me that kind should be a string.
Describe the solution you'd like
I'd like to contribute some documentation or type hints that make it more obvious that the kind of ErrorTracker.Error.kind is actually a string and never a module (or atom).
Describe alternatives you've considered
Leave users in the blank and let them accidentally write rules that don't work and they have to debug it themselves to understand why ? ¯\_(ツ)_/¯
Additional context
I'd be happy to improve documentation for this, assuming we agree this is a valuable change.