Back to / filters / apiusagemonitoring

package apiusagemonitoring

Latest Go to latest
Published: 2 days ago | Licenses: Apache-2.0, MIT | Module:


Package apiusagemonitoring provides filters gathering metrics around API calls

Feature switch & Dependencies

This feature is by default not enabled. To enable it, the flag `-enable-api-usage-monitoring` must be set when Skipper is launched. Also, it does not make sense if none of the metrics implementation is enabled. To use this filter, start skipper enabling at least one metrics flavour. Per instance:

skipper -enable-api-usage-monitoring -metrics-flavour prometheus

This will enable the API monitoring filter through Prometheus metrics.


Due to its structured configuration, the filter accepts one parameter of type string containing a JSON object.

Details and examples can be found at (or in this project, under `docs/reference/`).

Development Helpers

The spec and filter log detailed operation information at `DEBUG` level. The -application-log-level=DEBUG switch is desirable for debugging usage of the filter.

Command line example for executing locally:

make skipper && ./bin/skipper \
	-routes-file "$HOME/temp/test.eskip" \
	-enable-api-usage-monitoring \
	-api-usage-monitoring-realm-keys="" \
	-api-usage-monitoring-client-keys=",sub" \
	-api-usage-monitoring-realmsTrackingPattern-tracking-pattern="services" \
	-metrics-flavour prometheus \
	-histogram-metric-buckets=".01,.025,.05,.075,.1,.2,.3,.4,.5,.75,1,2,3,4,5,7,10,15,20,30,60,120,300,600" \


Package Files


const (
	Name = "apiUsageMonitoring"

func NewApiUsageMonitoring

func NewApiUsageMonitoring(
	enabled bool,
	realmKeys string,
	clientKeys string,
	realmsTrackingPattern string,
) filters.Spec

NewApiUsageMonitoring creates a new instance of the API Monitoring filter specification (its factory).

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier