X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fstatistics-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fstatistics%2Fmanager%2Fimpl%2FStatisticsManagerImpl.java;fp=opendaylight%2Fmd-sal%2Fstatistics-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fstatistics%2Fmanager%2Fimpl%2FStatisticsManagerImpl.java;h=edf9fad433f6af8244948fc181dfce97b3d24177;hp=396ff0e1f6c8700d16b8e07f491d33e1fcc63bcf;hb=d6f88909ce1dd271c43b5f415a99a46350888f84;hpb=47ad11bd477096d9ffcf568e071ba68baabdbe6e diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/impl/StatisticsManagerImpl.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/impl/StatisticsManagerImpl.java index 396ff0e1f6..edf9fad433 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/impl/StatisticsManagerImpl.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/impl/StatisticsManagerImpl.java @@ -8,15 +8,8 @@ package org.opendaylight.controller.md.statistics.manager.impl; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.LinkedBlockingDeque; -import java.util.concurrent.ThreadFactory; - +import com.google.common.base.Preconditions; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction; @@ -46,8 +39,14 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Preconditions; -import com.google.common.util.concurrent.ThreadFactoryBuilder; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.ThreadFactory; /** * statistics-manager @@ -73,8 +72,6 @@ public class StatisticsManagerImpl implements StatisticsManager, Runnable { private final BlockingQueue dataStoreOperQueue = new LinkedBlockingDeque<>(QUEUE_DEPTH); private final DataBroker dataBroker; - private final int maxNodesForCollectors; - private long minReqNetMonitInt; private final ExecutorService statRpcMsgManagerExecutor; private final ExecutorService statDataStoreOperationServ; private StatRpcMsgManager rpcMsgManager; @@ -91,23 +88,24 @@ public class StatisticsManagerImpl implements StatisticsManager, Runnable { private StatNotifyCommiter tableNotifCommiter; private StatNotifyCommiter portNotifyCommiter; - public StatisticsManagerImpl (final DataBroker dataBroker, final int maxNodesForCollector) { + private final StatisticsManagerConfig statManagerConfig; + + public StatisticsManagerImpl (final DataBroker dataBroker, StatisticsManagerConfig statManagerconfig) { + this.statManagerConfig = Preconditions.checkNotNull(statManagerconfig); this.dataBroker = Preconditions.checkNotNull(dataBroker, "DataBroker can not be null!"); ThreadFactory threadFact; threadFact = new ThreadFactoryBuilder().setNameFormat("odl-stat-rpc-oper-thread-%d").build(); statRpcMsgManagerExecutor = Executors.newSingleThreadExecutor(threadFact); threadFact = new ThreadFactoryBuilder().setNameFormat("odl-stat-ds-oper-thread-%d").build(); statDataStoreOperationServ = Executors.newSingleThreadExecutor(threadFact); - maxNodesForCollectors = maxNodesForCollector; txChain = dataBroker.createTransactionChain(this); } @Override public void start(final NotificationProviderService notifService, - final RpcConsumerRegistry rpcRegistry, final long minReqNetMonitInt) { + final RpcConsumerRegistry rpcRegistry) { Preconditions.checkArgument(rpcRegistry != null, "RpcConsumerRegistry can not be null !"); - this.minReqNetMonitInt = minReqNetMonitInt; - rpcMsgManager = new StatRpcMsgManagerImpl(this, rpcRegistry, minReqNetMonitInt); + rpcMsgManager = new StatRpcMsgManagerImpl(this, rpcRegistry, statManagerConfig.getMinRequestNetMonitorInterval()); statCollectors = Collections.emptyList(); nodeRegistrator = new StatNodeRegistrationImpl(this, dataBroker, notifService); flowListeningCommiter = new StatListenCommitFlow(this, dataBroker, notifService); @@ -272,7 +270,8 @@ public class StatisticsManagerImpl implements StatisticsManager, Runnable { } } final StatPermCollectorImpl newCollector = new StatPermCollectorImpl(this, - minReqNetMonitInt, statCollectors.size() + 1, maxNodesForCollectors); + statManagerConfig.getMinRequestNetMonitorInterval(), statCollectors.size() + 1, + statManagerConfig.getMaxNodesForCollector()); final List statCollectorsNew = new ArrayList<>(statCollectors); newCollector.connectedNodeRegistration(nodeIdent, statTypes, nrOfSwitchTables); statCollectorsNew.add(newCollector); @@ -355,5 +354,10 @@ public class StatisticsManagerImpl implements StatisticsManager, Runnable { public StatNotifyCommiter getPortNotifyCommit() { return portNotifyCommiter; } + + @Override + public StatisticsManagerConfig getConfiguration() { + return statManagerConfig; + } }