Documentation ¶
Index ¶
- func New(ctx context.Context, t Throttler, sr activator.StatsReporter) http.Handler
- func NewContextHandler(ctx context.Context, next http.Handler) http.Handler
- type ConcurrencyReporter
- type HealthHandler
- type MetricHandler
- type ProbeHandler
- type ReqEvent
- type ReqEventType
- type RequestEventHandler
- type Throttler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ConcurrencyReporter ¶ added in v0.4.0
type ConcurrencyReporter struct {
// contains filtered or unexported fields
}
ConcurrencyReporter reports stats based on incoming requests and ticks.
func NewConcurrencyReporter ¶
func NewConcurrencyReporter(ctx context.Context, podName string, reqCh chan ReqEvent, reportCh <-chan time.Time, statCh chan []autoscaler.StatMessage, sr activator.StatsReporter) *ConcurrencyReporter
NewConcurrencyReporter creates a ConcurrencyReporter which listens to incoming ReqEvents on reqCh and ticks on reportCh and reports stats on statCh.
func (*ConcurrencyReporter) Run ¶ added in v0.4.0
func (cr *ConcurrencyReporter) Run(stopCh <-chan struct{})
Run runs until stopCh is closed and processes events on all incoming channels
type HealthHandler ¶ added in v0.5.0
type HealthHandler struct { HealthCheck func() error NextHandler http.Handler Logger *zap.SugaredLogger }
HealthHandler handles responding to kubelet probes with a provided health check.
func (*HealthHandler) ServeHTTP ¶ added in v0.5.0
func (h *HealthHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
type MetricHandler ¶ added in v0.9.0
type MetricHandler struct {
// contains filtered or unexported fields
}
MetricHandler sends metrics via reporter
func NewMetricHandler ¶ added in v0.9.0
func NewMetricHandler(ctx context.Context, r activator.StatsReporter, next http.Handler) *MetricHandler
NewMetricHandler creates a handler collects and reports request metrics
func (*MetricHandler) ServeHTTP ¶ added in v0.9.0
func (h *MetricHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
type ProbeHandler ¶ added in v0.4.0
ProbeHandler handles responding to Knative internal network probes.
func (*ProbeHandler) ServeHTTP ¶ added in v0.4.0
func (h *ProbeHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
type ReqEvent ¶
type ReqEvent struct { Key types.NamespacedName EventType ReqEventType }
ReqEvent represents an incoming/finished request with a given key
type ReqEventType ¶
type ReqEventType int
ReqEventType specifies the type of event (In/Out)
const ( // ReqIn represents an incoming request ReqIn ReqEventType = iota // ReqOut represents a finished request ReqOut )
type RequestEventHandler ¶
type RequestEventHandler struct { ReqChan chan ReqEvent // contains filtered or unexported fields }
RequestEventHandler sends events to the given channel.
func NewRequestEventHandler ¶
func NewRequestEventHandler(reqChan chan ReqEvent, next http.Handler) *RequestEventHandler
NewRequestEventHandler creates a handler that sends events about incoming/closed http connections to the given channel.
func (*RequestEventHandler) ServeHTTP ¶
func (h *RequestEventHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)