package test.mock.util;
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
import org.junit.Before;
import org.junit.BeforeClass;
import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.controller.md.statistics.manager.StatisticsManager;
+import org.opendaylight.controller.md.statistics.manager.impl.StatisticsManagerConfig;
+import org.opendaylight.controller.md.statistics.manager.impl.StatisticsManagerImpl;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.Counter32;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.Counter64;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FeatureCapability;
import org.opendaylight.yang.gen.v1.urn.opendaylight.table.types.rev131026.TableId;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.concurrent.ExecutionException;
-
public abstract class StatisticsManagerTest extends AbstractDataBrokerTest {
public static final Counter64 COUNTER_64_TEST_VALUE = new Counter64(BigInteger.valueOf(128));
public static final Long MAX_GROUPS_TEST_VALUE = 2000L;
public static final BigInteger BIG_INTEGER_TEST_VALUE = BigInteger.valueOf(1000);
+ private static final int DEFAULT_MIN_REQUEST_NET_MONITOR_INTERVAL = 5000;
+ private static final int MAX_NODES_FOR_COLLECTOR = 16;
+
private static Flow flow;
private static Group group;
private static Meter meter;
private final NotificationProviderServiceHelper notificationMock = new NotificationProviderServiceHelper();
protected final NodeKey s1Key = new NodeKey(new NodeId("S1"));
protected RpcProviderRegistryMock rpcRegistry;
- protected ProviderContextMock providerContext;
@BeforeClass
public static void setupTests() {
@Before
public void init() {
rpcRegistry = new RpcProviderRegistryMock(notificationMock);
- providerContext = new ProviderContextMock(rpcRegistry, getDataBroker(), notificationMock.getNotifBroker());
}
// node with statistics capabilities will enable cyclic statistics collection
capabilitiyList.add(capability);
}
sfBuilder.setCapabilities(capabilitiyList);
- sfBuilder.setMaxTables((short) 2);
+ sfBuilder.setMaxTables((short) 255);
final NodeBuilder nodeBuilder = new NodeBuilder();
nodeBuilder.setKey(nodeKey);
fcnBuilder.setSwitchFeatures(sfBuilder.build());
final FlowCapableNodeBuilder fcnBuilder = new FlowCapableNodeBuilder();
final NodeBuilder nodeBuilder = new NodeBuilder();
nodeBuilder.setKey(nodeKey);
+ final SwitchFeaturesBuilder sfBuilder = new SwitchFeaturesBuilder();
+ sfBuilder.setMaxTables((short) 255);
+ fcnBuilder.setSwitchFeatures(sfBuilder.build());
final FlowCapableNode flowCapableNode = fcnBuilder.build();
nodeBuilder.addAugmentation(FlowCapableNode.class, flowCapableNode);
final Node node = nodeBuilder.build();
notificationMock.pushNotification(nrBuilder.build());
}
+ public StatisticsManager setupStatisticsManager() {
+ StatisticsManagerConfig.StatisticsManagerConfigBuilder confBuilder = StatisticsManagerConfig.builder();
+ confBuilder.setMaxNodesForCollector(MAX_NODES_FOR_COLLECTOR);
+ confBuilder.setMinRequestNetMonitorInterval(DEFAULT_MIN_REQUEST_NET_MONITOR_INTERVAL);
+ StatisticsManager statsProvider = new StatisticsManagerImpl(getDataBroker(), confBuilder.build());
+ statsProvider.start(notificationMock.getNotifBroker(), rpcRegistry);
+ return statsProvider;
+ }
+
public static Flow getFlow() {
return flow;
}