Commit f749a398 authored by 王亮's avatar 王亮

add two tags.

parent 0a2e070d
...@@ -17,4 +17,7 @@ public interface KafkaConfig extends StepRegistryConfig { ...@@ -17,4 +17,7 @@ public interface KafkaConfig extends StepRegistryConfig {
return "metrics"; return "metrics";
} }
default String applicationName(){
return "default";
}
} }
...@@ -8,6 +8,7 @@ import io.micrometer.core.instrument.FunctionTimer; ...@@ -8,6 +8,7 @@ import io.micrometer.core.instrument.FunctionTimer;
import io.micrometer.core.instrument.LongTaskTimer; import io.micrometer.core.instrument.LongTaskTimer;
import io.micrometer.core.instrument.Measurement; import io.micrometer.core.instrument.Measurement;
import io.micrometer.core.instrument.Meter; import io.micrometer.core.instrument.Meter;
import io.micrometer.core.instrument.Tag;
import io.micrometer.core.instrument.Timer; import io.micrometer.core.instrument.Timer;
import io.micrometer.core.instrument.step.StepMeterRegistry; import io.micrometer.core.instrument.step.StepMeterRegistry;
import io.micrometer.core.instrument.util.DoubleFormat; import io.micrometer.core.instrument.util.DoubleFormat;
...@@ -33,6 +34,8 @@ public class KafkaMeterRegistry extends StepMeterRegistry { ...@@ -33,6 +34,8 @@ public class KafkaMeterRegistry extends StepMeterRegistry {
private KafkaProducer<String, String> kafkaProducer; private KafkaProducer<String, String> kafkaProducer;
private final String key; private final String key;
private final List<Tag> tags = new ArrayList<>();
public KafkaMeterRegistry(KafkaConfig config, Clock clock) { public KafkaMeterRegistry(KafkaConfig config, Clock clock) {
...@@ -44,6 +47,31 @@ public class KafkaMeterRegistry extends StepMeterRegistry { ...@@ -44,6 +47,31 @@ public class KafkaMeterRegistry extends StepMeterRegistry {
key = System.getProperty("NAMESPACE"); key = System.getProperty("NAMESPACE");
} }
tags.add(new Tag() {
@Override
public String getKey() {
return "namespace";
}
@Override
public String getValue() {
return key;
}
});
tags.add(new Tag() {
@Override
public String getKey() {
return "application";
}
@Override
public String getValue() {
return config.applicationName();
}
});
Properties properties = new Properties(); Properties properties = new Properties();
properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, config.services()); properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, config.services());
properties.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, properties.setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
...@@ -64,7 +92,11 @@ public class KafkaMeterRegistry extends StepMeterRegistry { ...@@ -64,7 +92,11 @@ public class KafkaMeterRegistry extends StepMeterRegistry {
protected void publish() { protected void publish() {
for (List<Meter> batch : MeterPartition.partition(this, config.batchSize())) { for (List<Meter> batch : MeterPartition.partition(this, config.batchSize())) {
batch.stream() batch.stream().map(i->
{
getConventionTags(i.getId()).addAll(tags);
return i;
})
.flatMap(m -> m.match( .flatMap(m -> m.match(
gauge -> writeGauge(gauge.getId(), gauge.value()), gauge -> writeGauge(gauge.getId(), gauge.value()),
counter -> writeCounter(counter.getId(), counter.count()), counter -> writeCounter(counter.getId(), counter.count()),
......
...@@ -2,6 +2,7 @@ package cn.quantgroup.ext.micrometer.register.kafka; ...@@ -2,6 +2,7 @@ package cn.quantgroup.ext.micrometer.register.kafka;
import io.micrometer.core.instrument.Clock; import io.micrometer.core.instrument.Clock;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
...@@ -11,9 +12,11 @@ import org.springframework.context.annotation.Configuration; ...@@ -11,9 +12,11 @@ import org.springframework.context.annotation.Configuration;
@Configuration @Configuration
@ComponentScan(basePackageClasses = KafkaMeterRegistry.class) @ComponentScan(basePackageClasses = KafkaMeterRegistry.class)
@EnableConfigurationProperties(EnochAgentProperties.class) @EnableConfigurationProperties(EnochAgentProperties.class)
@ConditionalOnProperty(prefix = "tech.enoch", name = "enabled", havingValue = "true") @ConditionalOnProperty(prefix = "tech.metric", name = "enabled", havingValue = "true")
public class MicroMeterKafkaAutoConfiguration { public class MicroMeterKafkaAutoConfiguration {
private final EnochAgentProperties enochAgentProperties; private final EnochAgentProperties enochAgentProperties;
@Value("${spring.application.name}")
private String applicationName;
public MicroMeterKafkaAutoConfiguration( public MicroMeterKafkaAutoConfiguration(
EnochAgentProperties enochAgentProperties) { EnochAgentProperties enochAgentProperties) {
...@@ -36,6 +39,11 @@ public class MicroMeterKafkaAutoConfiguration { ...@@ -36,6 +39,11 @@ public class MicroMeterKafkaAutoConfiguration {
public String topic(){ public String topic(){
return enochAgentProperties.getKafkaTopic(); return enochAgentProperties.getKafkaTopic();
} }
@Override
public String applicationName(){
return applicationName;
}
}; };
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment