package prometheus

import "github.com/open-policy-agent/opa/internal/prometheus"

Index

Types

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider wraps a metrics.Metrics provider with a Prometheus registry that can instrument the HTTP server's handlers.

func New

func New(inner metrics.Metrics, logger func(attrs map[string]interface{}, f string, a ...interface{})) *Provider

New returns a new Provider object.

func (*Provider) All

func (p *Provider) All() map[string]interface{}

All returns the union of the inner metric provider and the underlying prometheus registry.

func (*Provider) Clear

func (p *Provider) Clear()

Clear resets the inner metric provider. The Prometheus registry does not expose an interface to clear the metrics so this call has no affect on metrics tracked by Prometheus.

func (*Provider) Counter

func (p *Provider) Counter(name string) metrics.Counter

Counter returns a named counter.

func (*Provider) Histogram

func (p *Provider) Histogram(name string) metrics.Histogram

Histogram returns a named histogram.

func (*Provider) Info

func (p *Provider) Info() metrics.Info

Info returns attributes that describe the metric provider.

func (*Provider) InstrumentHandler

func (p *Provider) InstrumentHandler(handler http.Handler, label string) http.Handler

InstrumentHandler returned wrapped HTTP handler with added prometheus instrumentation

func (*Provider) MarshalJSON

func (p *Provider) MarshalJSON() ([]byte, error)

MarshalJSON returns a JSON representation of the unioned metrics.

func (*Provider) RegisterEndpoints

func (p *Provider) RegisterEndpoints(registrar func(path, method string, handler http.Handler))

RegisterEndpoints registers `/metrics` endpoint

func (*Provider) Timer

func (p *Provider) Timer(name string) metrics.Timer

Timer returns a named timer.

Source Files

prometheus.go

Version
v0.18.0
Published
Mar 17, 2020
Platform
windows/amd64
Imports
8 packages
Last checked
42 minutes ago

Tools for package owners.