grpc-ecosystem / grpc-ecosystem/grpc-spring

Add Sentry support

Open
#635 1 comment 8 reactions 0 assignees View on GitHub
enhancement help wanted
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.