Есть много способов построить инструментарий, пока вы не узнаете, что такое хороший инструментарий. Мои инструкции по сути взяты непосредственно из записи в Википедии https://en.wikipedia.org/wiki/Instrumentation .
Инструментарий Инструкции
http://www.powersemantics.com/e.html
- Неинтегрированные
- Только первичные данные
- Тянуть не толкать
- Организовано процессом
- Никогда не в сети
Решение проблемы измерения индикаторов существует, но вы застряли в концепции, как также использовать «нажимную» аппаратуру для сигнализации другой системы. Как объясняется в моей статье, инструменты всегда должны извлекать данные, а не выдвигать их. Сигнализация, управляемая событиями, является потенциальной точкой отказа, которая вам не нужна.
Чтобы устранить любые нерешительность или сомнения, которые могут возникнуть у вас по поводу создания отдельного приложения, мониторы обычно являются независимыми ( не интегрированными, как говорит Википедия) процессами. То есть, если вы говорите, что ваш монитор «может не работать», значит, вы не выбрали реальный неинтегрированный монитор, который всегда включен. Ваша потребительская система неправильно моделирует контрольно-измерительные приборы, потому что она интегрирует проверку в свой собственный процесс.
Разделите эти обязанности и продолжайте. Решите, как часто прибор должен разумно опрашивать удаленные сервисы и опрашивать данные с помощью таймера. Если вы используете вызов API, предложенный Саймон-Пирсоном, вы также можете определить, когда были добавлены сервисы. Конечно, монитор должен локально кэшировать копию списка услуг, чтобы индикаторы могли определить, что было добавлено или удалено.