codex-team / codex-team/hawk.javascript
[Hawk 2.0] Features for new catcher version
- Vorherrschende Sprache
- TypeScript
- Sterne
- 32
- Forks
- 4
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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](https://docs.codex.so/catcher-requirements)
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](https://vk.cc/9D0BwA) | 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 |
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne mit dem verlinkten catcher-Anforderungsdokument und vergleiche es mit der Feature-Tabelle des Issues. Es werden keine Quelldateien, Tests oder Einstiegspunkte genannt; ermittle zuerst, welche nicht abgehakte Anforderung noch relevant ist, und definiere dann die Fertigstellung für dieses einzelne Feature, bevor du mit der Arbeit beginnst.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- observability-sre
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 15/100