blob: 7d4aa6e0a82b0e5a249a84b457f5408064441b32 [file] [log] [blame]
Georgios Katsikas83600982017-05-28 20:41:45 +02001/*
2 * Copyright 2017-present Open Networking Foundation
3 *
4 * 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
7 *
8 * 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.
15 */
16
17package org.onosproject.drivers.server.behavior;
18
19import org.onosproject.drivers.server.stats.MonitoringStatistics;
20
21import org.onosproject.net.driver.HandlerBehaviour;
22
23import java.net.URI;
24
25/**
26 * Handler behaviour capable of collecting and updating
27 * server monitoring statistics.
28 */
29public interface MonitoringStatisticsDiscovery extends HandlerBehaviour {
30
31 /**
32 * Returns global server monitoring statistics.
33 * These statistics include all of the traffic that
34 * goes through the NICs of the server.
35 *
36 * @return global monitoring statistics
37 */
38 MonitoringStatistics discoverGlobalMonitoringStatistics();
39
40 /**
41 * Returns monitoring statistics for a specific resource.
42 * This resource represents a specific portion of the traffic.
43 *
44 * @param tcId the ID of the traffic class to be monitored
45 * @return resource-specific monitoring statistics
46 */
47 MonitoringStatistics discoverMonitoringStatistics(URI tcId);
Georgios Katsikas740d3282020-03-18 12:05:03 +010048
Georgios Katsikas83600982017-05-28 20:41:45 +020049}