package com.hubspot.baragon.agent.healthcheck; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.codahale.metrics.health.HealthCheck; import com.google.inject.Inject; import com.google.inject.Singleton; import com.hubspot.baragon.agent.lbs.LocalLbAdapter; @Singleton public class LoadBalancerHealthcheck extends HealthCheck { private static final Logger LOG = LoggerFactory.getLogger(LoadBalancerHealthcheck.class); private final LocalLbAdapter adapter; @Inject public LoadBalancerHealthcheck(LocalLbAdapter adapter) { this.adapter = adapter; } @Override protected Result check() throws Exception { try { adapter.checkConfigs(); return Result.healthy(); } catch (Exception e) { LOG.warn("Healthcheck failed: " + e.getMessage()); return Result.unhealthy(e); } } }