blob: b3e03b3457d59d5c43718e22805e409ff7d38ca8 [file] [log] [blame]
tom9b4030d2014-10-06 10:39:03 -07001package org.onlab.onos.cli;
2
3import org.apache.karaf.shell.commands.Command;
4import org.onlab.onos.cluster.ClusterService;
5import org.onlab.onos.net.device.DeviceService;
6import org.onlab.onos.net.flow.FlowRuleService;
7import org.onlab.onos.net.host.HostService;
8import org.onlab.onos.net.intent.IntentService;
9import org.onlab.onos.net.link.LinkService;
tom800709a2014-10-06 20:52:14 -070010import org.onlab.onos.net.topology.Topology;
tom9b4030d2014-10-06 10:39:03 -070011import org.onlab.onos.net.topology.TopologyService;
12
13/**
14 * Provides summary of ONOS model.
15 */
16@Command(scope = "onos", name = "summary",
17 description = "Provides summary of ONOS model")
18public class SummaryCommand extends AbstractShellCommand {
19
20 @Override
21 protected void execute() {
22 TopologyService topologyService = get(TopologyService.class);
tom800709a2014-10-06 20:52:14 -070023 Topology topology = topologyService.currentTopology();
24 print("nodes=%d, devices=%d, links=%d, hosts=%d, clusters=%s, paths=%d, flows=%d, intents=%d",
tom9b4030d2014-10-06 10:39:03 -070025 get(ClusterService.class).getNodes().size(),
26 get(DeviceService.class).getDeviceCount(),
27 get(LinkService.class).getLinkCount(),
28 get(HostService.class).getHostCount(),
tom800709a2014-10-06 20:52:14 -070029 topologyService.getClusters(topology).size(),
30 topology.pathCount(),
tom9b4030d2014-10-06 10:39:03 -070031 get(FlowRuleService.class).getFlowRuleCount(),
32 get(IntentService.class).getIntentCount());
33 }
34
35}