and cleanup related code:
- Host.ipAddresses()
- DefaultHost.ipAddresses()
- HostDescription.ipAddress()
- DefaultHostDescription.ipAddress()
- HostService.getHostsByIp()
- HostManager.getHostsByIp()
- HostStore.getHosts()
- GossipHostStore.getHosts()
- SimpleHostStore.getHosts()
- ProxyArpService.known()
- ProxyArpManager.known()
As a result of the above cleanup, the "hosts" CLI command outputs
the IP addresses as "1.2.3.4" instead of "1.2.3.4/32".
Also, the following REST calls might be affected as well with
the above format replacement:
- REST POST: config/topology
- REST GET: topology/graph
* Updated classes PortAddresses (in core/api) and Interface (in sdnip)
to use class InterfaceIpAddress instead of IpPrefix
* Updated corresponding unit tests and relevant code
* Minor refactoring inside ProxyArpManager to simplify some of the
logic and usage related to PortAddresses. Also, renamed
method findOutsidePortInSubnet() to findPortInSubnet() and updated
its implementation to reflect better its usage.
* Moved unit test utilities to the onlab-junit package under utils/junit
- ImmutableClassChecker
- TestUtils and TestUtilsTest
* Added/ported unit test utilities from the older code
- UtilityClassChecker and UtilityClassCheckerTest
- ImmutableClassCheckerTest
* Updated/fixed some of the pom.xml files in the context of the
onlab-junit package:
- Added <scope>test</scope>
- Replaced hard-coded "1.0.0-SNAPSHOT" with "${project.version}"
Change-Id: Ie5f51ba401ca1748340f38848ab6bfc251964adc
* Use the new class EventMetric to cleanup and simplify the implementation
* Replaced the single metric for Topology Events with four metrics
(last event timestamp and event rate):
- Device Event metrics
- Host Event metrics
- Link Event metrics
- Topology Graph metrics
Change-Id: I2acc06ab84ef3ca06d0d383983dfcff9774ff341
It can be used as an Intent-related event and event metrics collector.
It can be loaded by one of the following two (new) features:
onos-app-metrics, onos-app-metrics-intent
After loading the module, it subscribes for intent-related events
and keeps the following state:
(a) The last 100 events
(b) The timestamp of the last event (ms after epoch) as observed by this
module for each event type: SUBMITTED, INSTALLED, WITHDRAWN.
The missing event type is the equivalent of "Withdraw Requested"
(c) The rate of each intent event type: count, median rate, average rate
over the last 1, 5 or 15 minutes
The following CLI commands are added:
* onos:intents-events
Shows the last 100 intent events
* onos:intents-events-metrics
Shows the timestamp of the last event (ms after epoch) as observed by
this module for each event type, and the rate of the topology
events (for each event type): see (b) and (c) above
Change-Id: I9f23e9086bbd433b8f24283539abdeb97e199e2e
Devices, Hosts, Links, TopologyEvent
Now the semantics for updating the metrics are:
* Any topology-related event (DeviceEvent, HostEvent, LinkEvent,
TopologyEvent) will update the Lost Topology Event Timestamp
* Only the DeviceEvent, HostEvent and LinkEvent will be counted in
measuring the event rate; TopologyEvent is excluded, because it
is generated as a result of some of those events
Also, increased the number of saved events from 10 to 100.
Change-Id: Ie759ee69869cddc617d7ad5b8b75a622e2571620
Fixed the optical config json file.
Fixed treatment of links added by ancillary providers.
Added a trap for topology provider errors.
Added CLI to recompute topology.
event metrics collector. It can be loaded by one of the following two (new)
features: onos-app-metrics, onos-app-metrics-topology
After loading the module, it subscribes for topology-related events
and keeps the following state:
(a) The last 10 events
(b) The timestamp of the last event (ms after epoch) as observed by this
module
(c) The rate of the topology events: count, median rate, average rate
over the last 1, 5 or 15 minutes
The following CLI commands are added:
* onos:topology-events
Shows the last 10 topology events
* onos:topology-events-metrics
Shows the timestamp of the last event, and the rate of the topology
events: see (b) and (c) above
* Removed logging related code inside class MetricsManager
* Removed @Component related code, because it is not suppose to be used
as an component.
* Added a new class-wrapper so the Metrics can be used as a loadable service:
MetricsManagerComponent. The name and the location of this class
will be refactored in the future.
* Added new method MetricsManager.removeMetric()
* Line formatting
* Changed "interface MetricsService" to public