getsentry / getsentry/sentry-go

gRPC trace propagation/continuation

Open
#1,328 6 comments 0 reactions 0 assignees View on GitHub
Feature Go Spans State: Needs Discussion
Dominant language
Go
Stars
1.1k
Forks
262
Avg merge
1d 48m
Merged PRs (30d)
7

Description

### Problem Statement

I will write in details later, but TLDR: We have one for HTTP and it's in the convention (docs here: https://docs.sentry.io/platforms/javascript/guides/node/tracing/distributed-tracing/), but we don't have that for gPRC.

### Solution Brainstorm

Maybe add the custom header name on the `ServerOptions` (https://github.com/getsentry/sentry-go/blob/9b7a5624089638c2ba32feb0f19ada8d43a6cc45/grpc/server.go#L24-L33)? Therefore:

```go
type ServerOptions struct {
// Repanic determines whether the application should re-panic after recovery.
Repanic bool

// WaitForDelivery determines if the interceptor should block until events are sent to Sentry.
WaitForDelivery bool

// Timeout sets the maximum duration for Sentry event delivery.
Timeout time.Duration

SentryTraceHeaderKey string
BaggageHeaderKey string
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.