All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sap.cloud.cf.monitoring.spring.configuration.CustomMetricsAutoConfiguration Maven / Gradle / Ivy

package com.sap.cloud.cf.monitoring.spring.configuration;

import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;

import com.sap.cloud.cf.monitoring.client.MonitoringClient;
import com.sap.cloud.cf.monitoring.client.MonitoringClientBuilder;
import com.sap.cloud.cf.monitoring.client.configuration.CustomMetricsConfiguration;
import com.sap.cloud.cf.monitoring.client.configuration.CustomMetricsConfigurationFactory;
import com.sap.cloud.cf.monitoring.spring.CustomMetricWriter;

import io.micrometer.core.instrument.Clock;
import io.micrometer.core.instrument.MeterRegistry;

@AutoConfigureBefore(MetricsAutoConfiguration.class)
@ConditionalOnClass(MeterRegistry.class)
@Configuration
@Conditional(CustomMetricsCondition.class)
public class CustomMetricsAutoConfiguration {
    @Bean
    CustomMetricWriter metricWriter(Clock clock, MonitoringClient client) {
        CustomMetricsConfiguration config = CustomMetricsConfigurationFactory.create();
        return new CustomMetricWriter(config, clock, client);
    }

    @Bean
    MonitoringClient metricPublisher() {
        return new MonitoringClientBuilder().create();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy