### Question:
ServoTimer extends AbstractTimer implements ServoMeter { @Override public Iterable<Measurement> measure() { final long now = clock.wallTime(); final List<Measurement> ms = new ArrayList<>(2); ms.add(newMeasurement(Statistic.count, now, servoCount.getValue(0))); ms.add(newMeasurement(Statistic.totalTime, now, getValue(servoTotal, CNV_SECONDS))); ms.add(newMeasurement(Statistic.totalOfSquares, now, getValue(servoTotalOfSquares, CNV_SQUARES))); ms.add(newMeasurement(Statistic.max, now, getValue(servoMax, CNV_SECONDS))); return ms; } ServoTimer(ServoRegistry r, Id id); @Override void addMonitors(List<Monitor<?>> monitors); @Override Id id(); @Override boolean hasExpired(); @Override void record(long amount, TimeUnit unit); @Override Iterable<Measurement> measure(); @Override long count(); @Override long totalTime();  }### Answer:
@Test public void testMeasure() { Timer t = newTimer("foo"); t.record(42, TimeUnit.MILLISECONDS); clock.setWallTime(61000L); for (Measurement m : t.measure()) { Assertions.assertEquals(m.timestamp(), 61000L); final double count = Utils.first(t.measure(), Statistic.count).value(); final double totalTime = Utils.first(t.measure(), Statistic.totalTime).value(); Assertions.assertEquals(count, 1.0 / 60.0, 0.1e-12); Assertions.assertEquals(totalTime, 42e-3 / 60.0, 0.1e-12); } }