ATS-126 : Expose JVM metrics - eg. CPU & Memory (within jvm process / container)

- added pod name tag tag on metrics
This commit is contained in:
DenisGabriela 2018-10-15 12:41:42 +03:00
parent 494a16c00d
commit 6a7bbb3c4e
5 changed files with 48 additions and 1 deletions

View File

@ -11,15 +11,26 @@
*/ */
package org.alfresco.transformer; package org.alfresco.transformer;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.Bean;
@SpringBootApplication @SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class Application public class Application
{ {
@Value("${pod.name}")
private String podName;
@Bean MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> registry.config().commonTags("podName", podName);
}
public static void main(String[] args) public static void main(String[] args)
{ {
SpringApplication.run(Application.class, args); SpringApplication.run(Application.class, args);

View File

@ -11,15 +11,26 @@
*/ */
package org.alfresco.transformer; package org.alfresco.transformer;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.Bean;
@SpringBootApplication @SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class Application public class Application
{ {
@Value("${pod.name}")
private String podName;
@Bean MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> registry.config().commonTags("podName", podName);
}
public static void main(String[] args) public static void main(String[] args)
{ {
SpringApplication.run(Application.class, args); SpringApplication.run(Application.class, args);

View File

@ -11,15 +11,26 @@
*/ */
package org.alfresco.transformer; package org.alfresco.transformer;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.Bean;
@SpringBootApplication @SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class Application public class Application
{ {
@Value("${pod.name}")
private String podName;
@Bean MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> registry.config().commonTags("podName", podName);
}
public static void main(String[] args) public static void main(String[] args)
{ {
SpringApplication.run(Application.class, args); SpringApplication.run(Application.class, args);

View File

@ -11,15 +11,26 @@
*/ */
package org.alfresco.transformer; package org.alfresco.transformer;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.Bean;
@SpringBootApplication @SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class Application public class Application
{ {
@Value("${pod.name}")
private String podName;
@Bean MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return registry -> registry.config().commonTags("podName", podName);
}
public static void main(String[] args) public static void main(String[] args)
{ {
SpringApplication.run(Application.class, args); SpringApplication.run(Application.class, args);

View File

@ -31,3 +31,6 @@ management:
enable[logback]: false enable[logback]: false
enable[tomcat]: false enable[tomcat]: false
enable[jvm.classes]: false enable[jvm.classes]: false
pod:
name: ${POD_NAME:t-engine}