Inconsistencia de contador de Prometeo

Estoy usando el cliente simple Prometheus Java dentro de un servicio web para realizar un seguimiento de cuántos eventos resultan en un estado u otro.

Puedo verificar dentro de los registros que el contador se invoca y se incrementa internamente, pero parece que muchas veces los datos no llegan al punto final / metrics.

Por ejemplo, justo ahora, después de incrementar el contador 3 veces para el mismo estado con unos minutos de diferencia, el registro imprimirá "Valor actual = 0, Nuevo valor = 1" tres veces. Las primeras dos veces no mostraron ningún dato en el punto final / metrics, y después del tercer incremento, finalmente mostró un valor de 1, lo que significa que perdí el registro de los primeros 2 eventos.

El código que tengo es el siguiente a continuación, además de algunos cambios de nombre.

private static final Counter myCounter = Counter.build()
        .name("myMetric")
        .help("My metric")
        .labelNames("status").register();
...

private static void incrementCounter(String status) {
    Counter.Child counter = myCounter.labels(status);
    Logger.info("Before Incrementing counter for status= " + status + ". Current value=" + counter.get());
    counter.inc();
    Logger.info("After Incrementing counter for status= " + status + ". New value=" + counter.get());
}

No sé por qué Prometeo no parece ser capaz de seguir estos contadores constantemente. ¿Alguien puede ver qué está mal o una mejor manera de registrar estas métricas de contador?

Respuesta 1

Estoy tratando de crear un objeto org.w3c.dom.Document a partir de una cadena xml. He seguido lo que muchos han sugerido en otras preguntas, pero el documento termina vacío. Lo que está mal con lo siguiente ...

Hice la media aritmética para toda la matriz ordenada, pero ahora quiero hacer la media aritmética para la primera mitad ordenada y la segunda mitad ordenada de la matriz. Ej: Mi matriz es: 77, 99, 44, 55, 22, 88, 11, ...

Aquí hay un método particular que he escrito: clase A {Private ArrayList estática <ArrayList <Integer>> inputTerms = new ArrayList <ArrayList <Integer> (); vacío estático público ...

Estoy desarrollando una apariencia con dos temas. El problema es: quiero poder cambiar dinámicamente entre los dos temas (significa cambiar los temas después del inicio). Pero los temas tienen dos ...