blob: df0b94c313d74b0955b2a390f781351a8ab7b1e8 [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 */
Brian O'Connorabafb502014-12-02 22:26:20 -080016package org.onosproject.metrics.intent;
Pavlin Radoslavov295b2962014-10-23 01:12:41 -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.net.intent.IntentEvent;
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070021
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 /**
Brian O'Connor7a71d5d2014-12-02 00:12:27 -080034 * Gets the Event Metric for the intent INSTALL_REQ events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070035 *
Brian O'Connor7a71d5d2014-12-02 00:12:27 -080036 * @return the Event Metric for the intent INSTALL_REQ 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 Radoslavov4749f842014-12-02 13:11:22 -080048 * Gets the Event Metric for the intent WITHDRAW_REQ events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070049 *
Pavlin Radoslavov4749f842014-12-02 13:11:22 -080050 * @return the Event Metric for the intent WITHDRAW_REQ events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070051 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070052 public EventMetric intentWithdrawRequestedEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070053
54 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070055 * Gets the Event Metric for the intent WITHDRAWN events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070056 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070057 * @return the Event Metric for the intent WITHDRAWN events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070058 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070059 public EventMetric intentWithdrawnEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070060}