GH-1351 changed to Step meters

GH-1351 added interval field to Applicationmetrics

Resolves #1351
Resolves #1352
This commit is contained in:
Oleg Zhurakousky
2018-04-06 10:47:07 -04:00
parent 6d29ade3bf
commit 8373e135f4
2 changed files with 23 additions and 12 deletions

View File

@@ -30,7 +30,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
* @author Vinicius Carvalho
* @author Oleg Zhurakousky
*/
@JsonPropertyOrder({ "name", "createdTime", "properties", "metrics" })
@JsonPropertyOrder({ "name", "inteval", "createdTime", "properties", "metrics" })
class ApplicationMetrics {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC")
@@ -38,6 +38,8 @@ class ApplicationMetrics {
private String name;
private long interval;
private Collection<Metric<Number>> metrics;
private Map<String, Object> properties;
@@ -76,4 +78,12 @@ class ApplicationMetrics {
public void setProperties(Map<String, Object> properties) {
this.properties = properties;
}
public long getInterval() {
return interval;
}
public void setInterval(long interval) {
this.interval = interval;
}
}

View File

@@ -42,16 +42,16 @@ import io.micrometer.core.instrument.Meter.Id;
import io.micrometer.core.instrument.Meter.Type;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Timer;
import io.micrometer.core.instrument.cumulative.CumulativeCounter;
import io.micrometer.core.instrument.cumulative.CumulativeDistributionSummary;
import io.micrometer.core.instrument.cumulative.CumulativeFunctionCounter;
import io.micrometer.core.instrument.cumulative.CumulativeFunctionTimer;
import io.micrometer.core.instrument.cumulative.CumulativeTimer;
import io.micrometer.core.instrument.distribution.DistributionStatisticConfig;
import io.micrometer.core.instrument.distribution.pause.PauseDetector;
import io.micrometer.core.instrument.internal.DefaultGauge;
import io.micrometer.core.instrument.internal.DefaultLongTaskTimer;
import io.micrometer.core.instrument.internal.DefaultMeter;
import io.micrometer.core.instrument.step.StepCounter;
import io.micrometer.core.instrument.step.StepDistributionSummary;
import io.micrometer.core.instrument.step.StepFunctionCounter;
import io.micrometer.core.instrument.step.StepFunctionTimer;
import io.micrometer.core.instrument.step.StepTimer;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -128,7 +128,7 @@ class DefaultDestinationPublishingMeterRegistry extends MeterRegistry implements
@Override
protected Counter newCounter(Meter.Id id) {
return new CumulativeCounter(id);
return new StepCounter(id, clock, metricsPublisherConfig.step().toMillis());
}
@Override
@@ -153,6 +153,7 @@ class DefaultDestinationPublishingMeterRegistry extends MeterRegistry implements
}
if (!aggregatedMeters.isEmpty()) {
ApplicationMetrics metrics = new ApplicationMetrics(this.applicationProperties.getKey(), aggregatedMeters);
metrics.setInterval(this.metricsPublisherConfig.step().toMillis());
metrics.setProperties(this.applicationProperties.getExportProperties());
try {
String jsonString = this.objectMapper.writeValueAsString(metrics);
@@ -167,19 +168,19 @@ class DefaultDestinationPublishingMeterRegistry extends MeterRegistry implements
@Override
protected Timer newTimer(Id id, DistributionStatisticConfig distributionStatisticConfig,
PauseDetector pauseDetector) {
return new CumulativeTimer(id, clock, distributionStatisticConfig, pauseDetector, getBaseTimeUnit());
return new StepTimer(id, clock, distributionStatisticConfig, pauseDetector, getBaseTimeUnit());
}
@Override
protected <T> FunctionTimer newFunctionTimer(Id id, T obj, ToLongFunction<T> countFunction,
ToDoubleFunction<T> totalTimeFunction, TimeUnit totalTimeFunctionUnits) {
return new CumulativeFunctionTimer<T>(id, obj, countFunction, totalTimeFunction, totalTimeFunctionUnits,
getBaseTimeUnit());
return new StepFunctionTimer<T>(id, clock, metricsPublisherConfig.step().toMillis(), obj, countFunction, totalTimeFunction,
totalTimeFunctionUnits, getBaseTimeUnit());
}
@Override
protected <T> FunctionCounter newFunctionCounter(Id id, T obj, ToDoubleFunction<T> valueFunction) {
return new CumulativeFunctionCounter<T>(id, obj, valueFunction);
return new StepFunctionCounter<T>(id, clock, metricsPublisherConfig.step().toMillis(), obj, valueFunction);
}
@Override
@@ -189,7 +190,7 @@ class DefaultDestinationPublishingMeterRegistry extends MeterRegistry implements
@Override
protected DistributionSummary newDistributionSummary(Id id, DistributionStatisticConfig distributionStatisticConfig, double scale) {
return new CumulativeDistributionSummary(id, clock, distributionStatisticConfig, scale);
return new StepDistributionSummary(id, clock, distributionStatisticConfig, scale);
}
@Override