我有一个Spring Boot 1.3.1项目。使用执行器,所以我也有/ metrics端点。

我正在使用codahale为我的某些方法添加一个指标,完整的Java类名是该指标的名称。没关系。

但是那里的指标显示未排序,这是非常不足的,将所有排序都好得多(给定指标的最大值,最小值,百分位等将在一个块中,而不是现在的所有位置)。

有人知道如何解决这个问题吗?

最佳答案

我终于找到了解决这个问题的方法。
我添加了一个新的端点,该端点调用MetricsEndpoint并对结果进行排序。

@Component
public class CustomMetricsEndpoint extends AbstractEndpoint<Map<String, Object>> {

    private MetricsEndpoint metricsEndpoint;

    @Autowired
    public CustomMetricsEndpoint(MetricsEndpoint metricsEndpoint) {
        super("custommetrics");
        this.metricsEndpoint = metricsEndpoint;
    }

    public Map<String, Object> invoke() {
        SortedMap<String, Object> metricsMap =
                new TreeMap<String, Object>(this.metricsEndpoint.invoke());
        return metricsMap;
    }

}


现在,当我调用/ custommetrics时,结果将按键排序。

08-08 06:27