@Override public void onTaskCompletion(TaskContext context) { function.apply(); } });
@Override public void onTaskCompletion(TaskContext context) { function.apply(); } });
@Override public T apply() { taskPendingTime.registerSuccessfulEvent(pendingStopwatch.elapsed(TimeUnit.MICROSECONDS)); Stopwatch executionStopwatch = Stopwatch.createStarted(); T result = function0.apply(); taskExecutionTime.registerSuccessfulEvent(executionStopwatch.elapsed(TimeUnit.MICROSECONDS)); long elapsed = executionStopwatch.elapsed(TimeUnit.MICROSECONDS); if (elapsed > traceTaskExecutionWarnTimeUs) { LOG.info("{} took too long {} microseconds", function0.toString(), elapsed); } return result; } }
@Override public BoxedUnit apply() { function.apply(); return BoxedUnit.UNIT; } });
@Override public void onTaskCompletion(TaskContext context) { function.apply(); } });
@Override public void onTaskCompletion(TaskContext context) { function.apply(); } });
@Override public void onTaskCompletion(TaskContext context) { function.apply(); } });
@Test public void testInstantiateProducer() { KafkaSystemProducer ksp = new KafkaSystemProducer("SysName", new ExponentialSleepStrategy(2.0, 200, 10000), new AbstractFunction0<Producer<byte[], byte[]>>() { @Override public Producer<byte[], byte[]> apply() { return new KafkaProducer<>(new HashMap<String, Object>()); } }, new KafkaSystemProducerMetrics("SysName", new MetricsRegistryMap()), new AbstractFunction0<Object>() { @Override public Object apply() { return System.currentTimeMillis(); } }, false); long now = System.currentTimeMillis(); assertTrue((Long)ksp.clock().apply() >= now); } }