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.