metrics

package
v1.14.9 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2019 License: Apache-2.0, Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ReadOnlyKind is a string identifying read only request kind
	ReadOnlyKind = "readOnly"
	// MutatingKind is a string identifying mutating request kind
	MutatingKind = "mutating"
)
View Source
const (
	APIServerComponent string = "apiserver"
)

Variables

View Source
var (

	// DroppedRequests is a number of requests dropped with 'Try again later' response"
	DroppedRequests = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Name: "apiserver_dropped_requests_total",
			Help: "Number of requests dropped with 'Try again later' response",
		},
		[]string{"requestKind"},
	)
	DeprecatedDroppedRequests = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Name: "apiserver_dropped_requests",
			Help: "(Deprecated) Number of requests dropped with 'Try again later' response",
		},
		[]string{"requestKind"},
	)
	// RegisteredWatchers is a number of currently registered watchers splitted by resource.
	RegisteredWatchers = prometheus.NewGaugeVec(
		prometheus.GaugeOpts{
			Name: "apiserver_registered_watchers",
			Help: "Number of currently registered watchers for a given resources",
		},
		[]string{"group", "version", "kind"},
	)
)

Functions

func CleanScope added in v1.10.0

func CleanScope(requestInfo *request.RequestInfo) string

CleanScope returns the scope of the request.

func InstrumentHandlerFunc added in v1.10.0

func InstrumentHandlerFunc(verb, group, version, resource, subresource, scope, component string, handler http.HandlerFunc) http.HandlerFunc

InstrumentHandlerFunc works like Prometheus' InstrumentHandlerFunc but adds some Kubernetes endpoint specific information.

func InstrumentRouteFunc

func InstrumentRouteFunc(verb, group, version, resource, subresource, scope, component string, routeFunc restful.RouteFunction) restful.RouteFunction

InstrumentRouteFunc works like Prometheus' InstrumentHandlerFunc but wraps the go-restful RouteFunction instead of a HandlerFunc plus some Kubernetes endpoint specific information.

func MonitorRequest added in v1.8.0

func MonitorRequest(req *http.Request, verb, group, version, resource, subresource, scope, component, contentType string, httpCode, respSize int, elapsed time.Duration)

MonitorRequest handles standard transformations for client and the reported verb and then invokes Monitor to record a request. verb must be uppercase to be backwards compatible with existing monitoring tooling.

func RecordLongRunning added in v1.9.0

func RecordLongRunning(req *http.Request, requestInfo *request.RequestInfo, component string, fn func())

RecordLongRunning tracks the execution of a long running request against the API server. It provides an accurate count of the total number of open long running requests. requestInfo may be nil if the caller is not in the normal request flow.

func RecordRequestTermination added in v1.14.9

func RecordRequestTermination(req *http.Request, requestInfo *request.RequestInfo, component string, code int)

RecordRequestTermination records that the request was terminated early as part of a resource preservation or apiserver self-defense mechanism (e.g. timeouts, maxinflight throttling, proxyHandler errors). RecordRequestTermination should only be called zero or one times per request.

func Register

func Register()

Register all metrics.

func Reset

func Reset()

Reset all metrics.

func UpdateInflightRequestMetrics added in v1.8.8

func UpdateInflightRequestMetrics(nonmutating, mutating int)

Types

type ResponseWriterDelegator added in v1.8.0

type ResponseWriterDelegator struct {
	http.ResponseWriter
	// contains filtered or unexported fields
}

ResponseWriterDelegator interface wraps http.ResponseWriter to additionally record content-length, status-code, etc.

func (*ResponseWriterDelegator) ContentLength added in v1.8.0

func (r *ResponseWriterDelegator) ContentLength() int

func (*ResponseWriterDelegator) Status added in v1.8.0

func (r *ResponseWriterDelegator) Status() int

func (*ResponseWriterDelegator) Write added in v1.8.0

func (r *ResponseWriterDelegator) Write(b []byte) (int, error)

func (*ResponseWriterDelegator) WriteHeader added in v1.8.0

func (r *ResponseWriterDelegator) WriteHeader(code int)

Jump to

Keyboard shortcuts

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