blob: 23abea6b64ef07a9eede8cb8d0e1e75767f0fca5 [file] [log] [blame]
Thomas Vachuska781d18b2014-10-27 10:31:25 -07001/*
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07002 * Copyright 2014 Open Networking Laboratory
Thomas Vachuska781d18b2014-10-27 10:31:25 -07003 *
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07004 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
Thomas Vachuska781d18b2014-10-27 10:31:25 -07007 *
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07008 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
Thomas Vachuska781d18b2014-10-27 10:31:25 -070015 */
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070016package org.onlab.onos.metrics.topology;
17
18import java.util.List;
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070019import org.onlab.metrics.EventMetric;
Pavlin Radoslavov5ba8b282014-10-23 01:03:10 -070020import org.onlab.onos.event.Event;
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070021
22/**
23 * Service interface exported by TopologyMetrics.
24 */
25public interface TopologyMetricsService {
26 /**
27 * Gets the last saved topology events.
28 *
29 * @return the last saved topology events.
30 */
Pavlin Radoslavov5ba8b282014-10-23 01:03:10 -070031 public List<Event> getEvents();
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070032
33 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070034 * Gets the Event Metric for the Device Events.
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070035 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070036 * @return the Event Metric for the Device Events.
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070037 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070038 public EventMetric topologyDeviceEventMetric();
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070039
40 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070041 * Gets the Event Metric for the Host Events.
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070042 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070043 * @return the Event Metric for the Host Events.
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070044 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070045 public EventMetric topologyHostEventMetric();
46
47 /**
48 * Gets the Event Metric for the Link Events.
49 *
50 * @return the Event Metric for the Link Events.
51 */
52 public EventMetric topologyLinkEventMetric();
53
54 /**
55 * Gets the Event Metric for the Topology Graph Events.
56 *
57 * @return the Event Metric for the Topology Graph Events.
58 */
59 public EventMetric topologyGraphEventMetric();
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070060}