@Test public void abortedWritesDeletedAccumulatesOverShards() { metrics.updateAbortedWritesDeleted(CONS_ZERO, 1); metrics.updateAbortedWritesDeleted(CONS_ONE, 2); metrics.updateAbortedWritesDeleted(CONS_ZERO, 1); assertThat(metricsManager).hasAbortedWritesDeletedConservativeEquals(4); }
public void updateAbortedWritesDeleted(ShardAndStrategy shardStrategy, long deletes) { updateMetricsIfPresent(shardStrategy, metrics -> metrics.updateAbortedWritesDeleted(deletes)); }
TargetedSweepMetrics { public void updateAbortedWritesDeleted(ShardAndStrategy shardStrategy, long deletes) { updateMetricsIfPresent(shardStrategy, metrics -> metrics.updateAbortedWritesDeleted(deletes)); } }
TargetedSweepMetrics { public void updateAbortedWritesDeleted(ShardAndStrategy shardStrategy, long deletes) { updateMetricsIfPresent(shardStrategy, metrics -> metrics.updateAbortedWritesDeleted(deletes)); } private  TargetedSweepMetrics(
            MetricsManager metricsManager,
            Function<Long, Long> tsToMillis,
            Clock clock,
            MetricsConfiguration metricsConfiguration); }
TargetedSweepMetrics { public void updateAbortedWritesDeleted(ShardAndStrategy shardStrategy, long deletes) { updateMetricsIfPresent(shardStrategy, metrics -> metrics.updateAbortedWritesDeleted(deletes)); } private  TargetedSweepMetrics(
            MetricsManager metricsManager,
            Function<Long, Long> tsToMillis,
            Clock clock,
            MetricsConfiguration metricsConfiguration); static TargetedSweepMetrics create(
            MetricsManager metricsManager,
            TimelockService timelock,
            KeyValueService kvs,
            MetricsConfiguration metricsConfiguration); static TargetedSweepMetrics createWithClock(
            MetricsManager metricsManager,
            KeyValueService kvs,
            Clock clock,
            MetricsConfiguration metricsConfiguration); void updateEnqueuedWrites(ShardAndStrategy shardStrategy, long writes); void updateEntriesRead(ShardAndStrategy shardStrategy, long reads); void updateNumberOfTombstones(ShardAndStrategy shardStrategy, long tombstones); void updateAbortedWritesDeleted(ShardAndStrategy shardStrategy, long deletes); void updateSweepTimestamp(ShardAndStrategy shardStrategy, long value); void updateProgressForShard(ShardAndStrategy shardStrategy, long lastSweptTs); void registerOccurrenceOf(ShardAndStrategy shardStrategy, SweepOutcome outcome); void registerOccurrenceOf(SweeperStrategy strategy, SweepOutcome outcome); void registerEntriesReadInBatch(ShardAndStrategy shardStrategy, long batchSize); }
TargetedSweepMetrics { public void updateAbortedWritesDeleted(ShardAndStrategy shardStrategy, long deletes) { updateMetricsIfPresent(shardStrategy, metrics -> metrics.updateAbortedWritesDeleted(deletes)); } private  TargetedSweepMetrics(
            MetricsManager metricsManager,
            Function<Long, Long> tsToMillis,
            Clock clock,
            MetricsConfiguration metricsConfiguration); static TargetedSweepMetrics create(
            MetricsManager metricsManager,
            TimelockService timelock,
            KeyValueService kvs,
            MetricsConfiguration metricsConfiguration); static TargetedSweepMetrics createWithClock(
            MetricsManager metricsManager,
            KeyValueService kvs,
            Clock clock,
            MetricsConfiguration metricsConfiguration); void updateEnqueuedWrites(ShardAndStrategy shardStrategy, long writes); void updateEntriesRead(ShardAndStrategy shardStrategy, long reads); void updateNumberOfTombstones(ShardAndStrategy shardStrategy, long tombstones); void updateAbortedWritesDeleted(ShardAndStrategy shardStrategy, long deletes); void updateSweepTimestamp(ShardAndStrategy shardStrategy, long value); void updateProgressForShard(ShardAndStrategy shardStrategy, long lastSweptTs); void registerOccurrenceOf(ShardAndStrategy shardStrategy, SweepOutcome outcome); void registerOccurrenceOf(SweeperStrategy strategy, SweepOutcome outcome); void registerEntriesReadInBatch(ShardAndStrategy shardStrategy, long batchSize);  }