master
李伟乐 1 year ago
parent 7086f0bf01
commit 94791bf585
  1. 42
      middleware/prome/prometheus.go

@ -54,28 +54,30 @@ func recordUptime() {
}
}
func Prometheus(handler middleware.Handler) middleware.Handler {
return func(ctx context.Context, a any) (any, error) {
tr, ok := transport.FromServerContext(ctx)
if !ok {
return handler(ctx, a)
}
start := time.Now()
resp, err := handler(ctx, a)
code := "500"
if err != nil {
switch aerr := err.(type) {
case *errors.Error:
code = fmt.Sprintf("%d", aerr.Code)
default:
code = "500"
func Prometheus(handler middleware.Handler) middleware.Middleware {
return func(handler middleware.Handler) middleware.Handler {
return func(ctx context.Context, a any) (any, error) {
tr, ok := transport.FromServerContext(ctx)
if !ok {
return handler(ctx, a)
}
}
lvs := []string{code, tr.Endpoint(), tr.Operation()}
start := time.Now()
resp, err := handler(ctx, a)
code := "500"
if err != nil {
switch aerr := err.(type) {
case *errors.Error:
code = fmt.Sprintf("%d", aerr.Code)
default:
code = "500"
}
}
lvs := []string{code, tr.Endpoint(), tr.Operation()}
reqCount.WithLabelValues(lvs...).Inc()
reqDuration.WithLabelValues(lvs...).Observe(time.Since(start).Seconds())
reqCount.WithLabelValues(lvs...).Inc()
reqDuration.WithLabelValues(lvs...).Observe(time.Since(start).Seconds())
return resp, err
return resp, err
}
}
}

Loading…
Cancel
Save