Hay muchas maneras de construir instrumentación, hasta que aprenda lo que constituye una buena instrumentación. Mi tutorial se toma esencialmente de la entrada de Wikipedia https://en.wikipedia.org/wiki/Instrumentation .
Instrumentación de procedimientos
http://www.powersemantics.com/e.html
- No integrado
- Solo datos primarios
- Tirar no empujar
- Organizado por proceso
- Nunca desconectado
La solución al problema de medir indicadores existe, pero está atascado al conceptualizar cómo hacer que la instrumentación "basada en empuje" señale a otro sistema. Como explica mi artículo E, los instrumentos siempre deben extraer datos, nunca presionarlos. La señalización impulsada por eventos es un punto potencial de falla que no necesita.
Para aclarar cualquier indecisión o duda que pueda tener sobre la construcción de una aplicación separada, los monitores son normalmente procesos independientes ( no integrados como dice Wikipedia). Entonces, decir que su monitor "podría no estar ejecutándose" significa que no ha elegido construir un monitor real no integrado, uno que siempre esté encendido. Su sistema de consumo no modela correctamente la instrumentación, porque integra la verificación en su propio proceso.
Separe estas responsabilidades y proceda. Decida con qué frecuencia el instrumento debe sondear razonablemente los servicios eliminados y sondear los datos con un temporizador. Si utiliza la llamada API sugerida por simon-pearson, también puede detectar cuándo se han agregado los servicios. Por supuesto, el monitor necesita almacenar en caché localmente una copia de la lista de servicios para que los indicadores puedan inferir lo que se ha agregado o eliminado.