blob: 28ae2e154235b670a6bda89c822c80d6096df0fa [file] [log] [blame]
chengfana3c3f752015-08-27 15:22:45 -05001/*
Thomas Vachuska58de4162015-09-10 16:15:33 -07002 * Copyright 2015 Open Networking Laboratory
chengfana3c3f752015-08-27 15:22:45 -05003 *
Thomas Vachuska58de4162015-09-10 16:15:33 -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
chengfana3c3f752015-08-27 15:22:45 -05007 *
Thomas Vachuska58de4162015-09-10 16:15:33 -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.
chengfana3c3f752015-08-27 15:22:45 -050015 */
16
17package org.onosproject.incubator.net.tunnel;
18
19import java.time.Duration;
20import java.util.List;
21
22/**
23 * Statistics of a tunnel.
24 */
25public interface TunnelStatistics {
26
27 /**
28 * Returns the tunnel id.
29 *
30 * @return tunnelId id of tunnel
31 */
32 TunnelId id();
33
34 /**
35 * Returns the bandwidth utilization of a tunnel.
36 *
37 * @return bandwidth utilization
38 */
39 double bandwidthUtilization();
40
41 /**
chengfan2fff70f2015-08-24 18:20:19 -050042 * Returns the packet loss ratio of a tunnel.
chengfana3c3f752015-08-27 15:22:45 -050043 *
44 * @return tunnel packet loss ratio
45 */
46 double packetLossRate();
47
48 /**
49 * Returns the end-to-end traffic flow delay of a tunnel.
50 *
51 * @return tunnel flow delay
52 */
53 Duration flowDelay();
54
55 /**
56 * Returns the alarms on a tunnel.
57 *
58 * @return tunnel alarms
59 */
60 List<String> alarms();
61}