Skip to content

Latest commit

 

History

History
47 lines (37 loc) · 1.3 KB

README.md

File metadata and controls

47 lines (37 loc) · 1.3 KB

Go gRPC Middleware for Sentry

GitHub Workflow Apache 2.0 License

gRPC Go middleware for Sentry: server and client interceptors

Middleware

import (
    "github.com/getsentry/sentry-go"

    grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware"
    grpc_sentry "github.com/johnbellone/grpc-middleware-sentry"
)

func main() {
	err = sentry.Init(sentry.ClientOptions{
		Dsn: "https://[email protected]/42",
		Debug: false,
		Environment: "development",
		Release: "[email protected]",
		IgnoreErrors: []string{},
	})
	defer sentry.Flush(2 * time.Second)
	if err != nil {
		logger.Fatal(err.Error())
	}

	s := grpc.NewServer(
		grpc.StreamInterceptor(grpc_middleware.ChainStreamServer(
			grpc_sentry.StreamServerInterceptor(),
		)),
		grpc.UnaryInterceptor(grpc_middleware.ChainUnaryServer(
			grpc_sentry.UnaryServerInterceptor(),
		)),
	)
}

License

grpc-middleware-sentry is released under the Apache 2.0 license. See the LICENSE file for details.