Package io.prometheus.client
Class SampleNameFilter
- java.lang.Object
-
- io.prometheus.client.SampleNameFilter
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
SampleNameFilter.AllowAll
static class
SampleNameFilter.Builder
-
Field Summary
Fields Modifier and Type Field Description static Predicate<java.lang.String>
ALLOW_ALL
For convenience, a filter that allows all names.private java.util.Collection<java.lang.String>
nameDoesNotStartWith
private java.util.Collection<java.lang.String>
nameIsEqualTo
private java.util.Collection<java.lang.String>
nameIsNotEqualTo
private java.util.Collection<java.lang.String>
nameStartsWith
-
Constructor Summary
Constructors Modifier Constructor Description private
SampleNameFilter(java.util.Collection<java.lang.String> nameIsEqualTo, java.util.Collection<java.lang.String> nameIsNotEqualTo, java.util.Collection<java.lang.String> nameStartsWith, java.util.Collection<java.lang.String> nameDoesNotStartWith)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Predicate<java.lang.String>
and(Predicate<? super java.lang.String> other)
Replacement for Java 8'sPredicate.and()
for compatibility with Java versions < 8.private boolean
matchesNameDoesNotStartWith(java.lang.String metricName)
private boolean
matchesNameEqualTo(java.lang.String metricName)
private boolean
matchesNameNotEqualTo(java.lang.String metricName)
private boolean
matchesNameStartsWith(java.lang.String metricName)
static Predicate<java.lang.String>
restrictToNamesEqualTo(Predicate<java.lang.String> filter, java.util.Collection<java.lang.String> allowedNames)
Helper method to compose a filter such that Sample names must match the existing filter and be in the list of allowedNames This should be used to implement thenames[]
query parameter in HTTP exporters.static java.util.List<java.lang.String>
stringToList(java.lang.String s)
Helper method to deserialize adelimiter
-separated list of Strings into aList<String>
.boolean
test(java.lang.String sampleName)
-
-
-
Field Detail
-
ALLOW_ALL
public static final Predicate<java.lang.String> ALLOW_ALL
For convenience, a filter that allows all names.
-
nameIsEqualTo
private final java.util.Collection<java.lang.String> nameIsEqualTo
-
nameIsNotEqualTo
private final java.util.Collection<java.lang.String> nameIsNotEqualTo
-
nameStartsWith
private final java.util.Collection<java.lang.String> nameStartsWith
-
nameDoesNotStartWith
private final java.util.Collection<java.lang.String> nameDoesNotStartWith
-
-
Method Detail
-
test
public boolean test(java.lang.String sampleName)
-
and
public Predicate<java.lang.String> and(Predicate<? super java.lang.String> other)
Replacement for Java 8'sPredicate.and()
for compatibility with Java versions < 8.
-
matchesNameEqualTo
private boolean matchesNameEqualTo(java.lang.String metricName)
-
matchesNameNotEqualTo
private boolean matchesNameNotEqualTo(java.lang.String metricName)
-
matchesNameStartsWith
private boolean matchesNameStartsWith(java.lang.String metricName)
-
matchesNameDoesNotStartWith
private boolean matchesNameDoesNotStartWith(java.lang.String metricName)
-
stringToList
public static java.util.List<java.lang.String> stringToList(java.lang.String s)
Helper method to deserialize adelimiter
-separated list of Strings into aList<String>
.delimiter
is one of, ; \t \n
.This is implemented here so that exporters can provide a consistent configuration format for lists of allowed names.
-
restrictToNamesEqualTo
public static Predicate<java.lang.String> restrictToNamesEqualTo(Predicate<java.lang.String> filter, java.util.Collection<java.lang.String> allowedNames)
Helper method to compose a filter such that Sample names must- match the existing filter
- and be in the list of allowedNames
names[]
query parameter in HTTP exporters.- Parameters:
filter
- may be null, indicating that the resulting filter should just filter byallowedNames
.allowedNames
- may be null or empty, indicating thatfilter
is returned unmodified.- Returns:
- a filter combining the exising
filter
and theallowedNames
, ornull
if both parameters werenull
.
-
-