grpc-ecosystem / grpc-ecosystem/grpc-spring
Add Sentry support
- Dominant language
- Java
- Stars
- 3.7k
- Forks
- 858
- PR merge metrics
- No merged PRs in 30d
Description
**The problem**
For those who use [Sentry](https://sentry.io/welcome/) as an error tracking solution, it'd be great to have a pluggable component `grpc-sentry-support` with the support for plugging Sentry integration in and setting it up through the `properties` file.
The functionality may include (sorted by my personal judgment about the priority, the higher the more in demand, correct me if I'm wrong or suggest your criteria for sorting):
* Sending to Sentry so-called *Breadcrumbs* including an exception stack trace, WARN and INFO level logs;
* Sending to Sentry distributed tracing data.
**The solution**
It can be solved by introducing `SentryInterceptor`s for each case above accordingly.
**Alternatives considered**
There's [a solution `sentry-grpc`](https://github.com/m2-oss/sentry-grpc) based on [an alternative starter `LogNet/grpc-spring-boot-starter`](https://github.com/LogNet/grpc-spring-boot-starter) which has the first case above covered. As it seems, this starter (`yidongnan/grpc-spring-boot-starter`) overtakes the already present `sentry-grpc` solution with its other features. So the idea is to add Sentry support to `yidongnan/grpc-spring-boot-starter` to equal the Sentry functionality.
**Additional context**
Sentry has its' popularity in the front-end world and in some companies where it's already present it may be easy to shift towards collecting backend data in this system as well.
Contributor guide
Research direction
Start by reviewing the repository's existing pluggable components and properties-file configuration, then compare the linked sentry-grpc solution. The work is complete when a grpc-sentry-support component provides the proposed SentryInterceptors for breadcrumbs, exception and log reporting, and distributed tracing as scoped by the project.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- grpc, java, spring-boot
- Domain
- backend, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100