blob: 592b737926c064dd7558430916049f4edbdc3dd3 [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;
10import org.onlab.onos.net.topology.TopologyService;
11
12/**
13 * Provides summary of ONOS model.
14 */
15@Command(scope = "onos", name = "summary",
16 description = "Provides summary of ONOS model")
17public class SummaryCommand extends AbstractShellCommand {
18
19 @Override
20 protected void execute() {
21 TopologyService topologyService = get(TopologyService.class);
22 print("nodes=%d, devices=%d, links=%d, hosts=%d, clusters=%s, flows=%d, intents=%d",
23 get(ClusterService.class).getNodes().size(),
24 get(DeviceService.class).getDeviceCount(),
25 get(LinkService.class).getLinkCount(),
26 get(HostService.class).getHostCount(),
27 topologyService.getClusters(topologyService.currentTopology()).size(),
28 get(FlowRuleService.class).getFlowRuleCount(),
29 get(IntentService.class).getIntentCount());
30 }
31
32}