Metrics
¿Cómo le gustaría saber cosas como cuántas veces se ha llamado a un servicio, o cuántas ejecuciones simultáneas tiene un servicio en este momento, o cuánto tiempo tarda en ejecutarse un comando?
El módulo MicroProfile Metrics proporciona una forma simple y unificada de publicar esas y otras métricas que puede usar para monitorear el rendimiento de la aplicación. Se exportan en formato Prometheus, lo que significa que puede utilizar herramientas como los paneles de Prometheus o Grafana para mostrar los datos y las alertas.
Podemos obtener algunas métricas en nuestro código usando las anotaciones: @Counted, @Timed, @Metered y @Gauge. También podemos crear métricas personalizadas usando la anotación @Metric y creando histogramas personalizados.
@Counted(name="StockService.getAll_counter")
@Timed(name="StockService.getAll_timer")
public List getAll(){
//some code here
}
@Timed
public List getByStatus(String status){
//some code here
}
@Metered
public Optional findById(String id){
//some code here
}Finalmente, podemos acceder al endpoint /metrics/application para obtener todas las métricas expuestas por nuestra aplicación. http://localhost:8080/metrics/application

