blob: 61c77d749ddf49efc335ccfe496517b78a224a0c [file] [log] [blame]
chengfana3c3f752015-08-27 15:22:45 -05001/*
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
19package org.onosproject.incubator.net.tunnel;
20
21import java.time.Duration;
22import java.util.List;
23
24/**
25 * Statistics of a tunnel.
26 */
27public 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 rate 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}