Open
Description
The new version of the Hawk allows us to implement new features for the python catcher.
We need to implement support for these features. Common features and requirements are listed in this document
The following table lists all the things we need to implement:
Feature name | Why / Value for user | Linked issue/PR | Status |
---|---|---|---|
Bind global error handler | To catch all unhandled errors and send them to the collector | ✅ | |
Send caught errors to the hawk using universal Event Format | It is necessary to convert the error to a common format before sending, so we can process that error | ✅ | |
Collect and send code fragments for each line of Stacktrace | To display piece of code where error occurred in garage | ✅ | |
Allow to send events to the Hawk manually | User may want to send event to hawk manually (for example, he handled error in try/catch and additional wants to send error to see it in garage) | ✅ | |
Allow users to specify free-format context object with any data. Context can be specified globally (on initialization) and with every manually sent event. If both present, they should be merged. | To display provided context in garage for easier debugging | ✅ | |
Allow passing user object with a currently authenticated user, see Event Format. When user is not specified, the catcher should generate user with {id: 'user-unique token'} so Hawk can calculate Affected Users count. | To display affected users count and see info about users who encountered an error | ✅ | |
The catcher can pass language-specific data through the addons field | To display specific fields for each language in the garage (e.g. POST- and GET-data). Need needs to be considered separately for each language | ||
If possible, runtime variables values should be extracted from the Stacktrace and passed to the Hawk. | To display variables from runtime that caused error throwing. We need a research opportunity to do it for each language | ||
Send catcher version with event | To recommend user update his catcher version if he uses the old one | ||
Send Suspected Commits using git | To display possible commits that can lead to the error | ||
If possible, the Catcher should send error levels (Fatal, Warning, etc) | To display it in garage | ||
If possible, the Catcher should have an interface for integration with popular loggers. For example, Monolog for PHP. | For easier Hawk integration | ||
Remove sensitive data before sending events (e.g. password, tokens, etc) | To improve security | #58 | WIP |
Metadata
Metadata
Assignees
Labels
No labels