Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/usr/bin/python
import os
from concurrent import futures
import grpc
import numpy
import monitoring_pb2
import monitoring_pb2_grpc
import grpc.health.v1.health_pb2
import grpc.health.v1.health_pb2_grpc
from logger import getJSONLogger
logger = getJSONLogger('monitoringservice-server')
logger.setLevel('DEBUG')
import threading
class monitoringService(monitoring_pb2_grpc.MonitoringServiceServicer):
def __init__(self):
logger.info("init monitoringService")
def IncludeKpi(self, request, context):
#KPI, returns empty
logger.info("IncludeKpi")
return
def MonitorKpi ( self, request, context):
#KpiDevice returns (google.protobuf.Empty) {}
logger.info("IncludeKpi")
return
def GetStream_kpi ( self, request, context):
#KpiId ) returns (stream Kpi) {}
logger.info("IncludeKpi")
return
def GetInstantKpi ( self, request, context):
#KpiId ) returns ( Kpi) {}
logger.info("IncludeKpi")
return
if __name__ == "__main__":
logger.info("initializing monitoringService")
port = os.environ.get('PORT', "7070")
# create gRPC server
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) # ,interceptors=(tracer_interceptor,))
# add class to gRPC server
service = MonitoringService()
monitoring_pb2_grpc.add_MonitoringServiceServicer_to_server(service, server)
health_servicer = health.HealthServicer(experimental_non_blocking=True,experimental_thread_pool=futures.ThreadPoolExecutor(max_workers=1))
health_pb2_grpc.add_HealthServicer_to_server(health_servicer, server)
# start server
logger.info("listening on port: " + port)
server.add_insecure_port('[::]:'+port)
server.start()
health_servicer.set("", health_pb2.HealthCheckResponse.SERVING)
# keep alive
try:
while True:
time.sleep(0.1)
except KeyboardInterrupt:
server.stop(0)