metrics: add server interceptor missing prometheus collector wrapped method

Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
This commit is contained in:
Adphi 2022-03-12 00:40:16 +01:00
parent b1988e0458
commit d61f0e9d76
Signed by: adphi
GPG Key ID: 46BE4062DB2397FF

View File

@ -2,6 +2,7 @@ package metrics
import (
grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus"
"github.com/prometheus/client_golang/prometheus"
"google.golang.org/grpc"
"go.linka.cloud/grpc/interceptors"
@ -13,13 +14,14 @@ type Registerer interface {
}
type Interceptors interface {
interceptors.Interceptors
Registerer
ServerInterceptors
ClientInterceptors
}
type ServerInterceptors interface {
interceptors.ServerInterceptors
Registerer
interceptors.ServerInterceptors
prometheus.Collector
}
type ClientInterceptors interface {
@ -31,6 +33,18 @@ type metrics struct {
c *grpc_prometheus.ClientMetrics
}
func (m *metrics) Describe(descs chan<- *prometheus.Desc) {
if m.s != nil {
m.s.Describe(descs)
}
}
func (m *metrics) Collect(c chan<- prometheus.Metric) {
if m.s != nil {
m.s.Collect(c)
}
}
func (m *metrics) Register(svc service.Service) {
if m.s != nil {
m.s.InitializeMetrics(svc)