Сам автоматический выключатель не предоставляет метрики, он использует метрики только для информирования о своем переходе между CLOSED, HALF_OPEN и OPEN.
Вы можете вести собственный подсчет открытых и закрытых переходов, создав собственного подписчика для потока метрик. Вам просто нужно отслеживать последнее известное состояние схемы, а когда вы получаете обновление из потока, сравните последнее известное состояние с тем, которое находится в обновлении. Если они отличаются, значит, произошел переход, и вы обновите свой счетчик.
В версии 1.4 вы должны использовать new HystrixMetricsPoller()
и передать ей собственную реализацию MetricsAsJsonPollerListener
, которая анализирует предоставленный JSON для isCircuitOpen
для каждой команды.
В версии 1.5 вы будете использовать HystrixDashboardStream.getInstance().observe()
и зарегистрировать своего потребителя для получения обновлений. Я думаю, что этот подход немного больше усилий, чтобы получить базовый объект HystrixCircuitBreaker
для каждой команды, что позволит вам проверить isOpen()
, чтобы получить текущее состояние каждого автоматического выключателя.