disable prometheus if not configured (#663)

This commit is contained in:
Kevin Wan
2021-04-30 15:09:49 +08:00
committed by GitHub
parent 9adc7d4cb9
commit 06eeef2cf3
7 changed files with 79 additions and 9 deletions

View File

@@ -6,6 +6,7 @@ import (
"time"
"github.com/tal-tech/go-zero/core/metric"
"github.com/tal-tech/go-zero/core/prometheus"
"github.com/tal-tech/go-zero/core/timex"
"google.golang.org/grpc"
"google.golang.org/grpc/status"
@@ -35,6 +36,10 @@ var (
// PrometheusInterceptor is an interceptor that reports to prometheus server.
func PrometheusInterceptor(ctx context.Context, method string, req, reply interface{},
cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error {
if !prometheus.Enabled() {
return invoker(ctx, method, req, reply, cc, opts...)
}
startTime := timex.Now()
err := invoker(ctx, method, req, reply, cc, opts...)
metricClientReqDur.Observe(int64(timex.Since(startTime)/time.Millisecond), method)