From: Robert Varga Date: Mon, 6 Mar 2017 15:05:09 +0000 (+0100) Subject: Cache MapJoiner X-Git-Tag: release/carbon~176 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=a3cecfd01d0ef8922530924e3ee9684eb03ee5d6;hp=11d000a598873780b4d81e8717488ab29ab79f21 Cache MapJoiner There is no need to instantiate the Joiner everytime we format a map, as the instance is immmutable and thread-safe. Cache a single object, allowing for slightly faster access. Change-Id: Idff936f6525059d0e9abd6eae1370fd3066996a4 Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java index e5af6ddc53..765fe211d2 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/jmx/mbeans/shard/ShardStats.java @@ -12,13 +12,13 @@ import akka.actor.ActorRef; import akka.pattern.Patterns; import akka.util.Timeout; import com.google.common.base.Joiner; +import com.google.common.base.Joiner.MapJoiner; import com.google.common.base.Stopwatch; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; -import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import javax.annotation.Nullable; @@ -43,6 +43,8 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { private static final Cache ONDEMAND_RAFT_STATE_CACHE = CacheBuilder.newBuilder().expireAfterWrite(2, TimeUnit.SECONDS).build(); + private static final MapJoiner MAP_JOINER = Joiner.on(", ").withKeyValueSeparator(": "); + private long committedTransactionsCount; private long readOnlyTransactionCount; @@ -202,7 +204,7 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { @Override public String getPeerVotingStates() { - return toStringMap(getOnDemandRaftState().getPeerVotingStates()); + return MAP_JOINER.join(getOnDemandRaftState().getPeerVotingStates()); } @Override @@ -313,11 +315,7 @@ public class ShardStats extends AbstractMXBean implements ShardStatsMXBean { @Override public String getPeerAddresses() { - return toStringMap(getOnDemandRaftState().getPeerAddresses()); - } - - private static String toStringMap(Map map) { - return Joiner.on(", ").withKeyValueSeparator(": ").join(map); + return MAP_JOINER.join(getOnDemandRaftState().getPeerAddresses()); } @Override