public class StatisticsManagerImpl extends Object implements StatisticsManager, Runnable
StatisticsManager registers all Operation/DS StatNotifyCommiter and
Config/DS StatListeningCommiter, as well as StatPermCollector
for statistic collecting and StatRpcMsgManager as Device RPCs provider.
In next, StatisticsManager provides all DS contact Transaction services.StatisticsManager.Pair<L,R>, StatisticsManager.StatDataStoreOperation| Constructor and Description |
|---|
StatisticsManagerImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
StatisticsManagerConfig statManagerconfig) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
collectNextStatistics(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent,
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionId xid)
Method wraps
StatPermCollector.collectNextStatistics to provide
parallel statCollection process for Set of Nodes. |
void |
connectedNodeRegistration(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent,
List<StatPermCollector.StatCapabTypes> statTypes,
Short nrOfSwitchTables)
Method wraps
StatPermCollector.connectedNodeRegistration to provide
parallel statCollection process for Set of Nodes. |
void |
disconnectedNodeUnregistration(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent)
Method wraps
StatPermCollector.disconnectedNodeUnregistration to provide
parallel statCollection process for Set of Nodes. |
void |
enqueue(StatisticsManager.StatDataStoreOperation op)
Method provides read/write DataStore functionality cross applyOperation
defined in
StatisticsManager.StatDataStoreOperation |
StatisticsManagerConfig |
getConfiguration() |
StatListeningCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow,org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.OpendaylightFlowStatisticsListener> |
getFlowListenComit()
Define Method : Flow Config/DS data change listener -> impl.
|
UUID |
getGeneratedUUIDForNode(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeInstanceIdentifier)
A unique UUID is generated with each node added by the statistics manager implementation in order to uniquely
identify a session.
|
StatListeningCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.Group,org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.OpendaylightGroupStatisticsListener> |
getGroupListenCommit()
Define Method : Group Config/DS data change listener and Operation/DS notify commit
functionality
|
StatListeningCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.meters.Meter,org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.OpendaylightMeterStatisticsListener> |
getMeterListenCommit()
Define Method : Meter Config/DS data change listener and Operation/DS notify commit
functionality
|
StatNodeRegistration |
getNodeRegistrator()
Define Method :
FlowCapableNode
Operational/DS data change listener -> impl. |
StatNotifyCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.OpendaylightPortStatisticsListener> |
getPortNotifyCommit()
Define Method : Port Operation/DS notify commit functionality
|
StatListeningCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.queues.Queue,org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.OpendaylightQueueStatisticsListener> |
getQueueNotifyCommit()
Define Method : Queue Config/DS change listener and Operation/DS notify commit functionality
|
StatRpcMsgManager |
getRpcMsgManager()
Method provides access to Device RPC methods by wrapped
internal method.
|
StatNotifyCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.OpendaylightFlowTableStatisticsListener> |
getTableNotifCommit()
Define Method : Table Operation/DS notify commit functionality
|
boolean |
isProvidedFlowNodeActive(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent)
Method wraps
StatisticsManager.isProvidedFlowNodeActive(InstanceIdentifier) method
to provide parallel statCollection process for Set of Nodes. |
void |
onTransactionChainFailed(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain,
org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction<?,?> transaction,
Throwable cause) |
void |
onTransactionChainSuccessful(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain) |
void |
registerAdditionalNodeFeature(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent,
StatPermCollector.StatCapabTypes statCapab)
Method wraps
StatPermCollector.registerAdditionalNodeFeature to provide
possibility to register additional Node Feature StatPermCollector.StatCapabTypes for
statistics collecting. |
void |
run() |
void |
start(org.opendaylight.controller.sal.binding.api.NotificationProviderService notifService,
org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry rpcRegistry)
Method starts whole StatisticManager functionality
|
public StatisticsManagerImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
StatisticsManagerConfig statManagerconfig)
public void start(org.opendaylight.controller.sal.binding.api.NotificationProviderService notifService,
org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry rpcRegistry)
StatisticsManagerstart in interface StatisticsManagerpublic void close()
throws Exception
close in interface AutoCloseableExceptionpublic void enqueue(StatisticsManager.StatDataStoreOperation op)
StatisticsManagerStatisticsManager.StatDataStoreOperationenqueue in interface StatisticsManagerop - - operation for DataStorepublic void onTransactionChainFailed(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain,
org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction<?,?> transaction,
Throwable cause)
onTransactionChainFailed in interface org.opendaylight.controller.md.sal.common.api.data.TransactionChainListenerpublic void onTransactionChainSuccessful(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain)
onTransactionChainSuccessful in interface org.opendaylight.controller.md.sal.common.api.data.TransactionChainListenerpublic boolean isProvidedFlowNodeActive(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent)
StatisticsManagerStatisticsManager.isProvidedFlowNodeActive(InstanceIdentifier) method
to provide parallel statCollection process for Set of Nodes. So it has to
identify correct Node Set by NodeIdentifierisProvidedFlowNodeActive in interface StatisticsManagerpublic void collectNextStatistics(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent,
org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev150304.TransactionId xid)
StatisticsManagerStatPermCollector.collectNextStatistics to provide
parallel statCollection process for Set of Nodes. So it has to
identify correct Node Set by NodeIdentifier.collectNextStatistics in interface StatisticsManagerpublic void connectedNodeRegistration(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent,
List<StatPermCollector.StatCapabTypes> statTypes,
Short nrOfSwitchTables)
StatisticsManagerStatPermCollector.connectedNodeRegistration to provide
parallel statCollection process for Set of Nodes. So it has to
connect node to new or not full Node statCollector Set.connectedNodeRegistration in interface StatisticsManagerpublic void disconnectedNodeUnregistration(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent)
StatisticsManagerStatPermCollector.disconnectedNodeUnregistration to provide
parallel statCollection process for Set of Nodes. So it has to identify
correct collector for disconnect node.disconnectedNodeUnregistration in interface StatisticsManagerpublic void registerAdditionalNodeFeature(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeIdent,
StatPermCollector.StatCapabTypes statCapab)
StatisticsManagerStatPermCollector.registerAdditionalNodeFeature to provide
possibility to register additional Node Feature StatPermCollector.StatCapabTypes for
statistics collecting.registerAdditionalNodeFeature in interface StatisticsManagerpublic StatRpcMsgManager getRpcMsgManager()
StatisticsManagerStatRpcMsgManager is registered all
Multipart device msg response and joining all to be able run all
collected statistics in one time (easy identification Data for delete)getRpcMsgManager in interface StatisticsManagerStatRpcMsgManagerpublic StatNodeRegistration getNodeRegistrator()
StatisticsManagerFlowCapableNode
Operational/DS data change listener -> impl. target -> register FlowCapableNode to Statistic Collecting processgetNodeRegistrator in interface StatisticsManagerStatNodeRegistrationpublic StatListeningCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow,org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.OpendaylightFlowStatisticsListener> getFlowListenComit()
StatisticsManagergetFlowListenComit in interface StatisticsManagerpublic StatListeningCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.meters.Meter,org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.OpendaylightMeterStatisticsListener> getMeterListenCommit()
StatisticsManagergetMeterListenCommit in interface StatisticsManagerpublic StatListeningCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.group.types.rev131018.groups.Group,org.opendaylight.yang.gen.v1.urn.opendaylight.group.statistics.rev131111.OpendaylightGroupStatisticsListener> getGroupListenCommit()
StatisticsManagergetGroupListenCommit in interface StatisticsManagerpublic StatListeningCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.queues.Queue,org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.OpendaylightQueueStatisticsListener> getQueueNotifyCommit()
StatisticsManagergetQueueNotifyCommit in interface StatisticsManagerpublic StatNotifyCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.OpendaylightFlowTableStatisticsListener> getTableNotifCommit()
StatisticsManagergetTableNotifCommit in interface StatisticsManagerpublic StatNotifyCommiter<org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.OpendaylightPortStatisticsListener> getPortNotifyCommit()
StatisticsManagergetPortNotifyCommit in interface StatisticsManagerpublic StatisticsManagerConfig getConfiguration()
getConfiguration in interface StatisticsManagerpublic UUID getGeneratedUUIDForNode(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node> nodeInstanceIdentifier)
StatisticsManagergetGeneratedUUIDForNode in interface StatisticsManagerCopyright © 2015. All rights reserved.