/** * Endpoint for querying current metric values. * * The result is a JSON document describing the metrics and their values. * The result can be filtered using query parameters or configuring the * controller instance itself. */ @RequestMapping(method = RequestMethod.GET) public ApplicationRegistry getMetrics(@RequestParam Map<String, String> filters) throws IOException { boolean all = filters.get("all") != null; String filterMeterNameRegex = filters.getOrDefault("meterNameRegex", ""); String filterTagNameRegex = filters.getOrDefault("tagNameRegex", ""); String filterTagValueRegex = filters.getOrDefault("tagValueRegex", ""); TagMeasurementFilter queryFilter = new TagMeasurementFilter( filterMeterNameRegex, filterTagNameRegex, filterTagValueRegex); Predicate<Measurement> filter; if (all) { filter = queryFilter; } else { filter = queryFilter.and(getDefaultMeasurementFilter()); } ApplicationRegistry response = new ApplicationRegistry(); response.setApplicationName(applicationName); response.setApplicationVersion(applicationVersion); response.setMetrics(encodeRegistry(registry, filter)); return response; }
/** * Endpoint for querying current metric values. * * The result is a JSON document describing the metrics and their values. * The result can be filtered using query parameters or configuring the * controller instance itself. */ @RequestMapping(method = RequestMethod.GET) public ApplicationRegistry getMetrics(@RequestParam Map<String, String> filters) throws IOException { boolean all = filters.get("all") != null; String filterMeterNameRegex = filters.getOrDefault("meterNameRegex", ""); String filterTagNameRegex = filters.getOrDefault("tagNameRegex", ""); String filterTagValueRegex = filters.getOrDefault("tagValueRegex", ""); TagMeasurementFilter queryFilter = new TagMeasurementFilter( filterMeterNameRegex, filterTagNameRegex, filterTagValueRegex); Predicate<Measurement> filter; if (all) { filter = queryFilter; } else { filter = queryFilter.and(getDefaultMeasurementFilter()); } ApplicationRegistry response = new ApplicationRegistry(); response.setApplicationName(applicationName); response.setApplicationVersion(applicationVersion); response.setMetrics(encodeRegistry(registry, filter)); return response; }