use of com.yahoo.jdisc.Timer in project vespa by vespa-engine.
the class ServiceMonitorMetricsTest method testTryWithResources.
@Test
public void testTryWithResources() {
Metric metric = mock(Metric.class);
Timer timer = mock(Timer.class);
ServiceMonitorMetrics metrics = new ServiceMonitorMetrics(metric, timer);
when(timer.currentTimeMillis()).thenReturn(Long.valueOf(500), Long.valueOf(1000));
try (LatencyMeasurement measurement = metrics.startServiceModelSnapshotLatencyMeasurement()) {
measurement.hashCode();
}
verify(metric).set("serviceModel.snapshot.latency", 0.5, null);
}
use of com.yahoo.jdisc.Timer in project vespa by vespa-engine.
the class SystemTimerTestCase method requireThatClassIsInjectedByDefault.
@Test
public void requireThatClassIsInjectedByDefault() {
Timer timer = Guice.createInjector().getInstance(Timer.class);
assertTrue(timer instanceof SystemTimer);
}
use of com.yahoo.jdisc.Timer in project vespa by vespa-engine.
the class StateHandlerTest method startTestDriver.
@Before
public void startTestDriver() {
Timer timer = this.currentTimeMillis::get;
this.driver = TestDriver.newSimpleApplicationInstanceWithoutOsgi(new AbstractModule() {
@Override
protected void configure() {
bind(Timer.class).toInstance(timer);
}
});
ContainerBuilder builder = driver.newContainerBuilder();
HealthMonitorConfig healthMonitorConfig = new HealthMonitorConfig(new HealthMonitorConfig.Builder().snapshot_interval(TimeUnit.MILLISECONDS.toSeconds(SNAPSHOT_INTERVAL)));
ThreadFactory threadFactory = ignored -> mock(Thread.class);
this.monitor = new StateMonitor(healthMonitorConfig, timer, threadFactory);
builder.guiceModules().install(new AbstractModule() {
@Override
protected void configure() {
bind(StateMonitor.class).toInstance(monitor);
bind(MetricConsumer.class).toProvider(MetricConsumerProviders.wrap(monitor));
bind(ApplicationMetadataConfig.class).toInstance(new ApplicationMetadataConfig(new ApplicationMetadataConfig.Builder().generation(META_GENERATION)));
bind(MetricsPresentationConfig.class).toInstance(new MetricsPresentationConfig(new MetricsPresentationConfig.Builder()));
}
});
builder.serverBindings().bind("http://*/*", builder.getInstance(StateHandler.class));
driver.activateContainer(builder);
metric = builder.getInstance(Metric.class);
}
use of com.yahoo.jdisc.Timer in project vespa by vespa-engine.
the class LatencyMeasurementTest method testReportedDuration.
@Test
public void testReportedDuration() {
Timer timer = mock(Timer.class);
when(timer.currentTimeMillis()).thenReturn(500l, 1000l);
// IntelliJ complains if parametrized type is specified, Maven complains if not specified.
@SuppressWarnings("unchecked") Consumer<Double> consumer = mock(Consumer.class);
try (LatencyMeasurement measurement = new LatencyMeasurement(timer, consumer)) {
// Avoid javac warning by referencing measurement.
dummy(measurement);
}
verify(consumer).accept(0.5);
}
Aggregations