Я ищу способ экспорта метрик весенней загрузки в файл в Spring Boot 2.
В Spring Boot 1.5.10 мы использовали пользовательский класс MetricsExporter , который реализует MetricWriter и переопределяет набор и методы приращения для записи метрик с помощью регистраторов. Мы использовали файл журнала, потому что у нас есть другой механизм для последующей обработки файла журнала для анализа метрик.
Мы также использовали класс MetricsConfig, который использует компонент MetricsEndpointMetricReader для чтения метрик из средства чтения конечных точек метрик в пользовательском классе конфигурации.
Но когда мы обновились до Spring Boot 2.0.1, они не работают, поскольку в существующих классах метрик произошли серьезные изменения.
Может ли кто-нибудь помочь нам в том, как мы можем экспортировать метрики и записывать их с помощью регистраторов при использовании Spring Boot 2.0?
@ExportMetricWriter
public class MetricsExporter implements MetricWriter {
private static Logger LOGGER = LoggerFactory.getLogger("metrics");
@Override
public void set(Metric<?> value) {
// Write the Gauge metrics to log file
LOGGER.info("timestamp={}, name={}, value={}", value.getTimestamp(), value.getName(),value.getValue());
}
@Override
public void increment(Delta<?> delta) {
//Write the Counter metrics to log file
LOGGER.info("timestamp={}, name={}, value={}", delta.getTimestamp(), delta.getName(),delta.getValue());
}
@Override
public void reset(String metricName) {
}
}
Класс MetricsConfig , как показано ниже,
@Configuration
public class MetricsConfig {
//Define the MetricsExporter bean to export metrics at regular interval to a log file
@Bean
public MetricsExporter metricsExporter() {
return new MetricsExporter();
}
//Define the MetricsEndpointMetricReader bean to export both push(counters and gauges) and pull(public) metrics
@Bean
public MetricsEndpointMetricReader metricsEndpointMetricReader(MetricsEndpoint metricsEndpoint) {
return new MetricsEndpointMetricReader(metricsEndpoint);
}
}