Commit 9303efd4 authored by Dave Syer's avatar Dave Syer

Allow counter names like counter-foo

Checking for a prefix "counter." is more correct than "counter" because
the readers (repositories) assume the former prefix is there.

Fixes gh-3801
parent a01a5db9
......@@ -58,7 +58,7 @@ public class DefaultCounterService implements CounterService {
if (this.names.containsKey(metricName)) {
return this.names.get(metricName);
}
if (metricName.startsWith("counter") || metricName.startsWith("meter")) {
if (metricName.startsWith("counter.") || metricName.startsWith("meter.")) {
return metricName;
}
String name = "counter." + metricName;
......
......@@ -16,16 +16,16 @@
package org.springframework.boot.actuate.metrics.writer;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.runners.MockitoJUnitRunner;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
/**
* Tests for {@link DefaultCounterService}.
*/
......@@ -40,6 +40,22 @@ public class DefaultCounterServiceTests {
@Captor
private ArgumentCaptor<Delta<Number>> captor;
@Test
public void incrementWithExistingCounter() {
this.service.increment("counter.foo");
verify(this.repository).increment(this.captor.capture());
assertEquals("counter.foo", this.captor.getValue().getName());
assertEquals(1L, this.captor.getValue().getValue());
}
@Test
public void incrementWithExistingNearlyCounter() {
this.service.increment("counter-foo");
verify(this.repository).increment(this.captor.capture());
assertEquals("counter.counter-foo", this.captor.getValue().getName());
assertEquals(1L, this.captor.getValue().getValue());
}
@Test
public void incrementPrependsCounter() {
this.service.increment("foo");
......
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