Skip to content

Commit

Permalink
Merge branch '1.3.x' into 1.5.x
Browse files Browse the repository at this point in the history
  • Loading branch information
shakuzen committed May 10, 2020
2 parents cba2189 + 81d9c30 commit 64d16dc
Showing 1 changed file with 26 additions and 16 deletions.
Expand Up @@ -22,6 +22,7 @@
import io.micrometer.core.instrument.binder.logging.LogbackMetrics;
import io.micrometer.core.instrument.config.NamingConvention;
import io.micrometer.core.lang.Nullable;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
Expand All @@ -48,16 +49,25 @@
import static org.assertj.core.api.Assertions.fail;

/**
* Tests for {@link StatsdMeterRegistry}.
*
* @author Jon Schneider
* @author Johnny Lim
*/
class StatsdMeterRegistryTest {
private MockClock clock = new MockClock();
private StatsdMeterRegistry registry;

@BeforeAll
static void before() {
((Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME)).setLevel(Level.INFO);
}

@AfterEach
void cleanUp() {
registry.close();
}

private static StatsdConfig configWithFlavor(StatsdFlavor flavor) {
return new StatsdConfig() {
@Override
Expand Down Expand Up @@ -95,7 +105,7 @@ void counterLineProtocol(StatsdFlavor flavor) {
}

final Processor<String, String> lines = lineProcessor();
MeterRegistry registry = StatsdMeterRegistry.builder(configWithFlavor(flavor))
registry = StatsdMeterRegistry.builder(configWithFlavor(flavor))
.clock(clock)
.lineSink(toSink(lines))
.build();
Expand Down Expand Up @@ -133,7 +143,7 @@ void gaugeLineProtocol(StatsdFlavor flavor) {
StepVerifier
.withVirtualTime(() -> {
final Processor<String, String> lines = lineProcessor();
MeterRegistry registry = StatsdMeterRegistry.builder(config)
registry = StatsdMeterRegistry.builder(config)
.clock(clock)
.lineSink(toSink(lines))
.build();
Expand Down Expand Up @@ -169,7 +179,7 @@ void timerLineProtocol(StatsdFlavor flavor) {
}

final Processor<String, String> lines = lineProcessor();
MeterRegistry registry = StatsdMeterRegistry.builder(configWithFlavor(flavor))
registry = StatsdMeterRegistry.builder(configWithFlavor(flavor))
.clock(clock)
.lineSink(toSink(lines))
.build();
Expand Down Expand Up @@ -202,7 +212,7 @@ void summaryLineProtocol(StatsdFlavor flavor) {
}

final Processor<String, String> lines = lineProcessor();
MeterRegistry registry = StatsdMeterRegistry.builder(configWithFlavor(flavor))
registry = StatsdMeterRegistry.builder(configWithFlavor(flavor))
.clock(clock)
.lineSink(toSink(lines))
.build();
Expand Down Expand Up @@ -255,7 +265,7 @@ void longTaskTimerLineProtocol(StatsdFlavor flavor) {
StepVerifier
.withVirtualTime(() -> {
final Processor<String, String> lines = lineProcessor();
MeterRegistry registry = StatsdMeterRegistry.builder(config)
registry = StatsdMeterRegistry.builder(config)
.clock(clock)
.lineSink(toSink(lines, 2))
.build();
Expand All @@ -274,7 +284,7 @@ void longTaskTimerLineProtocol(StatsdFlavor flavor) {
@Test
void customNamingConvention() {
final Processor<String, String> lines = lineProcessor();
MeterRegistry registry = StatsdMeterRegistry.builder(configWithFlavor(StatsdFlavor.ETSY))
registry = StatsdMeterRegistry.builder(configWithFlavor(StatsdFlavor.ETSY))
.nameMapper((id, convention) -> id.getName().toUpperCase())
.clock(clock)
.lineSink(toSink(lines))
Expand All @@ -289,7 +299,7 @@ void customNamingConvention() {
@Issue("#411")
@Test
void counterIncrementDoesNotCauseStackOverflow() {
StatsdMeterRegistry registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
new LogbackMetrics().bindTo(registry);

// Cause the processor to get into a state that would make it perform logging at DEBUG level.
Expand All @@ -304,7 +314,7 @@ void counterIncrementDoesNotCauseStackOverflow() {
@Issue("#370")
void serviceLevelObjectivesOnlyNoPercentileHistogram(StatsdFlavor flavor) {
StatsdConfig config = configWithFlavor(flavor);
MeterRegistry registry = new StatsdMeterRegistry(config, clock);
registry = new StatsdMeterRegistry(config, clock);
DistributionSummary summary = DistributionSummary.builder("my.summary").serviceLevelObjectives(1.0, 2).register(registry);
summary.record(1);

Expand Down Expand Up @@ -334,7 +344,7 @@ void serviceLevelObjectivesOnlyNoPercentileHistogram(StatsdFlavor flavor) {

@Test
void timersWithServiceLevelObjectivesHaveInfBucket() {
StatsdMeterRegistry registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
Timer.builder("my.timer").serviceLevelObjectives(Duration.ofMillis(1)).register(registry);

// A io.micrometer.core.instrument.search.MeterNotFoundException is thrown if the gauge isn't present
Expand All @@ -343,7 +353,7 @@ void timersWithServiceLevelObjectivesHaveInfBucket() {

@Test
void distributionSummariesWithServiceLevelObjectivesHaveInfBucket() {
StatsdMeterRegistry registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
DistributionSummary summary = DistributionSummary.builder("my.distribution").serviceLevelObjectives(1.0).register(registry);

// A io.micrometer.core.instrument.search.MeterNotFoundException is thrown if the gauge isn't present
Expand All @@ -352,7 +362,7 @@ void distributionSummariesWithServiceLevelObjectivesHaveInfBucket() {

@Test
void infBucketEqualsCount() {
StatsdMeterRegistry registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
Timer timer = Timer.builder("my.timer").serviceLevelObjectives(Duration.ofMillis(1)).register(registry);
timer.record(1, TimeUnit.MILLISECONDS);

Expand All @@ -365,7 +375,7 @@ void infBucketEqualsCount() {

@Test
void interactWithStoppedRegistry() {
StatsdMeterRegistry registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
registry = new StatsdMeterRegistry(configWithFlavor(StatsdFlavor.ETSY), clock);
registry.stop();
registry.counter("my.counter").increment();
}
Expand All @@ -376,7 +386,7 @@ void interactWithStoppedRegistry() {
void memoryPerformanceOfNamingConventionInHotLoops(StatsdFlavor flavor) {
AtomicInteger namingConventionUses = new AtomicInteger(0);

StatsdMeterRegistry registry = new StatsdMeterRegistry(configWithFlavor(flavor), clock);
registry = new StatsdMeterRegistry(configWithFlavor(flavor), clock);

registry.config().namingConvention(new NamingConvention() {
@Override
Expand Down Expand Up @@ -416,7 +426,7 @@ public String tagValue(String value) {
@Issue("#778")
void doNotPublishNanOrInfiniteGaugeValues() {
AtomicInteger lineCount = new AtomicInteger(0);
MeterRegistry registry = StatsdMeterRegistry.builder(StatsdConfig.DEFAULT)
registry = StatsdMeterRegistry.builder(StatsdConfig.DEFAULT)
.lineSink(l -> lineCount.incrementAndGet())
.build();

Expand All @@ -441,7 +451,7 @@ void lineSinkDoesNotConsumeWhenRegistryDisabled() {
Consumer<String> shouldNotBeInvokedConsumer = line -> {
throw new RuntimeException("line sink should not be called");
};
StatsdMeterRegistry registry = StatsdMeterRegistry.builder(new StatsdConfig() {
registry = StatsdMeterRegistry.builder(new StatsdConfig() {
@Override
public String get(String key) {
return null;
Expand All @@ -463,7 +473,7 @@ public boolean enabled() {
void stopTrackingMetersThatAreRemoved() {
Map<String, Integer> lines = new HashMap<>();

StatsdMeterRegistry registry = StatsdMeterRegistry.builder(configWithFlavor(StatsdFlavor.ETSY))
registry = StatsdMeterRegistry.builder(configWithFlavor(StatsdFlavor.ETSY))
.clock(clock)
.lineSink(line -> {
int firstTag = line.indexOf('.');
Expand Down

0 comments on commit 64d16dc

Please sign in to comment.