prometheus

package module
v3.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 11, 2021 License: Apache-2.0 Imports: 7 Imported by: 8

README

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()

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// default metric prefix
	DefaultMetricPrefix = "micro_"
	// default label prefix
	DefaultLabelPrefix = "micro_"
)

Functions

func NewCallWrapper

func NewCallWrapper(opts ...Option) client.CallWrapper

func NewClientWrapper

func NewClientWrapper(opts ...Option) client.Wrapper

func NewHandlerWrapper

func NewHandlerWrapper(opts ...Option) server.HandlerWrapper

func NewSubscriberWrapper

func NewSubscriberWrapper(opts ...Option) server.SubscriberWrapper

Types

type Option

type Option func(*Options)

func ServiceID

func ServiceID(id string) Option

func ServiceName

func ServiceName(name string) Option

func ServiceVersion

func ServiceVersion(version string) Option

type Options

type Options struct {
	Name    string
	Version string
	ID      string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL