Skip to content

Commit dc8d2d2

Browse files
Merge pull request #656 from cert-manager/migrate_prometheus
Migrate from `github.com/grpc-ecosystem/go-grpc-prometheus` to `github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus`
2 parents c5cf7e9 + 2458f77 commit dc8d2d2

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

LICENSES

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ github.com/google/uuid,BSD-3-Clause
8484
github.com/gorilla/websocket,BSD-2-Clause
8585
github.com/grafana/regexp,BSD-3-Clause
8686
github.com/gregjones/httpcache,MIT
87+
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus,Apache-2.0
8788
github.com/grpc-ecosystem/go-grpc-middleware/v2,Apache-2.0
88-
github.com/grpc-ecosystem/go-grpc-prometheus,Apache-2.0
8989
github.com/hashicorp/errwrap,MPL-2.0
9090
github.com/hashicorp/go-multierror,MPL-2.0
9191
github.com/huandu/xstrings,MIT

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ require (
66
github.com/cert-manager/cert-manager v1.19.1
77
github.com/fsnotify/fsnotify v1.9.0
88
github.com/go-logr/logr v1.4.3
9-
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
9+
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0
1010
github.com/lestrrat-go/backoff/v2 v2.0.8
1111
github.com/onsi/ginkgo/v2 v2.26.0
1212
github.com/onsi/gomega v1.38.2

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,10 @@ github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrR
133133
github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk=
134134
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA=
135135
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
136+
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0 h1:QGLs/O40yoNK9vmy4rhUGBVyMf1lISBGtXRpsu/Qu/o=
137+
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0/go.mod h1:hM2alZsMUni80N33RBe6J0e423LB+odMj7d3EMP9l20=
136138
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 h1:sGm2vDRFUrQJO/Veii4h4zG2vvqG6uWNkBHSTqXOZk0=
137139
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2/go.mod h1:wd1YpapPLivG6nQgbf7ZkG1hhSOXDhhn4MLTknx2aAc=
138-
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
139-
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
140140
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww=
141141
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1/go.mod h1:Zanoh4+gvIgluNqcfMVTJueD4wSS5hT7zTt4Mrutd90=
142142
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=

pkg/server/server.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ import (
3030
cmapi "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1"
3131
"github.com/cert-manager/cert-manager/pkg/util/pki"
3232
"github.com/go-logr/logr"
33-
grpcprom "github.com/grpc-ecosystem/go-grpc-prometheus"
34-
prom "github.com/prometheus/client_golang/prometheus"
33+
grpcprom "github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus"
3534
"google.golang.org/grpc"
3635
"google.golang.org/grpc/codes"
3736
"google.golang.org/grpc/credentials"
@@ -150,16 +149,21 @@ func (s *Server) Start(ctx context.Context) error {
150149
}
151150

152151
// Setup the grpc server using the provided TLS config
153-
srvmetrics := grpcprom.NewServerMetrics(func(op *prom.CounterOpts) { op.Namespace = "cert_manager_istio_csr" })
154-
srvmetrics.EnableHandlingTimeHistogram(func(op *prom.HistogramOpts) { op.Namespace = "cert_manager_istio_csr" })
152+
srvmetrics := grpcprom.NewServerMetrics(
153+
grpcprom.WithServerCounterOptions(grpcprom.WithNamespace("cert_manager_istio_csr")),
154+
grpcprom.WithServerHandlingTimeHistogram(grpcprom.WithHistogramNamespace("cert_manager_istio_csr")),
155+
)
155156
creds := credentials.NewTLS(tlsConfig)
156157
grpcServer := grpc.NewServer(
157158
grpc.UnaryInterceptor(srvmetrics.UnaryServerInterceptor()),
158159
grpc.Creds(creds),
159160
)
160161

162+
// register certificate service grpc API
163+
securityapi.RegisterIstioCertificateServiceServer(grpcServer, s)
164+
161165
// Register gRPC Prometheus metrics
162-
grpcprom.Register(grpcServer)
166+
srvmetrics.InitializeMetrics(grpcServer)
163167
if err := metrics.Registry.Register(srvmetrics); err != nil {
164168
return fmt.Errorf("failed to register gRPC Prometheus metrics: %w", err)
165169
}
@@ -171,9 +175,6 @@ func (s *Server) Start(ctx context.Context) error {
171175
return fmt.Errorf("failed to listen %s: %v", s.opts.ServingAddress, err)
172176
}
173177

174-
// register certificate service grpc API
175-
securityapi.RegisterIstioCertificateServiceServer(grpcServer, s)
176-
177178
// handle termination gracefully
178179
go func() {
179180
<-ctx.Done()

0 commit comments

Comments
 (0)