blob: bc8701db6a544c75892c6099ef03e9a12ab825fe [file] [log] [blame]
Thomas Vachuska781d18b2014-10-27 10:31:25 -07001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070019package org.onlab.onos.metrics.intent;
20
21import java.util.List;
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070022import org.onlab.metrics.EventMetric;
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070023import org.onlab.onos.net.intent.IntentEvent;
24
25/**
26 * Service interface exported by IntentMetrics.
27 */
28public interface IntentMetricsService {
29 /**
30 * Gets the last saved intent events.
31 *
32 * @return the last saved intent events.
33 */
34 public List<IntentEvent> getEvents();
35
36 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070037 * Gets the Event Metric for the intent SUBMITTED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070038 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070039 * @return the Event Metric for the intent SUBMITTED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070040 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070041 public EventMetric intentSubmittedEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070042
43 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070044 * Gets the Event Metric for the intent INSTALLED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070045 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070046 * @return the Event Metric for the intent INSTALLED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070047 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070048 public EventMetric intentInstalledEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070049
50 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070051 * Gets the Event Metric for the intent WITHDRAW_REQUESTED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070052 *
53 * TODO: This intent event is not implemented yet.
54 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070055 * @return the Event Metric for the intent WITHDRAW_REQUESTED events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070056 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070057 public EventMetric intentWithdrawRequestedEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070058
59 /**
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070060 * Gets the Event Metric for the intent WITHDRAWN events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070061 *
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070062 * @return the Event Metric for the intent WITHDRAWN events.
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070063 */
Pavlin Radoslavovccc2e332014-10-23 13:46:28 -070064 public EventMetric intentWithdrawnEventMetric();
Pavlin Radoslavov295b2962014-10-23 01:12:41 -070065}