2019-12-04 01:49:07 +03:00
|
|
|
# VictoriaMetrics
|
|
|
|
|
2021-01-19 16:31:38 +03:00
|
|
|
Wrappers are a form of middleware that can be used with go-micro services. They can wrap both the Client and Server handlers.
|
2019-12-04 01:49:07 +03:00
|
|
|
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.
|
|
|
|
|
|
|
|
```go
|
|
|
|
service := micro.NewService(
|
|
|
|
micro.Name("service name"),
|
2021-01-19 16:31:38 +03:00
|
|
|
micro.Version("latest"),
|
|
|
|
micro.WrapHandler(victoriametrics.NewHandlerWrapper()),
|
2019-12-04 01:49:07 +03:00
|
|
|
)
|
2021-01-19 16:31:38 +03:00
|
|
|
|
2019-12-04 01:49:07 +03:00
|
|
|
service.Init()
|
|
|
|
```
|
2021-01-19 16:31:38 +03:00
|
|
|
|