1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00

magic value refactor

This commit is contained in:
fangjian0423 2018-11-27 16:35:10 +08:00
parent 2ab11490dc
commit 0896af32bb
4 changed files with 44 additions and 13 deletions

View File

@ -5,6 +5,8 @@ package org.springframework.cloud.stream.binder.rocketmq;
*/ */
public interface RocketMQBinderConstants { public interface RocketMQBinderConstants {
String ENDPOINT_ID = "rocketmq-binder";
/** /**
* Header key * Header key
*/ */
@ -17,10 +19,27 @@ public interface RocketMQBinderConstants {
String ACKNOWLEDGEMENT_KEY = "ACKNOWLEDGEMENT"; String ACKNOWLEDGEMENT_KEY = "ACKNOWLEDGEMENT";
/** /**
* Instrumentation key * Instrumentation
*/ */
String LASTSEND_TIMESTAMP = "lastSend.timestamp"; String LASTSEND_TIMESTAMP = "lastSend.timestamp";
String ENDPOINT_ID = "rocketmq-binder"; interface Metrics {
interface Producer {
String PREFIX = "scs-rocketmq.producer.";
String TOTAL_SENT = "totalSent";
String TOTAL_SENT_FAILURES = "totalSentFailures";
String SENT_PER_SECOND = "sentPerSecond";
String SENT_FAILURES_PER_SECOND = "sentFailuresPerSecond";
}
interface Consumer {
String GROUP_PREFIX = "scs-rocketmq.consumerGroup.";
String PREFIX = "scs-rocketmq.consumer.";
String TOTAL_CONSUMED = "totalConsumed";
String CONSUMED_PER_SECOND = "consumedPerSecond";
String TOTAL_CONSUMED_FAILURES = "totalConsumedFailures";
String CONSUMED_FAILURES_PER_SECOND = "consumedFailuresPerSecond";
}
}
} }

View File

@ -2,6 +2,8 @@ package org.springframework.cloud.stream.binder.rocketmq.metrics;
import static com.codahale.metrics.MetricRegistry.name; import static com.codahale.metrics.MetricRegistry.name;
import org.springframework.cloud.stream.binder.rocketmq.RocketMQBinderConstants.Metrics.Consumer;
import com.codahale.metrics.Counter; import com.codahale.metrics.Counter;
import com.codahale.metrics.Meter; import com.codahale.metrics.Meter;
import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.MetricRegistry;
@ -19,13 +21,15 @@ public class ConsumerInstrumentation extends Instrumentation {
public ConsumerInstrumentation(MetricRegistry registry, String baseMetricName) { public ConsumerInstrumentation(MetricRegistry registry, String baseMetricName) {
super(baseMetricName); super(baseMetricName);
this.totalConsumed = registry.counter(name(baseMetricName, "totalConsumed"));
this.totalConsumed = registry
.counter(name(baseMetricName, Consumer.TOTAL_CONSUMED));
this.consumedPerSecond = registry this.consumedPerSecond = registry
.meter(name(baseMetricName, "consumedPerSecond")); .meter(name(baseMetricName, Consumer.CONSUMED_PER_SECOND));
this.totalConsumedFailures = registry this.totalConsumedFailures = registry
.counter(name(baseMetricName, "totalConsumedFailures")); .counter(name(baseMetricName, Consumer.TOTAL_CONSUMED_FAILURES));
this.consumedFailuresPerSecond = registry this.consumedFailuresPerSecond = registry
.meter(name(baseMetricName, "consumedFailuresPerSecond")); .meter(name(baseMetricName, Consumer.CONSUMED_FAILURES_PER_SECOND));
} }
public void markConsumed() { public void markConsumed() {

View File

@ -5,6 +5,9 @@ import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.springframework.cloud.stream.binder.rocketmq.RocketMQBinderConstants.Metrics.Consumer;
import org.springframework.cloud.stream.binder.rocketmq.RocketMQBinderConstants.Metrics.Producer;
import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.MetricRegistry;
/** /**
@ -27,21 +30,22 @@ public class InstrumentationManager {
} }
public ProducerInstrumentation getProducerInstrumentation(String destination) { public ProducerInstrumentation getProducerInstrumentation(String destination) {
String key = "scs-rocketmq.producer." + destination;
String key = Producer.PREFIX + destination;
producerInstrumentations.putIfAbsent(key, producerInstrumentations.putIfAbsent(key,
new ProducerInstrumentation(metricRegistry, key)); new ProducerInstrumentation(metricRegistry, key));
return producerInstrumentations.get(key); return producerInstrumentations.get(key);
} }
public ConsumerInstrumentation getConsumerInstrumentation(String destination) { public ConsumerInstrumentation getConsumerInstrumentation(String destination) {
String key = "scs-rocketmq.consumer." + destination; String key = Consumer.PREFIX + destination;
consumeInstrumentations.putIfAbsent(key, consumeInstrumentations.putIfAbsent(key,
new ConsumerInstrumentation(metricRegistry, key)); new ConsumerInstrumentation(metricRegistry, key));
return consumeInstrumentations.get(key); return consumeInstrumentations.get(key);
} }
public ConsumerGroupInstrumentation getConsumerGroupInstrumentation(String group) { public ConsumerGroupInstrumentation getConsumerGroupInstrumentation(String group) {
String key = "scs-rocketmq.consumerGroup." + group; String key = Consumer.GROUP_PREFIX + group;
consumerGroupsInstrumentations.putIfAbsent(key, consumerGroupsInstrumentations.putIfAbsent(key,
new ConsumerGroupInstrumentation(metricRegistry, key)); new ConsumerGroupInstrumentation(metricRegistry, key));
return consumerGroupsInstrumentations.get(key); return consumerGroupsInstrumentations.get(key);

View File

@ -2,6 +2,8 @@ package org.springframework.cloud.stream.binder.rocketmq.metrics;
import static com.codahale.metrics.MetricRegistry.name; import static com.codahale.metrics.MetricRegistry.name;
import org.springframework.cloud.stream.binder.rocketmq.RocketMQBinderConstants.Metrics.Producer;
import com.codahale.metrics.Counter; import com.codahale.metrics.Counter;
import com.codahale.metrics.Meter; import com.codahale.metrics.Meter;
import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.MetricRegistry;
@ -19,12 +21,14 @@ public class ProducerInstrumentation extends Instrumentation {
public ProducerInstrumentation(MetricRegistry registry, String baseMetricName) { public ProducerInstrumentation(MetricRegistry registry, String baseMetricName) {
super(baseMetricName); super(baseMetricName);
this.totalSent = registry.counter(name(baseMetricName, "totalSent"));
this.totalSent = registry.counter(name(baseMetricName, Producer.TOTAL_SENT));
this.totalSentFailures = registry this.totalSentFailures = registry
.counter(name(baseMetricName, "totalSentFailures")); .counter(name(baseMetricName, Producer.TOTAL_SENT_FAILURES));
this.sentPerSecond = registry.meter(name(baseMetricName, "sentPerSecond")); this.sentPerSecond = registry
.meter(name(baseMetricName, Producer.SENT_PER_SECOND));
this.sentFailuresPerSecond = registry this.sentFailuresPerSecond = registry
.meter(name(baseMetricName, "sentFailuresPerSecond")); .meter(name(baseMetricName, Producer.SENT_FAILURES_PER_SECOND));
} }
public void markSent() { public void markSent() {