Committed by
Gerrit Code Review
Addressing review comments of patch-3
Addressing review comments of patch-2 Fixing javadoc warnings Pushing changes for onos-5146 - Added 2 new APIs in DeviceService.java to get port specific PortStatistics by specifying Device ID & Port Number. Also implemented the APIs in SimpleDeviceStore etc. This will be a very useful API for app developers who are intersted to query port specific port statistics Change-Id: I8f3e5a443eb5b50237a679999311b48609e54a44
Showing
11 changed files
with
178 additions
and
0 deletions
... | @@ -24,6 +24,7 @@ import java.util.Optional; | ... | @@ -24,6 +24,7 @@ import java.util.Optional; |
24 | import org.onosproject.net.device.DeviceEvent; | 24 | import org.onosproject.net.device.DeviceEvent; |
25 | import org.onosproject.net.device.DeviceListener; | 25 | import org.onosproject.net.device.DeviceListener; |
26 | import org.onosproject.net.device.DeviceService; | 26 | import org.onosproject.net.device.DeviceService; |
27 | +import org.onosproject.net.device.PortStatistics; | ||
27 | import org.onosproject.net.optical.OpticalDevice; | 28 | import org.onosproject.net.optical.OpticalDevice; |
28 | import org.onosproject.net.utils.ForwardingDeviceService; | 29 | import org.onosproject.net.utils.ForwardingDeviceService; |
29 | import org.slf4j.Logger; | 30 | import org.slf4j.Logger; |
... | @@ -148,6 +149,16 @@ public class OpticalDeviceServiceView | ... | @@ -148,6 +149,16 @@ public class OpticalDeviceServiceView |
148 | } | 149 | } |
149 | 150 | ||
150 | @Override | 151 | @Override |
152 | + public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
153 | + return null; | ||
154 | + } | ||
155 | + | ||
156 | + @Override | ||
157 | + public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
158 | + return null; | ||
159 | + } | ||
160 | + | ||
161 | + @Override | ||
151 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { | 162 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { |
152 | return augment(super.getPort(deviceId, portNumber)); | 163 | return augment(super.getPort(deviceId, portNumber)); |
153 | } | 164 | } | ... | ... |
... | @@ -113,6 +113,28 @@ public interface DeviceService | ... | @@ -113,6 +113,28 @@ public interface DeviceService |
113 | List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId); | 113 | List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId); |
114 | 114 | ||
115 | /** | 115 | /** |
116 | + * Returns the port specific port statistics associated with the device and port. | ||
117 | + * | ||
118 | + * @param deviceId device identifier | ||
119 | + * @param portNumber port identifier | ||
120 | + * @return port statistics of specified port | ||
121 | + */ | ||
122 | + default PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
123 | + return null; | ||
124 | + } | ||
125 | + | ||
126 | + /** | ||
127 | + * Returns the port specific port delta statistics associated with the device and port. | ||
128 | + * | ||
129 | + * @param deviceId device identifier | ||
130 | + * @param portNumber port identifier | ||
131 | + * @return port delta statistics of specified port | ||
132 | + */ | ||
133 | + default PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
134 | + return null; | ||
135 | + } | ||
136 | + | ||
137 | + /** | ||
116 | * Returns the port with the specified number and hosted by the given device. | 138 | * Returns the port with the specified number and hosted by the given device. |
117 | * | 139 | * |
118 | * @param deviceId device identifier | 140 | * @param deviceId device identifier | ... | ... |
... | @@ -152,6 +152,17 @@ public interface DeviceStore extends Store<DeviceEvent, DeviceStoreDelegate> { | ... | @@ -152,6 +152,17 @@ public interface DeviceStore extends Store<DeviceEvent, DeviceStoreDelegate> { |
152 | List<PortStatistics> getPortStatistics(DeviceId deviceId); | 152 | List<PortStatistics> getPortStatistics(DeviceId deviceId); |
153 | 153 | ||
154 | /** | 154 | /** |
155 | + * Returns the port statistics of the specified device and port. | ||
156 | + * | ||
157 | + * @param deviceId device identifier | ||
158 | + * @param portNumber port identifier | ||
159 | + * @return port statistics of specific port of the device | ||
160 | + */ | ||
161 | + default PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
162 | + return null; | ||
163 | + } | ||
164 | + | ||
165 | + /** | ||
155 | * Returns the list of delta port statistics of the specified device. | 166 | * Returns the list of delta port statistics of the specified device. |
156 | * | 167 | * |
157 | * @param deviceId device identifier | 168 | * @param deviceId device identifier |
... | @@ -160,6 +171,17 @@ public interface DeviceStore extends Store<DeviceEvent, DeviceStoreDelegate> { | ... | @@ -160,6 +171,17 @@ public interface DeviceStore extends Store<DeviceEvent, DeviceStoreDelegate> { |
160 | List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId); | 171 | List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId); |
161 | 172 | ||
162 | /** | 173 | /** |
174 | + * Returns the port delta statistics of the specified device and port. | ||
175 | + * | ||
176 | + * @param deviceId device identifier | ||
177 | + * @param portNumber port identifier | ||
178 | + * @return port statistics of specific port of the device | ||
179 | + */ | ||
180 | + default PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
181 | + return null; | ||
182 | + } | ||
183 | + | ||
184 | + /** | ||
163 | * Returns the specified device port. | 185 | * Returns the specified device port. |
164 | * | 186 | * |
165 | * @param deviceId device identifier | 187 | * @param deviceId device identifier | ... | ... |
... | @@ -92,6 +92,16 @@ public class DeviceServiceAdapter implements DeviceService { | ... | @@ -92,6 +92,16 @@ public class DeviceServiceAdapter implements DeviceService { |
92 | } | 92 | } |
93 | 93 | ||
94 | @Override | 94 | @Override |
95 | + public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
96 | + return null; | ||
97 | + } | ||
98 | + | ||
99 | + @Override | ||
100 | + public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
101 | + return null; | ||
102 | + } | ||
103 | + | ||
104 | + @Override | ||
95 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { | 105 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { |
96 | return null; | 106 | return null; |
97 | } | 107 | } | ... | ... |
... | @@ -101,11 +101,21 @@ public class DeviceStoreAdapter implements DeviceStore { | ... | @@ -101,11 +101,21 @@ public class DeviceStoreAdapter implements DeviceStore { |
101 | } | 101 | } |
102 | 102 | ||
103 | @Override | 103 | @Override |
104 | + public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
105 | + return null; | ||
106 | + } | ||
107 | + | ||
108 | + @Override | ||
104 | public List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId) { | 109 | public List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId) { |
105 | return null; | 110 | return null; |
106 | } | 111 | } |
107 | 112 | ||
108 | @Override | 113 | @Override |
114 | + public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
115 | + return null; | ||
116 | + } | ||
117 | + | ||
118 | + @Override | ||
109 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { | 119 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { |
110 | return null; | 120 | return null; |
111 | } | 121 | } | ... | ... |
... | @@ -514,6 +514,16 @@ public class SimpleDeviceStore | ... | @@ -514,6 +514,16 @@ public class SimpleDeviceStore |
514 | } | 514 | } |
515 | 515 | ||
516 | @Override | 516 | @Override |
517 | + public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
518 | + Map<PortNumber, PortStatistics> portStatsMap = devicePortStats.get(deviceId); | ||
519 | + if (portStatsMap == null) { | ||
520 | + return null; | ||
521 | + } | ||
522 | + PortStatistics portStats = portStatsMap.get(portNumber); | ||
523 | + return portStats; | ||
524 | + } | ||
525 | + | ||
526 | + @Override | ||
517 | public List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId) { | 527 | public List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId) { |
518 | Map<PortNumber, PortStatistics> portStats = devicePortDeltaStats.get(deviceId); | 528 | Map<PortNumber, PortStatistics> portStats = devicePortDeltaStats.get(deviceId); |
519 | if (portStats == null) { | 529 | if (portStats == null) { |
... | @@ -523,6 +533,16 @@ public class SimpleDeviceStore | ... | @@ -523,6 +533,16 @@ public class SimpleDeviceStore |
523 | } | 533 | } |
524 | 534 | ||
525 | @Override | 535 | @Override |
536 | + public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
537 | + Map<PortNumber, PortStatistics> portStatsMap = devicePortDeltaStats.get(deviceId); | ||
538 | + if (portStatsMap == null) { | ||
539 | + return null; | ||
540 | + } | ||
541 | + PortStatistics portStats = portStatsMap.get(portNumber); | ||
542 | + return portStats; | ||
543 | + } | ||
544 | + | ||
545 | + @Override | ||
526 | public boolean isAvailable(DeviceId deviceId) { | 546 | public boolean isAvailable(DeviceId deviceId) { |
527 | return availableDevices.contains(deviceId); | 547 | return availableDevices.contains(deviceId); |
528 | } | 548 | } | ... | ... |
... | @@ -228,6 +228,22 @@ public class DeviceManager | ... | @@ -228,6 +228,22 @@ public class DeviceManager |
228 | } | 228 | } |
229 | 229 | ||
230 | @Override | 230 | @Override |
231 | + public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
232 | + checkPermission(DEVICE_READ); | ||
233 | + checkNotNull(deviceId, DEVICE_ID_NULL); | ||
234 | + checkNotNull(portNumber, PORT_NUMBER_NULL); | ||
235 | + return store.getStatisticsForPort(deviceId, portNumber); | ||
236 | + } | ||
237 | + | ||
238 | + @Override | ||
239 | + public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
240 | + checkPermission(DEVICE_READ); | ||
241 | + checkNotNull(deviceId, DEVICE_ID_NULL); | ||
242 | + checkNotNull(portNumber, PORT_NUMBER_NULL); | ||
243 | + return store.getDeltaStatisticsForPort(deviceId, portNumber); | ||
244 | + } | ||
245 | + | ||
246 | + @Override | ||
231 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { | 247 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { |
232 | checkPermission(DEVICE_READ); | 248 | checkPermission(DEVICE_READ); |
233 | checkNotNull(deviceId, DEVICE_ID_NULL); | 249 | checkNotNull(deviceId, DEVICE_ID_NULL); | ... | ... |
... | @@ -679,6 +679,16 @@ public class ECDeviceStore | ... | @@ -679,6 +679,16 @@ public class ECDeviceStore |
679 | } | 679 | } |
680 | 680 | ||
681 | @Override | 681 | @Override |
682 | + public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
683 | + Map<PortNumber, PortStatistics> portStatsMap = devicePortStats.get(deviceId); | ||
684 | + if (portStatsMap == null) { | ||
685 | + return null; | ||
686 | + } | ||
687 | + PortStatistics portStats = portStatsMap.get(portNumber); | ||
688 | + return portStats; | ||
689 | + } | ||
690 | + | ||
691 | + @Override | ||
682 | public List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId) { | 692 | public List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId) { |
683 | Map<PortNumber, PortStatistics> portStats = devicePortDeltaStats.get(deviceId); | 693 | Map<PortNumber, PortStatistics> portStats = devicePortDeltaStats.get(deviceId); |
684 | if (portStats == null) { | 694 | if (portStats == null) { |
... | @@ -688,6 +698,16 @@ public class ECDeviceStore | ... | @@ -688,6 +698,16 @@ public class ECDeviceStore |
688 | } | 698 | } |
689 | 699 | ||
690 | @Override | 700 | @Override |
701 | + public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
702 | + Map<PortNumber, PortStatistics> portStatsMap = devicePortDeltaStats.get(deviceId); | ||
703 | + if (portStatsMap == null) { | ||
704 | + return null; | ||
705 | + } | ||
706 | + PortStatistics portStats = portStatsMap.get(portNumber); | ||
707 | + return portStats; | ||
708 | + } | ||
709 | + | ||
710 | + @Override | ||
691 | public boolean isAvailable(DeviceId deviceId) { | 711 | public boolean isAvailable(DeviceId deviceId) { |
692 | return availableDevices.contains(deviceId); | 712 | return availableDevices.contains(deviceId); |
693 | } | 713 | } | ... | ... |
... | @@ -998,6 +998,16 @@ public class GossipDeviceStore | ... | @@ -998,6 +998,16 @@ public class GossipDeviceStore |
998 | } | 998 | } |
999 | 999 | ||
1000 | @Override | 1000 | @Override |
1001 | + public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
1002 | + Map<PortNumber, PortStatistics> portStatsMap = devicePortStats.get(deviceId); | ||
1003 | + if (portStatsMap == null) { | ||
1004 | + return null; | ||
1005 | + } | ||
1006 | + PortStatistics portStats = portStatsMap.get(portNumber); | ||
1007 | + return portStats; | ||
1008 | + } | ||
1009 | + | ||
1010 | + @Override | ||
1001 | public List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId) { | 1011 | public List<PortStatistics> getPortDeltaStatistics(DeviceId deviceId) { |
1002 | Map<PortNumber, PortStatistics> portStats = devicePortDeltaStats.get(deviceId); | 1012 | Map<PortNumber, PortStatistics> portStats = devicePortDeltaStats.get(deviceId); |
1003 | if (portStats == null) { | 1013 | if (portStats == null) { |
... | @@ -1007,6 +1017,16 @@ public class GossipDeviceStore | ... | @@ -1007,6 +1017,16 @@ public class GossipDeviceStore |
1007 | } | 1017 | } |
1008 | 1018 | ||
1009 | @Override | 1019 | @Override |
1020 | + public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
1021 | + Map<PortNumber, PortStatistics> portStatsMap = devicePortDeltaStats.get(deviceId); | ||
1022 | + if (portStatsMap == null) { | ||
1023 | + return null; | ||
1024 | + } | ||
1025 | + PortStatistics portStats = portStatsMap.get(portNumber); | ||
1026 | + return portStats; | ||
1027 | + } | ||
1028 | + | ||
1029 | + @Override | ||
1010 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { | 1030 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { |
1011 | Map<PortNumber, Port> ports = devicePorts.get(deviceId); | 1031 | Map<PortNumber, Port> ports = devicePorts.get(deviceId); |
1012 | return ports == null ? null : ports.get(portNumber); | 1032 | return ports == null ? null : ports.get(portNumber); | ... | ... |
... | @@ -47,6 +47,7 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE | ... | @@ -47,6 +47,7 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE |
47 | private static final String NETWORK_NULL = "Network ID cannot be null"; | 47 | private static final String NETWORK_NULL = "Network ID cannot be null"; |
48 | private static final String TYPE_NULL = "Type cannot be null"; | 48 | private static final String TYPE_NULL = "Type cannot be null"; |
49 | private static final String DEVICE_NULL = "Device cannot be null"; | 49 | private static final String DEVICE_NULL = "Device cannot be null"; |
50 | + private static final String PORT_NUMBER_NULL = "PortNumber cannot be null"; | ||
50 | 51 | ||
51 | private final VirtualNetwork network; | 52 | private final VirtualNetwork network; |
52 | private final VirtualNetworkService manager; | 53 | private final VirtualNetworkService manager; |
... | @@ -135,6 +136,22 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE | ... | @@ -135,6 +136,22 @@ public class VirtualNetworkDeviceService extends AbstractListenerManager<DeviceE |
135 | } | 136 | } |
136 | 137 | ||
137 | @Override | 138 | @Override |
139 | + public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
140 | + checkNotNull(deviceId, DEVICE_NULL); | ||
141 | + checkNotNull(deviceId, PORT_NUMBER_NULL); | ||
142 | + // TODO not supported at the moment. | ||
143 | + return null; | ||
144 | + } | ||
145 | + | ||
146 | + @Override | ||
147 | + public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
148 | + checkNotNull(deviceId, DEVICE_NULL); | ||
149 | + checkNotNull(deviceId, PORT_NUMBER_NULL); | ||
150 | + // TODO not supported at the moment. | ||
151 | + return null; | ||
152 | + } | ||
153 | + | ||
154 | + @Override | ||
138 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { | 155 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { |
139 | checkNotNull(deviceId, DEVICE_NULL); | 156 | checkNotNull(deviceId, DEVICE_NULL); |
140 | 157 | ... | ... |
... | @@ -83,6 +83,16 @@ class NetconfDeviceServiceMock implements DeviceService { | ... | @@ -83,6 +83,16 @@ class NetconfDeviceServiceMock implements DeviceService { |
83 | } | 83 | } |
84 | 84 | ||
85 | @Override | 85 | @Override |
86 | + public PortStatistics getStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
87 | + return null; | ||
88 | + } | ||
89 | + | ||
90 | + @Override | ||
91 | + public PortStatistics getDeltaStatisticsForPort(DeviceId deviceId, PortNumber portNumber) { | ||
92 | + return null; | ||
93 | + } | ||
94 | + | ||
95 | + @Override | ||
86 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { | 96 | public Port getPort(DeviceId deviceId, PortNumber portNumber) { |
87 | return null; | 97 | return null; |
88 | } | 98 | } | ... | ... |
-
Please register or login to post a comment