Documentation ¶
Index ¶
- func InstrumentRouteFunc(verb, resource, subresource, scope string, routeFunc restful.RouteFunction) restful.RouteFunction
- func MonitorRequest(req *http.Request, verb, resource, subresource, scope, contentType string, ...)
- func Record(req *http.Request, requestInfo *request.RequestInfo, contentType string, ...)
- func RecordLongRunning(req *http.Request, requestInfo *request.RequestInfo, fn func())
- func Register()
- func Reset()
- type ResponseWriterDelegator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InstrumentRouteFunc ¶
func InstrumentRouteFunc(verb, resource, subresource, scope string, routeFunc restful.RouteFunction) restful.RouteFunction
InstrumentRouteFunc works like Prometheus' InstrumentHandlerFunc but wraps the go-restful RouteFunction instead of a HandlerFunc
func MonitorRequest ¶
func MonitorRequest(req *http.Request, verb, resource, subresource, scope, 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 Record ¶
func Record(req *http.Request, requestInfo *request.RequestInfo, contentType string, code int, responseSizeInBytes int, elapsed time.Duration)
Record records a single request to the standard metrics endpoints. For use by handlers that perform their own processing. All API paths should use InstrumentRouteFunc implicitly. Use this instead of MonitorRequest if you already have a RequestInfo object.
func RecordLongRunning ¶
func RecordLongRunning(req *http.Request, requestInfo *request.RequestInfo, 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.
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)