@Override public void handle(StepMeasurements measurements, int level) { if (level > 0) { return; } candidateEvents++; double fractionSampledSoFar = (double) eventsSampled / candidateEvents; if (fractionSampledSoFar < samplingFraction) { eventsSampled++; delegate.handle(measurements, level); } } }
private void assertEventSinkCounts(StepMeasurementSink sink, int eventLevel, CountingMeasurementSink counter, int... progressiveCounts) { int seen = 0; for (int progressiveCount : progressiveCounts) { sink.handle(null, eventLevel); seen++; assertEquals( String.format("After %s events, %s should be sunk", seen, progressiveCount), progressiveCount, counter.eventsSunk); } }
sink.handle(current, depth);