use of com.uber.m3.tally.Timer in project sdk-java by temporalio.
the class ReplayAwareScopeTest method testReplayAwareScopeReplaying.
@Test
public void testReplayAwareScopeReplaying() {
Scope scope = mock(Scope.class);
Counter counter = mock(Counter.class);
Gauge gauge = mock(Gauge.class);
Timer timer = mock(Timer.class);
Histogram histogram = mock(Histogram.class);
@SuppressWarnings("deprecation") com.uber.m3.tally.Buckets buckets = ValueBuckets.linear(0, 10, 10);
when(scope.counter("test-counter")).thenReturn(counter);
when(scope.gauge("test-gauge")).thenReturn(gauge);
when(scope.timer("test-timer")).thenReturn(timer);
when(scope.histogram("test-histogram", buckets)).thenReturn(histogram);
TestContext context = new TestContext(true);
Scope replayAwareScope = new ReplayAwareScope(scope, context, System::currentTimeMillis);
replayAwareScope.counter("test-counter").inc(1);
replayAwareScope.gauge("test-gauge").update(100.0);
replayAwareScope.timer("test-timer").record(Duration.ofMillis(100));
replayAwareScope.histogram("test-histogram", buckets).recordValue(10);
replayAwareScope.histogram("test-histogram", buckets).recordDuration(Duration.ofHours(1));
verify(counter, never()).inc(1);
verify(gauge, never()).update(100.0);
verify(timer, never()).record(Duration.ofMillis(100));
verify(histogram, never()).recordValue(10);
verify(histogram, never()).recordDuration(Duration.ofHours(1));
}
use of com.uber.m3.tally.Timer in project cadence-client by uber-java.
the class ActivityPollTask method pollTask.
@Override
protected PollForActivityTaskResponse pollTask() throws TException {
options.getMetricsScope().counter(MetricsType.ACTIVITY_POLL_COUNTER).inc(1);
Stopwatch sw = options.getMetricsScope().timer(MetricsType.ACTIVITY_POLL_LATENCY).start();
PollForActivityTaskRequest pollRequest = new PollForActivityTaskRequest();
pollRequest.setDomain(domain);
pollRequest.setIdentity(options.getIdentity());
pollRequest.setTaskList(new TaskList().setName(taskList));
if (options.getTaskListActivitiesPerSecond() > 0) {
TaskListMetadata metadata = new TaskListMetadata();
metadata.setMaxTasksPerSecond(options.getTaskListActivitiesPerSecond());
pollRequest.setTaskListMetadata(metadata);
}
if (log.isDebugEnabled()) {
log.debug("poll request begin: " + pollRequest);
}
PollForActivityTaskResponse result;
try {
result = service.PollForActivityTask(pollRequest);
} catch (InternalServiceError | ServiceBusyError e) {
options.getMetricsScope().counter(MetricsType.ACTIVITY_POLL_TRANSIENT_FAILED_COUNTER).inc(1);
throw e;
} catch (TException e) {
options.getMetricsScope().counter(MetricsType.ACTIVITY_POLL_FAILED_COUNTER).inc(1);
throw e;
}
if (result == null || result.getTaskToken() == null) {
if (log.isDebugEnabled()) {
log.debug("poll request returned no task");
}
options.getMetricsScope().counter(MetricsType.ACTIVITY_POLL_NO_TASK_COUNTER).inc(1);
return null;
}
if (log.isTraceEnabled()) {
log.trace("poll request returned " + result);
}
sw.stop();
return result;
}
use of com.uber.m3.tally.Timer in project cadence-client by uber-java.
the class ReplayAwareScopeTest method testReplayAwareScopeNotReplaying.
@Test
public void testReplayAwareScopeNotReplaying() {
Scope scope = mock(Scope.class);
Counter counter = mock(Counter.class);
Gauge gauge = mock(Gauge.class);
Timer timer = mock(Timer.class);
Histogram histogram = mock(Histogram.class);
Buckets buckets = ValueBuckets.linear(0, 10, 10);
when(scope.counter("test-counter")).thenReturn(counter);
when(scope.gauge("test-gauge")).thenReturn(gauge);
when(scope.timer("test-timer")).thenReturn(timer);
when(scope.histogram("test-histogram", buckets)).thenReturn(histogram);
TestContext context = new TestContext(false);
Scope replayAwareScope = new ReplayAwareScope(scope, context, System::currentTimeMillis);
replayAwareScope.counter("test-counter").inc(1);
replayAwareScope.gauge("test-gauge").update(100.0);
replayAwareScope.timer("test-timer").record(Duration.ofMillis(100));
replayAwareScope.histogram("test-histogram", buckets).recordValue(10);
replayAwareScope.histogram("test-histogram", buckets).recordDuration(Duration.ofHours(1));
verify(counter, times(1)).inc(1);
verify(gauge, times(1)).update(100.0);
verify(timer, times(1)).record(Duration.ofMillis(100));
verify(histogram, times(1)).recordValue(10);
verify(histogram, times(1)).recordDuration(Duration.ofHours(1));
}
use of com.uber.m3.tally.Timer in project cadence-client by uber-java.
the class ReplayAwareScopeTest method testCustomClockForTimer.
@Test
public void testCustomClockForTimer() {
Scope scope = mock(Scope.class);
Timer timer = mock(Timer.class);
Histogram histogram = mock(Histogram.class);
Buckets buckets = ValueBuckets.linear(0, 10, 10);
when(scope.timer("test-timer")).thenReturn(timer);
when(scope.histogram("test-histogram", buckets)).thenReturn(histogram);
TestContext context = new TestContext(false);
TestClock clock = new TestClock();
clock.setTime(0);
Scope replayAwareScope = new ReplayAwareScope(scope, context, clock);
Stopwatch sw = replayAwareScope.timer("test-timer").start();
clock.setTime(100);
sw.stop();
sw = replayAwareScope.histogram("test-histogram", buckets).start();
clock.setTime(150);
sw.stop();
verify(timer, times(1)).record(Duration.ofMillis(100));
verify(histogram, times(1)).recordDuration(Duration.ofMillis(50));
}
use of com.uber.m3.tally.Timer in project cadence-client by uber-java.
the class ReplayAwareScopeTest method testReplayAwareScopeReplaying.
@Test
public void testReplayAwareScopeReplaying() {
Scope scope = mock(Scope.class);
Counter counter = mock(Counter.class);
Gauge gauge = mock(Gauge.class);
Timer timer = mock(Timer.class);
Histogram histogram = mock(Histogram.class);
Buckets buckets = ValueBuckets.linear(0, 10, 10);
when(scope.counter("test-counter")).thenReturn(counter);
when(scope.gauge("test-gauge")).thenReturn(gauge);
when(scope.timer("test-timer")).thenReturn(timer);
when(scope.histogram("test-histogram", buckets)).thenReturn(histogram);
TestContext context = new TestContext(true);
Scope replayAwareScope = new ReplayAwareScope(scope, context, System::currentTimeMillis);
replayAwareScope.counter("test-counter").inc(1);
replayAwareScope.gauge("test-gauge").update(100.0);
replayAwareScope.timer("test-timer").record(Duration.ofMillis(100));
replayAwareScope.histogram("test-histogram", buckets).recordValue(10);
replayAwareScope.histogram("test-histogram", buckets).recordDuration(Duration.ofHours(1));
verify(counter, never()).inc(1);
verify(gauge, never()).update(100.0);
verify(timer, never()).record(Duration.ofMillis(100));
verify(histogram, never()).recordValue(10);
verify(histogram, never()).recordDuration(Duration.ofHours(1));
}
Aggregations