Skip to content

[Hawk 2.0] Features for new catcher version #57

Open
@nikmel2803

Description

@nikmel2803

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions