Расширение возможностей диагностики

Мне было бы удобно иметь три состояния приложения:

  • Полностью работает
  • Работает с некоторыми проблемами
  • Есть критичные для работы ошибки

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

Реализовано в задаче https://jira.bars.group/browse/BARSUP-1483
Также есть раздел в документации https://rms.bars.group/doc/#!/guide/a2f2c427ddb304d66930633ee320db288

1 Лайк