Package io.prometheus.client.filter
Class MetricsFilter
java.lang.Object
io.prometheus.client.filter.MetricsFilter
- All Implemented Interfaces:
javax.servlet.Filter
The MetricsFilter class exists to provide a high-level filter that enables tunable collection of metrics for Servlet
performance.
The Histogram name itself is required, and configured with a metric-name
init parameter.
The help parameter, configured with the help
init parameter, is not required but strongly recommended.
By default, this filter will provide metrics that distinguish only 1 level deep for the request path
(including servlet context path), but can be configured with the path-components
init parameter. Any number
provided that is less than 1 will provide the full path granularity (warning, this may affect performance).
The Histogram buckets can be configured with a buckets
init parameter whose value is a comma-separated list
of valid double
values.
<filter>
<filter-name>prometheusFilter</filter-name>
<filter-class>io.prometheus.client.filter.MetricsFilter</filter-class>
<init-param>
<param-name>metric-name</param-name>
<param-value>webapp_metrics_filter</param-value>
</init-param>
<init-param>
<param-name>help</param-name>
<param-value>The time taken fulfilling servlet requests</param-value>
</init-param>
<init-param>
<param-name>buckets</param-name>
<param-value>0.005,0.01,0.025,0.05,0.075,0.1,0.25,0.5,0.75,1,2.5,5,7.5,10</param-value>
</init-param>
<init-param>
<param-name>path-components</param-name>
<param-value>0</param-value>
</init-param>
</filter>
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionMetricsFilter
(String metricName, String help, Integer pathComponents, double[] buckets) -
Method Summary
Modifier and TypeMethodDescriptionvoid
destroy()
void
doFilter
(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain) private String
getComponents
(String str) void
init
(javax.servlet.FilterConfig filterConfig) private boolean
-
Field Details
-
PATH_COMPONENT_PARAM
- See Also:
-
HELP_PARAM
- See Also:
-
METRIC_NAME_PARAM
- See Also:
-
BUCKET_CONFIG_PARAM
- See Also:
-
histogram
-
pathComponents
int pathComponents -
metricName
-
help
-
buckets
private double[] buckets
-
-
Constructor Details
-
MetricsFilter
public MetricsFilter() -
MetricsFilter
-
-
Method Details
-
isEmpty
-
getComponents
-
init
public void init(javax.servlet.FilterConfig filterConfig) throws javax.servlet.ServletException - Specified by:
init
in interfacejavax.servlet.Filter
- Throws:
javax.servlet.ServletException
-
doFilter
public void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain) throws IOException, javax.servlet.ServletException - Specified by:
doFilter
in interfacejavax.servlet.Filter
- Throws:
IOException
javax.servlet.ServletException
-
destroy
public void destroy()- Specified by:
destroy
in interfacejavax.servlet.Filter
-