650f9941358e9a46354fcdb700cb5bfb66a6159b
[onosfw.git] /
1 /*
2  *
3  *  * Copyright 2015 Open Networking Laboratory
4  *  *
5  *  * Licensed under the Apache License, Version 2.0 (the "License");
6  *  * you may not use this file except in compliance with the License.
7  *  * You may obtain a copy of the License at
8  *  *
9  *  *     http://www.apache.org/licenses/LICENSE-2.0
10  *  *
11  *  * Unless required by applicable law or agreed to in writing, software
12  *  * distributed under the License is distributed on an "AS IS" BASIS,
13  *  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  * See the License for the specific language governing permissions and
15  *  * limitations under the License.
16  *
17  */
18
19 package org.onosproject.incubator.net.tunnel;
20
21 import java.time.Duration;
22 import java.util.List;
23
24 /**
25  * Statistics of a tunnel.
26  */
27 public interface TunnelStatistics {
28
29     /**
30      * Returns the tunnel id.
31      *
32      * @return tunnelId id of tunnel
33      */
34     TunnelId id();
35
36     /**
37      * Returns the bandwidth utilization of a tunnel.
38      *
39      * @return bandwidth utilization
40      */
41     double bandwidthUtilization();
42
43     /**
44      * Returns the packet loss ratio of a tunnel.
45      *
46      * @return tunnel packet loss ratio
47      */
48     double packetLossRate();
49
50     /**
51      * Returns the end-to-end traffic flow delay of a tunnel.
52      *
53      * @return tunnel flow delay
54      */
55     Duration flowDelay();
56
57     /**
58      * Returns the alarms on a tunnel.
59      *
60      * @return tunnel alarms
61      */
62     List<String> alarms();
63 }