meter: rework meter interface

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
2021-01-22 18:21:40 +03:00
parent 8a2c4c511e
commit 8494178b0d
7 changed files with 221 additions and 82 deletions

View File

@@ -9,15 +9,15 @@ import (
"github.com/unistack-org/micro/v3/server"
)
// Wrapper provides a HandlerFunc for meter.Reporter implementations:
// Wrapper provides a HandlerFunc for meter.Meter implementations
type Wrapper struct {
reporter meter.Reporter
meter meter.Meter
}
// New returns a *Wrapper configured with the given meter.Reporter:
func New(reporter meter.Reporter) *Wrapper {
// New returns a *Wrapper configured with the given meter.Meter
func New(meter meter.Meter) *Wrapper {
return &Wrapper{
reporter: reporter,
meter: meter,
}
}
@@ -43,7 +43,7 @@ func (w *Wrapper) HandlerFunc(handlerFunction server.HandlerFunc) server.Handler
}
// Instrument the result (if the DefaultClient has been configured):
w.reporter.Timing("service.handler", time.Since(callTime), tags)
w.meter.Summary("service.handler", tags).Update(float64(time.Since(callTime).Seconds()))
return err
}