blob: 97ea20f4b7622b29bcdfdedf633ac09e8aeefab9 [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 Radoslavov295b2962014-10-23 01:12:41 -070016package org.onlab.onos.metrics.intent;
17
18import java.util.List;
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070019import org.onlab.metrics.EventMetric;
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070020import org.onlab.onos.net.intent.IntentEvent;
21
22/**
23 * Service interface exported by IntentMetrics.
24 */
25public interface IntentMetricsService {
26 /**
27 * Gets the last saved intent events.
28 *
29 * @return the last saved intent events.
30 */
31 public List<IntentEvent> getEvents();
32
33 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070034 * Gets the Event Metric for the intent SUBMITTED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070035 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070036 * @return the Event Metric for the intent SUBMITTED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070037 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070038 public EventMetric intentSubmittedEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070039
40 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070041 * Gets the Event Metric for the intent INSTALLED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070042 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070043 * @return the Event Metric for the intent INSTALLED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070044 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070045 public EventMetric intentInstalledEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070046
47 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070048 * Gets the Event Metric for the intent WITHDRAW_REQUESTED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070049 *
50 * TODO: This intent event is not implemented yet.
51 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070052 * @return the Event Metric for the intent WITHDRAW_REQUESTED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070053 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070054 public EventMetric intentWithdrawRequestedEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070055
56 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070057 * Gets the Event Metric for the intent WITHDRAWN events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070058 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070059 * @return the Event Metric for the intent WITHDRAWN events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070060 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070061 public EventMetric intentWithdrawnEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070062}