blob: 7806ff714235c4b38bbdffb999e6120a3f947409 [file] [log] [blame]
Jian Lid1ce10a2018-06-12 13:47:23 +09001/*
2 * Copyright 2018-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 */
16package org.onosproject.openstacktelemetry.api;
17
18/**
19 * Service API for publishing openstack telemetry.
20 */
21public interface TelemetryService {
22
23 /**
Jian Li69600e02018-12-24 13:21:18 +090024 * Telemetry service type.
25 */
26 enum ServiceType {
27 /**
28 * Indicates KAFKA telemetry service.
29 */
30 KAFKA,
31
32 /**
33 * Indicates GRPC telemetry service.
34 */
35 GRPC,
36
37 /**
38 * Indicates REST telemetry service.
39 */
40 REST,
41
42 /**
43 * Indicates InfluxDB telemetry service.
44 */
45 INFLUXDB,
46
47 /**
48 * Indicates prometheus telemetry service.
49 */
50 PROMETHEUS,
51
52 /**
53 * Indicates unknown telemetry service.
54 */
55 UNKNOWN
56 }
57
58 /**
Jian Lid1ce10a2018-06-12 13:47:23 +090059 * Checks whether the telemetry service is running or not.
60 *
61 * @return telemetry service running status
62 */
63 boolean isRunning();
Jian Li69600e02018-12-24 13:21:18 +090064
65 /**
66 * Obtains the service type.
67 *
68 * @return service type
69 */
70 ServiceType type();
Jian Lid1ce10a2018-06-12 13:47:23 +090071}