blob: 1597b55db1c736af6ed4de68d690f893dbc81872 [file] [log] [blame]
tom9b4030d2014-10-06 10:39:03 -07001package org.onlab.onos.cli;
2
3import org.apache.karaf.shell.commands.Command;
tom53efab52014-10-07 17:43:48 -07004import org.onlab.onos.CoreService;
tom9b4030d2014-10-06 10:39:03 -07005import org.onlab.onos.cluster.ClusterService;
6import org.onlab.onos.net.device.DeviceService;
7import org.onlab.onos.net.flow.FlowRuleService;
8import org.onlab.onos.net.host.HostService;
9import org.onlab.onos.net.intent.IntentService;
10import org.onlab.onos.net.link.LinkService;
tom800709a2014-10-06 20:52:14 -070011import org.onlab.onos.net.topology.Topology;
tom9b4030d2014-10-06 10:39:03 -070012import org.onlab.onos.net.topology.TopologyService;
13
14/**
15 * Provides summary of ONOS model.
16 */
17@Command(scope = "onos", name = "summary",
18 description = "Provides summary of ONOS model")
19public class SummaryCommand extends AbstractShellCommand {
20
21 @Override
22 protected void execute() {
23 TopologyService topologyService = get(TopologyService.class);
tom800709a2014-10-06 20:52:14 -070024 Topology topology = topologyService.currentTopology();
tom093340b2014-10-10 00:15:36 -070025 print("node=%s, version=%s",
26 get(ClusterService.class).getLocalNode().ip(),
27 get(CoreService.class).version().toString());
28 print("nodes=%d, devices=%d, links=%d, hosts=%d, clusters=%s, paths=%d, flows=%d, intents=%d",
tom9b4030d2014-10-06 10:39:03 -070029 get(ClusterService.class).getNodes().size(),
30 get(DeviceService.class).getDeviceCount(),
31 get(LinkService.class).getLinkCount(),
32 get(HostService.class).getHostCount(),
tom800709a2014-10-06 20:52:14 -070033 topologyService.getClusters(topology).size(),
34 topology.pathCount(),
tom9b4030d2014-10-06 10:39:03 -070035 get(FlowRuleService.class).getFlowRuleCount(),
36 get(IntentService.class).getIntentCount());
37 }
38
39}