blob: 70166f8d8202ee40c0bd5cb5831c1d34e35b592f [file] [log] [blame]
Thomas Vachuska781d18b2014-10-27 10:31:25 -07001/*
Ray Milkey34c95902015-04-15 09:47:53 -07002 * Copyright 2014-2015 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 */
Brian O'Connorabafb502014-12-02 22:26:20 -080016package org.onosproject.metrics.topology;
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070017
18import java.util.List;
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070019import org.onlab.metrics.EventMetric;
Brian O'Connorabafb502014-12-02 22:26:20 -080020import org.onosproject.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 *
Pavlin Radoslavov6aaa1e02015-03-18 11:12:06 -070029 * @return the last saved topology events
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070030 */
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 Radoslavov6aaa1e02015-03-18 11:12:06 -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 Radoslavov6aaa1e02015-03-18 11:12:06 -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 *
Pavlin Radoslavov6aaa1e02015-03-18 11:12:06 -070050 * @return the Event Metric for the Link Events
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070051 */
52 public EventMetric topologyLinkEventMetric();
53
54 /**
55 * Gets the Event Metric for the Topology Graph Events.
56 *
Pavlin Radoslavov6aaa1e02015-03-18 11:12:06 -070057 * @return the Event Metric for the Topology Graph Events
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070058 */
59 public EventMetric topologyGraphEventMetric();
Pavlin Radoslavov6aaa1e02015-03-18 11:12:06 -070060
61 /**
62 * Gets the Event Metric for the Topology Graph Reasons Events.
63 *
64 * @return the Event Metric for the Topology Graph Reasons Events
65 */
66 public EventMetric topologyGraphReasonsEventMetric();
Pavlin Radoslavov64d9e472014-10-21 22:01:08 -070067}