Class CircuitBreakerHystrixServerSideEvent

java.lang.Object
io.github.resilience4j.circuitbreaker.monitoring.endpoint.CircuitBreakerHystrixServerSideEvent

@Endpoint(id="hystrixstreamcircuitbreakerevents") public class CircuitBreakerHystrixServerSideEvent extends Object
This class is used to produce Circuit breaker events as streams in hystrix like fashion

The following endpoints are automatically generated and events are produced as Server Sent Event(SSE) curl -vv http://localhost:8090/actuator/hystrixstreamcircuitbreakerevents curl -vv http://localhost:8090/actuator/hystrixstreamcircuitbreakerevents/{circuitbreakername} curl -vv http://localhost:8090/actuator/hystrixstreamcircuitbreakerevents/{circuitbreakername}/{errorType}

Note: This SSE data can be easily mapped to hystrix compatible data format (specific K V pairs) and be used in Turbine or hystrix dashboard or vizceral.

This is created as a bridge to support the legacy hystrix eco system of monitoring tools especially for those that are migrating from hystrix to resilence4j to continue to use hystrix eco tools. Note: Please see the example of how to consume SSE event here CircuitBreakerHystrixStreamEventsTest.java

  • Constructor Details

    • CircuitBreakerHystrixServerSideEvent

      public CircuitBreakerHystrixServerSideEvent(io.github.resilience4j.circuitbreaker.CircuitBreakerRegistry circuitBreakerRegistry)
  • Method Details

    • getAllCircuitBreakerHystrixStreamEvents

      @ReadOperation(produces="text/event-stream") public reactor.core.publisher.Flux<org.springframework.http.codec.ServerSentEvent<String>> getAllCircuitBreakerHystrixStreamEvents()
    • getHystrixStreamEventsFilteredByCircuitBreakerName

      @ReadOperation(produces="text/event-stream") public reactor.core.publisher.Flux<org.springframework.http.codec.ServerSentEvent<String>> getHystrixStreamEventsFilteredByCircuitBreakerName(@Selector String name)
    • getHystrixStreamEventsFilteredByCircuitBreakerNameAndEventType

      @ReadOperation(produces="text/event-stream") public reactor.core.publisher.Flux<org.springframework.http.codec.ServerSentEvent<String>> getHystrixStreamEventsFilteredByCircuitBreakerNameAndEventType(@Selector String name, @Selector String eventType)