Class MicrometerStatsLoadBalancerLifecycle

java.lang.Object
org.springframework.cloud.loadbalancer.stats.MicrometerStatsLoadBalancerLifecycle
All Implemented Interfaces:
org.springframework.cloud.client.loadbalancer.LoadBalancerLifecycle<Object, Object, org.springframework.cloud.client.ServiceInstance>

public class MicrometerStatsLoadBalancerLifecycle extends Object implements org.springframework.cloud.client.loadbalancer.LoadBalancerLifecycle<Object, Object, org.springframework.cloud.client.ServiceInstance>
An implementation of LoadBalancerLifecycle that records metrics for load-balanced calls.
Since:
3.0.0
Author:
Olga Maciaszek-Sharma, Jaroslaw Dembek
  • Constructor Details

    • MicrometerStatsLoadBalancerLifecycle

      public MicrometerStatsLoadBalancerLifecycle(io.micrometer.core.instrument.MeterRegistry meterRegistry, org.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer.Factory<org.springframework.cloud.client.ServiceInstance> loadBalancerFactory)
    • MicrometerStatsLoadBalancerLifecycle

      @Deprecated(forRemoval=true) public MicrometerStatsLoadBalancerLifecycle(io.micrometer.core.instrument.MeterRegistry meterRegistry)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates a MicrometerStatsLoadBalancerLifecycle instance based on the provided MeterRegistry.
      Parameters:
      meterRegistry - MeterRegistry to use for Micrometer metrics.
  • Method Details

    • supports

      public boolean supports(Class requestContextClass, Class responseClass, Class serverTypeClass)
      Specified by:
      supports in interface org.springframework.cloud.client.loadbalancer.LoadBalancerLifecycle<Object, Object, org.springframework.cloud.client.ServiceInstance>
    • onStart

      public void onStart(org.springframework.cloud.client.loadbalancer.Request<Object> request)
      Specified by:
      onStart in interface org.springframework.cloud.client.loadbalancer.LoadBalancerLifecycle<Object, Object, org.springframework.cloud.client.ServiceInstance>
    • onStartRequest

      public void onStartRequest(org.springframework.cloud.client.loadbalancer.Request<Object> request, org.springframework.cloud.client.loadbalancer.Response<org.springframework.cloud.client.ServiceInstance> lbResponse)
      Specified by:
      onStartRequest in interface org.springframework.cloud.client.loadbalancer.LoadBalancerLifecycle<Object, Object, org.springframework.cloud.client.ServiceInstance>
    • onComplete

      public void onComplete(org.springframework.cloud.client.loadbalancer.CompletionContext<Object, org.springframework.cloud.client.ServiceInstance, Object> completionContext)
      Specified by:
      onComplete in interface org.springframework.cloud.client.loadbalancer.LoadBalancerLifecycle<Object, Object, org.springframework.cloud.client.ServiceInstance>