Forwarded from A.G.
Вернулся к проекту, которым начал заниматься ещё во время учебы в КПИ. Большую часть переписал с нуля, оставил пару базовых абстракций, почистил и причесал код и наконец-то выложил на гитхаб.

Цель проекта — создать небольшой фреймворк, который позволит упростить мониторинг за информационной системой и ее модулями.
При этом без необходимости вносить какие-либо крупные изменения в архитектуру системы, за которой будет производиться наблюдение.

Базовые абстракциям:
— ISpectator
— IProbe
— IEvaluator

Экземпляр ISpectator производит наблюдение за системой. Генерирует события в момент изменения состояния системы для оповещения всех модулей, которые на эти состояния подписаны.

Экземпляры IProbe предоставляют по запросу экземпляра наблюдателя различные метрики системы, или конкретного модуля/сервиса.

Экземпляр IEvaluator вычисляет состояние системы по собранным метрикам.

Для каждого из интерфейсов существует базовая реализация, а также предусмотрены механизмы простого и удобного расширения.

Примеры использования есть в тестовом проекте, который находится в том же репозитории, где и основной проект.

Сам фреймворк доступен в виде nuget-пакета на сайте nuget.org

Чуть позже планирую написать на Хабре статью с примерами использования.

Keep in touch!

https://github.com/ernado-x/X.Spectator
The Ultimate Guide to Microsoft Publisher