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

func CleanScope(requestInfo *request.RequestInfo) string

    CleanScope returns the scope of the request.

    func InstrumentHandlerFunc

    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

        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

          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

            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

                  func UpdateInflightRequestMetrics(nonmutating, mutating int)

                  Types

                  type ResponseWriterDelegator

                  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

                    func (r *ResponseWriterDelegator) ContentLength() int

                    func (*ResponseWriterDelegator) Status

                    func (r *ResponseWriterDelegator) Status() int

                    func (*ResponseWriterDelegator) Write

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

                    func (*ResponseWriterDelegator) WriteHeader

                    func (r *ResponseWriterDelegator) WriteHeader(code int)

                    Source Files