use of org.apache.samza.metrics.Counter in project samza by apache.
the class TestOperatorImpl method testOnTimerUpdatesMetrics.
@Test
public void testOnTimerUpdatesMetrics() {
TaskContext mockTaskContext = mock(TaskContext.class);
MetricsRegistry mockMetricsRegistry = mock(MetricsRegistry.class);
when(mockTaskContext.getMetricsRegistry()).thenReturn(mockMetricsRegistry);
Counter mockMessageCounter = mock(Counter.class);
Timer mockTimer = mock(Timer.class);
when(mockMetricsRegistry.newCounter(anyString(), anyString())).thenReturn(mockMessageCounter);
when(mockMetricsRegistry.newTimer(anyString(), anyString())).thenReturn(mockTimer);
Object mockTestOpImplOutput = mock(Object.class);
OperatorImpl<Object, Object> opImpl = new TestOpImpl(mockTestOpImplOutput);
opImpl.init(mock(Config.class), mockTaskContext);
// send a message to this operator
MessageCollector mockCollector = mock(MessageCollector.class);
TaskCoordinator mockCoordinator = mock(TaskCoordinator.class);
opImpl.onTimer(mockCollector, mockCoordinator);
// verify that it updates metrics
verify(mockMessageCounter, times(0)).inc();
verify(mockTimer, times(1)).update(anyLong());
}
use of org.apache.samza.metrics.Counter in project samza by apache.
the class TestOperatorImpl method testOnMessageUpdatesMetrics.
@Test
public void testOnMessageUpdatesMetrics() {
TaskContext mockTaskContext = mock(TaskContext.class);
MetricsRegistry mockMetricsRegistry = mock(MetricsRegistry.class);
when(mockTaskContext.getMetricsRegistry()).thenReturn(mockMetricsRegistry);
Counter mockCounter = mock(Counter.class);
Timer mockTimer = mock(Timer.class);
when(mockMetricsRegistry.newCounter(anyString(), anyString())).thenReturn(mockCounter);
when(mockMetricsRegistry.newTimer(anyString(), anyString())).thenReturn(mockTimer);
Object mockTestOpImplOutput = mock(Object.class);
OperatorImpl<Object, Object> opImpl = new TestOpImpl(mockTestOpImplOutput);
opImpl.init(mock(Config.class), mockTaskContext);
// send a message to this operator
MessageCollector mockCollector = mock(MessageCollector.class);
TaskCoordinator mockCoordinator = mock(TaskCoordinator.class);
opImpl.onMessage(mock(Object.class), mockCollector, mockCoordinator);
// verify that it updates message count and timer metrics
verify(mockCounter, times(1)).inc();
verify(mockTimer, times(1)).update(anyLong());
}
use of org.apache.samza.metrics.Counter in project samza by apache.
the class TestNoOpMetricsRegistry method testNoOpMetricsHappyPath.
@Test
public void testNoOpMetricsHappyPath() {
NoOpMetricsRegistry registry = new NoOpMetricsRegistry();
Counter counter1 = registry.newCounter("testc", "a");
Counter counter2 = registry.newCounter("testc", "b");
Counter counter3 = registry.newCounter("testc2", "c");
Gauge<String> gauge1 = registry.newGauge("testg", "a", "1");
Gauge<String> gauge2 = registry.newGauge("testg", "b", "2");
Gauge<String> gauge3 = registry.newGauge("testg", "c", "3");
Gauge<String> gauge4 = registry.newGauge("testg2", "d", "4");
Timer timer1 = registry.newTimer("testt", "a");
Timer timer2 = registry.newTimer("testt", "b");
Timer timer3 = registry.newTimer("testt2", "c");
counter1.inc();
counter2.inc(2);
counter3.inc(4);
gauge1.set("5");
gauge2.set("6");
gauge3.set("7");
gauge4.set("8");
timer1.update(1L);
timer2.update(2L);
timer3.update(3L);
assertEquals(1, counter1.getCount());
assertEquals(2, counter2.getCount());
assertEquals(4, counter3.getCount());
assertEquals("5", gauge1.getValue());
assertEquals("6", gauge2.getValue());
assertEquals("7", gauge3.getValue());
assertEquals("8", gauge4.getValue());
assertEquals(1, timer1.getSnapshot().getAverage(), 0);
assertEquals(2, timer2.getSnapshot().getAverage(), 0);
assertEquals(3, timer3.getSnapshot().getAverage(), 0);
}
Aggregations