Мне было бы удобно иметь три состояния приложения:
- Полностью работает
- Работает с некоторыми проблемами
- Есть критичные для работы ошибки
Промежуточное состояние нужно, например, когда из сервиса интеграции приходят ошибки. С одной стороны ничего страшного не произошло, чтобы блокировать работу приложения. Но с другой стороны приложение работает уже не полностью, а с ограничениями. Ко всему этому нужна детализация по модулям, чтобы знать где конкретно возникла проблема. А так как платформа BarsUp.Net взяла курс на микросервисы было бы идеально иметь контроллер, чтобы проверять состояние приложения\сервиса http запросом.
Сейчас можно создать модуль диагностики реализовав IDiagnostic. Но, как я помню, есть два варианта - либо заблокировать работу приложения, как делает модуль диагностики миграций, либо дать возможность игнорировать проблему. Во втором случае о проблеме не узнать.
В .net core есть HealthChecks для проверки работоспособности приложения. Как вариант перенести существующий модуль диагностики на них, либо реализовать что-то свое расширив возможности существующего модуля диагностики.