Skip to content

gRPC trace propagation/continuation #1328

Description

@aldy505

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 (

sentry-go/grpc/server.go

Lines 24 to 33 in 9b7a562

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
}
)? Therefore:

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
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status
    Waiting for: Product Owner

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions