ONOS-2456 Added usage metrics to Atomic Counter and Distributed Queue plus refactored the code a bit
Refactored code plus instrumented AtomicValue and DistributedSet
Change-Id: I9c5f7c9f23d530131f15d3c98250ea33238dd2ec
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java
index a267de0..b39004b 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DefaultAtomicValueBuilder.java
@@ -31,10 +31,12 @@
private Serializer serializer;
private String name;
private ConsistentMapBuilder<String, byte[]> mapBuilder;
+ private boolean metering = true;
public DefaultAtomicValueBuilder(DatabaseManager manager) {
mapBuilder = manager.<String, byte[]>consistentMapBuilder()
.withName("onos-atomic-values")
+ .withMeteringDisabled()
.withSerializer(Serializer.using(KryoNamespaces.BASIC));
}
@@ -57,7 +59,13 @@
}
@Override
+ public AtomicValueBuilder<V> withMeteringDisabled() {
+ metering = false;
+ return this;
+ }
+
+ @Override
public AtomicValue<V> build() {
- return new DefaultAtomicValue<>(mapBuilder.build(), name, serializer);
+ return new DefaultAtomicValue<>(mapBuilder.build(), name, metering, serializer);
}
}
\ No newline at end of file