public String historicSingleMetric(
@ApiParam(name = "metricName", required = true) @PathParam("metricName") String metricName,
@ApiParam(name = "after", value = "Only values for after this UTC timestamp (1970 epoch)") @QueryParam("after") @DefaultValue("-1") long after
) {
checkPermission(RestPermissions.METRICS_READHISTORY, metricName);
BasicDBObject andQuery = new BasicDBObject();
List<BasicDBObject> obj = new ArrayList<BasicDBObject>();
obj.add(new BasicDBObject("name", metricName));
if (after != -1) {
obj.add(new BasicDBObject("$gt", new BasicDBObject("$gt", new Date(after))));
}
andQuery.put("$and", obj);
final DBCursor cursor = mongoConnection.getDatabase().getCollection("graylog2_metrics")
.find(andQuery).sort(new BasicDBObject("timestamp", 1));
Map<String, Object> metricsData = Maps.newHashMap();
metricsData.put("name", metricName);
List<Object> values = Lists.newArrayList();
metricsData.put("values", values);