diff --git a/app/artifact-cas/internal/server/grpc.go b/app/artifact-cas/internal/server/grpc.go index ea764bed9..2a933f3ce 100644 --- a/app/artifact-cas/internal/server/grpc.go +++ b/app/artifact-cas/internal/server/grpc.go @@ -32,6 +32,7 @@ import ( jwtMiddleware "github.com/go-kratos/kratos/v2/middleware/auth/jwt" "github.com/go-kratos/kratos/v2/middleware/selector" jwt "github.com/golang-jwt/jwt/v4" + "github.com/prometheus/client_golang/prometheus" "google.golang.org/genproto/googleapis/bytestream" "github.com/go-kratos/kratos/v2/log" @@ -92,6 +93,10 @@ func NewGRPCServer(c *conf.Server, authConf *conf.Auth, byteService *service.Byt grpc.UnaryInterceptor(grpc_prometheus.UnaryServerInterceptor), } + // Opt-in histogram metrics for the interceptor + // Since we track uploads / downloads we'll increase the buckets + grpc_prometheus.EnableHandlingTimeHistogram(grpc_prometheus.WithHistogramBuckets(prometheus.ExponentialBucketsRange(0.5, 60, 8))) + if c.Grpc.Network != "" { opts = append(opts, grpc.Network(c.Grpc.Network)) } diff --git a/app/controlplane/internal/server/grpc.go b/app/controlplane/internal/server/grpc.go index 7ee404734..51dd9bcda 100644 --- a/app/controlplane/internal/server/grpc.go +++ b/app/controlplane/internal/server/grpc.go @@ -74,6 +74,9 @@ type Opts struct { // NewGRPCServer new a gRPC server. func NewGRPCServer(opts *Opts) (*grpc.Server, error) { + // Opt-in histogram metrics for the interceptor + grpc_prometheus.EnableHandlingTimeHistogram() + var serverOpts = []grpc.ServerOption{ grpc.Middleware(craftMiddleware(opts)...), grpc.UnaryInterceptor(grpc_prometheus.UnaryServerInterceptor),