Skip to content

Commit c86da02

Browse files
authored
Change from exact name match in /metrics filter to prefix match (#378)
* Change from exact name match in /metrics filter to prefix match
1 parent ce77e23 commit c86da02

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

management-api-agent-common/src/main/java/io/k8ssandra/metrics/http/NettyServerHandler.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.io.StringWriter;
2626
import java.net.URI;
2727
import java.util.Enumeration;
28+
import java.util.HashSet;
2829
import java.util.List;
2930

3031
public class NettyServerHandler extends SimpleChannelInboundHandler<HttpObject> {
@@ -57,9 +58,18 @@ protected void channelRead0(ChannelHandlerContext ctx, HttpObject httpObject) th
5758
QueryStringDecoder queryString = new QueryStringDecoder(req.getUri());
5859
if (queryString.parameters().containsKey("name")) {
5960
List<String> nameFilter = queryString.parameters().get("name");
61+
HashSet<String> filters = Sets.newHashSet(nameFilter);
6062
Enumeration<Collector.MetricFamilySamples> filteredSamples =
6163
CollectorRegistry.defaultRegistry.filteredMetricFamilySamples(
62-
Sets.newHashSet(nameFilter));
64+
s -> {
65+
for (String filter : filters) {
66+
if (s.startsWith(filter)) {
67+
return true;
68+
}
69+
}
70+
71+
return false;
72+
});
6373

6474
TextFormat.writeFormat(contentType, writer, filteredSamples);
6575
} else {

0 commit comments

Comments
 (0)