dnet-applications/libs/dnet-apps-common/src/main/java/eu/dnetlib/common/metrics/KpiMetricsController.java

33 lines
1.1 KiB
Java
Raw Normal View History

2021-11-29 13:37:27 +01:00
package eu.dnetlib.common.metrics;
2021-11-26 16:31:31 +01:00
import static org.springframework.http.HttpHeaders.CONTENT_TYPE;
2021-11-29 13:37:27 +01:00
import org.springframework.beans.factory.annotation.Autowired;
2021-11-26 16:31:31 +01:00
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import io.prometheus.client.exporter.common.TextFormat;
@Controller
public class KpiMetricsController {
2021-11-29 13:37:27 +01:00
@Autowired
private MetricUtils metricUtils;
2021-11-26 16:31:31 +01:00
@ResponseBody
@RequestMapping(value = "/kpis", method = RequestMethod.GET, produces = "*/*")
2021-11-29 13:37:27 +01:00
public ResponseEntity<String> kpiMetrics(@RequestHeader(value = "Accept", required = false, defaultValue = "") final String accept) {
2021-11-26 16:31:31 +01:00
final String contentType = TextFormat.chooseContentType(accept);
2021-11-29 13:37:27 +01:00
final String result = metricUtils.output(contentType);
2021-11-26 16:31:31 +01:00
return ResponseEntity.ok()
.header(CONTENT_TYPE, contentType)
.body(result);
}
}