Vasiliy Tolstov
3f589b20c4
Some checks failed
autoapprove / autoapprove (pull_request) Failing after 11s
automerge / automerge (pull_request) Failing after 7s
codeql / analyze (go) (pull_request) Failing after 3m30s
dependabot-automerge / automerge (pull_request) Has been skipped
prbuild / test (pull_request) Failing after 1m59s
prbuild / lint (pull_request) Successful in 24s
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org> |
||
---|---|---|
.github | ||
.synced | ||
go.mod | ||
go.sum | ||
LICENSE | ||
README.md | ||
victoriametrics_test.go | ||
victoriametrics.go |
VictoriaMetrics
Wrappers are a form of middleware that can be used with go-micro services. They can wrap both the Client and Server handlers. This plugin implements the HandlerWrapper interface to provide automatic prometheus metric handling for each microservice method execution time and operation count for success and failed cases.
This handler will export two metrics to prometheus:
- micro_request_total. How many go-miro requests processed, partitioned by method and status.
- micro_request_duration_microseconds. Service method request latencies in microseconds, partitioned by method.
Usage
When creating your service, add the wrapper like so.
service := micro.NewService(
micro.Name("service name"),
micro.Version("latest"),
micro.WrapHandler(victoriametrics.NewHandlerWrapper()),
)
service.Init()