package de.otto.edison.metrics.load; import de.otto.edison.annotations.Beta; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import static org.springframework.web.bind.annotation.RequestMethod.GET; @Beta @RestController @ConditionalOnProperty(prefix = "edison.metrics.load", name = "enabled", havingValue = "true") public class MetricsLoadController { private LoadDetector loadDetector; @Autowired public MetricsLoadController(final LoadDetector loadDetector) { this.loadDetector = loadDetector; } @RequestMapping( value = "/internal/load", produces = {"application/json"}, method = GET ) public MetricsLoadRepresentation getStatusAsJson() { return new MetricsLoadRepresentation(loadDetector.getStatus()); } }