chengfan
Committed by Gerrit Code Review

[ONOS-2233] Tunnel monitoring, measurement and observation

1. tunnel statistics interface

Change-Id: Iffac60ead5273b6a309552be7be10d1cc89bd1d6
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 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 +}