Go to file
Vasiliy Tolstov bea52c961f use own fork
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2021-01-19 16:51:58 +03:00
.github use own fork 2021-01-19 16:51:58 +03:00
.gitignore use own fork 2021-01-19 16:51:58 +03:00
.synced use own fork 2021-01-19 16:51:58 +03:00
go.mod use own fork 2021-01-19 16:51:58 +03:00
go.sum use own fork 2021-01-19 16:51:58 +03:00
LICENSE use own fork 2021-01-19 16:51:58 +03:00
metric_family.go use own fork 2021-01-19 16:51:58 +03:00
metrics.go use own fork 2021-01-19 16:51:58 +03:00
options_test.go use own fork 2021-01-19 16:51:58 +03:00
prometheus.go use own fork 2021-01-19 16:51:58 +03:00
README.md fix a typo (#570) 2021-01-19 16:42:30 +03:00
reporter_test.go use own fork 2021-01-19 16:51:58 +03:00
reporter.go use own fork 2021-01-19 16:51:58 +03:00

Prometheus

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-micro 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(prometheus.NewHandlerWrapper()),
    )

    service.Init()