Loading proto/monitoring.proto +24 −5 Original line number Diff line number Diff line Loading @@ -5,17 +5,31 @@ package monitoring; import "context.proto"; service MonitoringService { rpc IncludeKpi (Kpi) returns (context.Empty) {} rpc MonitorKpi ( KpiDevice ) returns (context.Empty) {} rpc IncludeKpi (KpiRequest) returns (KpiId) {} rpc MonitorKpi ( KpiId ) returns (Kpi) {} rpc GetStreamKpi ( KpiId ) returns (stream Kpi) {} rpc GetInstantKpi ( KpiId ) returns (Kpi) {} } message KpiRequest{ string kpiDescription = 1; context.DeviceId device_id = 2; KpiSampleType kpi_sample_type = 3; // context.EndpointId endpoint_id = 4; // others might be added // context.ServiceId service_id = 5; // for monitoring other // context.SliceId slice_id = 6; // entities } message Kpi { KpiId kpi_id = 1; string timestamp = 2; string kpiDescription = 3; KpiValue kpi_value = 4; KpiSampleType kpi_sample_type = 5; context.DeviceId device_id = 6; // context.EndpointId endpoint_id = 7; // others might be added // context.ServiceId service_id = 8; // for monitoring other // context.SliceId slice_id = 9; // entities } message KpiId { Loading @@ -27,13 +41,18 @@ message KpiDevice { context.DeviceId device_id = 2; } enum KpiSampleType { UNKNOWN = 0; PACKETS_TRANSMITTED = 101; // others might be added for PACKETS_RECEIVED = 102; // packet, optical, radio,... BYTES_TRANSMITTED = 201; BYTES_RECEIVED = 202; } message KpiList { repeated Kpi kpiList = 1; } message KpiValue { oneof value { uint32 intVal = 1; Loading src/monitoring/client/monitoring_client.py +9 −8 Original line number Diff line number Diff line Loading @@ -21,25 +21,25 @@ class MonitoringClient: LOGGER.info('IncludeKpi: {}'.format(request)) response = self.server.IncludeKpi(request) LOGGER.info('IncludeKpi result: {}'.format(response)) return context_pb2.Empty() return monitoring_pb2.KpiId() def MonitorKpi(self, request): LOGGER.info('MonitorKpi: {}'.format(request)) response = self.server.MonitorKpi(request) LOGGER.info('MonitorKpi result: {}'.format(response)) return context_pb2.Empty() return monitoring_pb2.Kpi() def GetStreamKpi(self, request): LOGGER.info('GetStreamKpi: {}'.format(request)) response = self.server.GetStreamKpi(request) LOGGER.info('GetStreamKpi result: {}'.format(response)) yield response yield monitoring_pb2.Kpi() def GetInstantKpi(self, request): LOGGER.info('GetInstantKpi: {}'.format(request)) response = self.server.GetInstantKpi(request) LOGGER.info('GetInstantKpi result: {}'.format(response)) return response return monitoring_pb2.Kpi() if __name__ == '__main__': Loading @@ -47,10 +47,11 @@ if __name__ == '__main__': port = sys.argv[1] if len(sys.argv) > 1 else '7070' # form request kpi = monitoring_pb2.Kpi() kpi.kpi_id.kpi_id = 'KPIID0000' # pylint: disable=maybe-no-member kpi.kpiDescription = 'KPI Desc' kpi_request = monitoring_pb2.KpiRequest() kpi_request.device_id.device_id = 'KPIID0000' # pylint: disable=maybe-no-member kpi_request.kpiDescription = 'KPI Description' kpi_request.kpi_sample_type = monitoring_pb2.KpiSampleType.PACKETS_TRANSMITTED # make call to server client = MonitoringClient(port=port) response=client.IncludeKpi(kpi) response=client.IncludeKpi(kpi_request) src/monitoring/proto/monitoring_pb2.py +130 −17 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection Loading @@ -20,13 +21,98 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='monitoring', syntax='proto3', serialized_options=None, serialized_pb=_b('\n\x10monitoring.proto\x12\nmonitoring\x1a\rcontext.proto\"|\n\x03Kpi\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12\x11\n\ttimestamp\x18\x02 \x01(\t\x12\x16\n\x0ekpiDescription\x18\x03 \x01(\t\x12\'\n\tkpi_value\x18\x04 \x01(\x0b\x32\x14.monitoring.KpiValue\"&\n\x05KpiId\x12\x1d\n\x06kpi_id\x18\x01 \x01(\x0b\x32\r.context.Uuid\"T\n\tKpiDevice\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\"+\n\x07KpiList\x12 \n\x07kpiList\x18\x01 \x03(\x0b\x32\x0f.monitoring.Kpi\"M\n\x08KpiValue\x12\x10\n\x06intVal\x18\x01 \x01(\rH\x00\x12\x13\n\tstringVal\x18\x02 \x01(\tH\x00\x12\x11\n\x07\x62oolVal\x18\x03 \x01(\x08H\x00\x42\x07\n\x05value2\xea\x01\n\x11MonitoringService\x12/\n\nIncludeKpi\x12\x0f.monitoring.Kpi\x1a\x0e.context.Empty\"\x00\x12\x35\n\nMonitorKpi\x12\x15.monitoring.KpiDevice\x1a\x0e.context.Empty\"\x00\x12\x36\n\x0cGetStreamKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x30\x01\x12\x35\n\rGetInstantKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x62\x06proto3') serialized_pb=_b('\n\x10monitoring.proto\x12\nmonitoring\x1a\rcontext.proto\"~\n\nKpiRequest\x12\x16\n\x0ekpiDescription\x18\x01 \x01(\t\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\x12\x32\n\x0fkpi_sample_type\x18\x03 \x01(\x0e\x32\x19.monitoring.KpiSampleType\"\xd6\x01\n\x03Kpi\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12\x11\n\ttimestamp\x18\x02 \x01(\t\x12\x16\n\x0ekpiDescription\x18\x03 \x01(\t\x12\'\n\tkpi_value\x18\x04 \x01(\x0b\x32\x14.monitoring.KpiValue\x12\x32\n\x0fkpi_sample_type\x18\x05 \x01(\x0e\x32\x19.monitoring.KpiSampleType\x12$\n\tdevice_id\x18\x06 \x01(\x0b\x32\x11.context.DeviceId\"&\n\x05KpiId\x12\x1d\n\x06kpi_id\x18\x01 \x01(\x0b\x32\r.context.Uuid\"T\n\tKpiDevice\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\"+\n\x07KpiList\x12 \n\x07kpiList\x18\x01 \x03(\x0b\x32\x0f.monitoring.Kpi\"M\n\x08KpiValue\x12\x10\n\x06intVal\x18\x01 \x01(\rH\x00\x12\x13\n\tstringVal\x18\x02 \x01(\tH\x00\x12\x11\n\x07\x62oolVal\x18\x03 \x01(\x08H\x00\x42\x07\n\x05value*x\n\rKpiSampleType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\x13PACKETS_TRANSMITTED\x10\x65\x12\x14\n\x10PACKETS_RECEIVED\x10\x66\x12\x16\n\x11\x42YTES_TRANSMITTED\x10\xc9\x01\x12\x13\n\x0e\x42YTES_RECEIVED\x10\xca\x01\x32\xf1\x01\n\x11MonitoringService\x12\x39\n\nIncludeKpi\x12\x16.monitoring.KpiRequest\x1a\x11.monitoring.KpiId\"\x00\x12\x32\n\nMonitorKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x12\x36\n\x0cGetStreamKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x30\x01\x12\x35\n\rGetInstantKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x62\x06proto3') , dependencies=[context__pb2.DESCRIPTOR,]) _KPISAMPLETYPE = _descriptor.EnumDescriptor( name='KpiSampleType', full_name='monitoring.KpiSampleType', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='UNKNOWN', index=0, number=0, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='PACKETS_TRANSMITTED', index=1, number=101, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='PACKETS_RECEIVED', index=2, number=102, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='BYTES_TRANSMITTED', index=3, number=201, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='BYTES_RECEIVED', index=4, number=202, serialized_options=None, type=None), ], containing_type=None, serialized_options=None, serialized_start=642, serialized_end=762, ) _sym_db.RegisterEnumDescriptor(_KPISAMPLETYPE) KpiSampleType = enum_type_wrapper.EnumTypeWrapper(_KPISAMPLETYPE) UNKNOWN = 0 PACKETS_TRANSMITTED = 101 PACKETS_RECEIVED = 102 BYTES_TRANSMITTED = 201 BYTES_RECEIVED = 202 _KPIREQUEST = _descriptor.Descriptor( name='KpiRequest', full_name='monitoring.KpiRequest', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='kpiDescription', full_name='monitoring.KpiRequest.kpiDescription', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='device_id', full_name='monitoring.KpiRequest.device_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='kpi_sample_type', full_name='monitoring.KpiRequest.kpi_sample_type', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=47, serialized_end=173, ) _KPI = _descriptor.Descriptor( name='Kpi', full_name='monitoring.Kpi', Loading Loading @@ -62,6 +148,20 @@ _KPI = _descriptor.Descriptor( message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='kpi_sample_type', full_name='monitoring.Kpi.kpi_sample_type', index=4, number=5, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='device_id', full_name='monitoring.Kpi.device_id', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], Loading @@ -74,8 +174,8 @@ _KPI = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], serialized_start=47, serialized_end=171, serialized_start=176, serialized_end=390, ) Loading Loading @@ -105,8 +205,8 @@ _KPIID = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], serialized_start=173, serialized_end=211, serialized_start=392, serialized_end=430, ) Loading Loading @@ -143,8 +243,8 @@ _KPIDEVICE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], serialized_start=213, serialized_end=297, serialized_start=432, serialized_end=516, ) Loading Loading @@ -174,8 +274,8 @@ _KPILIST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], serialized_start=299, serialized_end=342, serialized_start=518, serialized_end=561, ) Loading Loading @@ -222,12 +322,16 @@ _KPIVALUE = _descriptor.Descriptor( name='value', full_name='monitoring.KpiValue.value', index=0, containing_type=None, fields=[]), ], serialized_start=344, serialized_end=421, serialized_start=563, serialized_end=640, ) _KPIREQUEST.fields_by_name['device_id'].message_type = context__pb2._DEVICEID _KPIREQUEST.fields_by_name['kpi_sample_type'].enum_type = _KPISAMPLETYPE _KPI.fields_by_name['kpi_id'].message_type = _KPIID _KPI.fields_by_name['kpi_value'].message_type = _KPIVALUE _KPI.fields_by_name['kpi_sample_type'].enum_type = _KPISAMPLETYPE _KPI.fields_by_name['device_id'].message_type = context__pb2._DEVICEID _KPIID.fields_by_name['kpi_id'].message_type = context__pb2._UUID _KPIDEVICE.fields_by_name['kpi_id'].message_type = _KPIID _KPIDEVICE.fields_by_name['device_id'].message_type = context__pb2._DEVICEID Loading @@ -241,13 +345,22 @@ _KPIVALUE.fields_by_name['stringVal'].containing_oneof = _KPIVALUE.oneofs_by_nam _KPIVALUE.oneofs_by_name['value'].fields.append( _KPIVALUE.fields_by_name['boolVal']) _KPIVALUE.fields_by_name['boolVal'].containing_oneof = _KPIVALUE.oneofs_by_name['value'] DESCRIPTOR.message_types_by_name['KpiRequest'] = _KPIREQUEST DESCRIPTOR.message_types_by_name['Kpi'] = _KPI DESCRIPTOR.message_types_by_name['KpiId'] = _KPIID DESCRIPTOR.message_types_by_name['KpiDevice'] = _KPIDEVICE DESCRIPTOR.message_types_by_name['KpiList'] = _KPILIST DESCRIPTOR.message_types_by_name['KpiValue'] = _KPIVALUE DESCRIPTOR.enum_types_by_name['KpiSampleType'] = _KPISAMPLETYPE _sym_db.RegisterFileDescriptor(DESCRIPTOR) KpiRequest = _reflection.GeneratedProtocolMessageType('KpiRequest', (_message.Message,), dict( DESCRIPTOR = _KPIREQUEST, __module__ = 'monitoring_pb2' # @@protoc_insertion_point(class_scope:monitoring.KpiRequest) )) _sym_db.RegisterMessage(KpiRequest) Kpi = _reflection.GeneratedProtocolMessageType('Kpi', (_message.Message,), dict( DESCRIPTOR = _KPI, __module__ = 'monitoring_pb2' Loading Loading @@ -291,16 +404,16 @@ _MONITORINGSERVICE = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, serialized_start=424, serialized_end=658, serialized_start=765, serialized_end=1006, methods=[ _descriptor.MethodDescriptor( name='IncludeKpi', full_name='monitoring.MonitoringService.IncludeKpi', index=0, containing_service=None, input_type=_KPI, output_type=context__pb2._EMPTY, input_type=_KPIREQUEST, output_type=_KPIID, serialized_options=None, ), _descriptor.MethodDescriptor( Loading @@ -308,8 +421,8 @@ _MONITORINGSERVICE = _descriptor.ServiceDescriptor( full_name='monitoring.MonitoringService.MonitorKpi', index=1, containing_service=None, input_type=_KPIDEVICE, output_type=context__pb2._EMPTY, input_type=_KPIID, output_type=_KPI, serialized_options=None, ), _descriptor.MethodDescriptor( Loading src/monitoring/proto/monitoring_pb2_grpc.py +8 −9 Original line number Diff line number Diff line # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! import grpc from . import context_pb2 as context__pb2 from . import monitoring_pb2 as monitoring__pb2 Loading @@ -17,13 +16,13 @@ class MonitoringServiceStub(object): """ self.IncludeKpi = channel.unary_unary( '/monitoring.MonitoringService/IncludeKpi', request_serializer=monitoring__pb2.Kpi.SerializeToString, response_deserializer=context__pb2.Empty.FromString, request_serializer=monitoring__pb2.KpiRequest.SerializeToString, response_deserializer=monitoring__pb2.KpiId.FromString, ) self.MonitorKpi = channel.unary_unary( '/monitoring.MonitoringService/MonitorKpi', request_serializer=monitoring__pb2.KpiDevice.SerializeToString, response_deserializer=context__pb2.Empty.FromString, request_serializer=monitoring__pb2.KpiId.SerializeToString, response_deserializer=monitoring__pb2.Kpi.FromString, ) self.GetStreamKpi = channel.unary_stream( '/monitoring.MonitoringService/GetStreamKpi', Loading Loading @@ -74,13 +73,13 @@ def add_MonitoringServiceServicer_to_server(servicer, server): rpc_method_handlers = { 'IncludeKpi': grpc.unary_unary_rpc_method_handler( servicer.IncludeKpi, request_deserializer=monitoring__pb2.Kpi.FromString, response_serializer=context__pb2.Empty.SerializeToString, request_deserializer=monitoring__pb2.KpiRequest.FromString, response_serializer=monitoring__pb2.KpiId.SerializeToString, ), 'MonitorKpi': grpc.unary_unary_rpc_method_handler( servicer.MonitorKpi, request_deserializer=monitoring__pb2.KpiDevice.FromString, response_serializer=context__pb2.Empty.SerializeToString, request_deserializer=monitoring__pb2.KpiId.FromString, response_serializer=monitoring__pb2.Kpi.SerializeToString, ), 'GetStreamKpi': grpc.unary_stream_rpc_method_handler( servicer.GetStreamKpi, Loading src/monitoring/service/monitoring_server.py +5 −7 Original line number Diff line number Diff line Loading @@ -35,23 +35,21 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService def __init__(self): LOGGER.info('Init monitoringService') def IncludeKpi(self, request, context): # receives monitoring.KPI returns context.Empty # receives monitoring.KpiRequest returns monitoring.KpiId LOGGER.info('IncludeKpi') MONITORING_INCLUDEKPI_COUNTER.inc() return context_pb2.Empty() return monitoring_pb2.KpiId() def MonitorKpi ( self, request, context): # receives monitoring.KpiDevice returns context.Empty # receives monitoring.KpiId returns monitoring.Kpi LOGGER.info('MonitorKpi') return context_pb2.Empty() return monitoring_pb2.Kpi() def GetStreamKpi ( self, request, context): # receives monitoring.KpiId returns stream monitoring.Kpi LOGGER.info('GetStreamKpi') return monitoring_pb2.Kpi() yield monitoring_pb2.Kpi() @MONITORING_GETINSTANTKPI_REQUEST_TIME.time() def GetInstantKpi ( self, request, context): Loading Loading
proto/monitoring.proto +24 −5 Original line number Diff line number Diff line Loading @@ -5,17 +5,31 @@ package monitoring; import "context.proto"; service MonitoringService { rpc IncludeKpi (Kpi) returns (context.Empty) {} rpc MonitorKpi ( KpiDevice ) returns (context.Empty) {} rpc IncludeKpi (KpiRequest) returns (KpiId) {} rpc MonitorKpi ( KpiId ) returns (Kpi) {} rpc GetStreamKpi ( KpiId ) returns (stream Kpi) {} rpc GetInstantKpi ( KpiId ) returns (Kpi) {} } message KpiRequest{ string kpiDescription = 1; context.DeviceId device_id = 2; KpiSampleType kpi_sample_type = 3; // context.EndpointId endpoint_id = 4; // others might be added // context.ServiceId service_id = 5; // for monitoring other // context.SliceId slice_id = 6; // entities } message Kpi { KpiId kpi_id = 1; string timestamp = 2; string kpiDescription = 3; KpiValue kpi_value = 4; KpiSampleType kpi_sample_type = 5; context.DeviceId device_id = 6; // context.EndpointId endpoint_id = 7; // others might be added // context.ServiceId service_id = 8; // for monitoring other // context.SliceId slice_id = 9; // entities } message KpiId { Loading @@ -27,13 +41,18 @@ message KpiDevice { context.DeviceId device_id = 2; } enum KpiSampleType { UNKNOWN = 0; PACKETS_TRANSMITTED = 101; // others might be added for PACKETS_RECEIVED = 102; // packet, optical, radio,... BYTES_TRANSMITTED = 201; BYTES_RECEIVED = 202; } message KpiList { repeated Kpi kpiList = 1; } message KpiValue { oneof value { uint32 intVal = 1; Loading
src/monitoring/client/monitoring_client.py +9 −8 Original line number Diff line number Diff line Loading @@ -21,25 +21,25 @@ class MonitoringClient: LOGGER.info('IncludeKpi: {}'.format(request)) response = self.server.IncludeKpi(request) LOGGER.info('IncludeKpi result: {}'.format(response)) return context_pb2.Empty() return monitoring_pb2.KpiId() def MonitorKpi(self, request): LOGGER.info('MonitorKpi: {}'.format(request)) response = self.server.MonitorKpi(request) LOGGER.info('MonitorKpi result: {}'.format(response)) return context_pb2.Empty() return monitoring_pb2.Kpi() def GetStreamKpi(self, request): LOGGER.info('GetStreamKpi: {}'.format(request)) response = self.server.GetStreamKpi(request) LOGGER.info('GetStreamKpi result: {}'.format(response)) yield response yield monitoring_pb2.Kpi() def GetInstantKpi(self, request): LOGGER.info('GetInstantKpi: {}'.format(request)) response = self.server.GetInstantKpi(request) LOGGER.info('GetInstantKpi result: {}'.format(response)) return response return monitoring_pb2.Kpi() if __name__ == '__main__': Loading @@ -47,10 +47,11 @@ if __name__ == '__main__': port = sys.argv[1] if len(sys.argv) > 1 else '7070' # form request kpi = monitoring_pb2.Kpi() kpi.kpi_id.kpi_id = 'KPIID0000' # pylint: disable=maybe-no-member kpi.kpiDescription = 'KPI Desc' kpi_request = monitoring_pb2.KpiRequest() kpi_request.device_id.device_id = 'KPIID0000' # pylint: disable=maybe-no-member kpi_request.kpiDescription = 'KPI Description' kpi_request.kpi_sample_type = monitoring_pb2.KpiSampleType.PACKETS_TRANSMITTED # make call to server client = MonitoringClient(port=port) response=client.IncludeKpi(kpi) response=client.IncludeKpi(kpi_request)
src/monitoring/proto/monitoring_pb2.py +130 −17 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection Loading @@ -20,13 +21,98 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='monitoring', syntax='proto3', serialized_options=None, serialized_pb=_b('\n\x10monitoring.proto\x12\nmonitoring\x1a\rcontext.proto\"|\n\x03Kpi\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12\x11\n\ttimestamp\x18\x02 \x01(\t\x12\x16\n\x0ekpiDescription\x18\x03 \x01(\t\x12\'\n\tkpi_value\x18\x04 \x01(\x0b\x32\x14.monitoring.KpiValue\"&\n\x05KpiId\x12\x1d\n\x06kpi_id\x18\x01 \x01(\x0b\x32\r.context.Uuid\"T\n\tKpiDevice\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\"+\n\x07KpiList\x12 \n\x07kpiList\x18\x01 \x03(\x0b\x32\x0f.monitoring.Kpi\"M\n\x08KpiValue\x12\x10\n\x06intVal\x18\x01 \x01(\rH\x00\x12\x13\n\tstringVal\x18\x02 \x01(\tH\x00\x12\x11\n\x07\x62oolVal\x18\x03 \x01(\x08H\x00\x42\x07\n\x05value2\xea\x01\n\x11MonitoringService\x12/\n\nIncludeKpi\x12\x0f.monitoring.Kpi\x1a\x0e.context.Empty\"\x00\x12\x35\n\nMonitorKpi\x12\x15.monitoring.KpiDevice\x1a\x0e.context.Empty\"\x00\x12\x36\n\x0cGetStreamKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x30\x01\x12\x35\n\rGetInstantKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x62\x06proto3') serialized_pb=_b('\n\x10monitoring.proto\x12\nmonitoring\x1a\rcontext.proto\"~\n\nKpiRequest\x12\x16\n\x0ekpiDescription\x18\x01 \x01(\t\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\x12\x32\n\x0fkpi_sample_type\x18\x03 \x01(\x0e\x32\x19.monitoring.KpiSampleType\"\xd6\x01\n\x03Kpi\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12\x11\n\ttimestamp\x18\x02 \x01(\t\x12\x16\n\x0ekpiDescription\x18\x03 \x01(\t\x12\'\n\tkpi_value\x18\x04 \x01(\x0b\x32\x14.monitoring.KpiValue\x12\x32\n\x0fkpi_sample_type\x18\x05 \x01(\x0e\x32\x19.monitoring.KpiSampleType\x12$\n\tdevice_id\x18\x06 \x01(\x0b\x32\x11.context.DeviceId\"&\n\x05KpiId\x12\x1d\n\x06kpi_id\x18\x01 \x01(\x0b\x32\r.context.Uuid\"T\n\tKpiDevice\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12$\n\tdevice_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\"+\n\x07KpiList\x12 \n\x07kpiList\x18\x01 \x03(\x0b\x32\x0f.monitoring.Kpi\"M\n\x08KpiValue\x12\x10\n\x06intVal\x18\x01 \x01(\rH\x00\x12\x13\n\tstringVal\x18\x02 \x01(\tH\x00\x12\x11\n\x07\x62oolVal\x18\x03 \x01(\x08H\x00\x42\x07\n\x05value*x\n\rKpiSampleType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\x13PACKETS_TRANSMITTED\x10\x65\x12\x14\n\x10PACKETS_RECEIVED\x10\x66\x12\x16\n\x11\x42YTES_TRANSMITTED\x10\xc9\x01\x12\x13\n\x0e\x42YTES_RECEIVED\x10\xca\x01\x32\xf1\x01\n\x11MonitoringService\x12\x39\n\nIncludeKpi\x12\x16.monitoring.KpiRequest\x1a\x11.monitoring.KpiId\"\x00\x12\x32\n\nMonitorKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x12\x36\n\x0cGetStreamKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x30\x01\x12\x35\n\rGetInstantKpi\x12\x11.monitoring.KpiId\x1a\x0f.monitoring.Kpi\"\x00\x62\x06proto3') , dependencies=[context__pb2.DESCRIPTOR,]) _KPISAMPLETYPE = _descriptor.EnumDescriptor( name='KpiSampleType', full_name='monitoring.KpiSampleType', filename=None, file=DESCRIPTOR, values=[ _descriptor.EnumValueDescriptor( name='UNKNOWN', index=0, number=0, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='PACKETS_TRANSMITTED', index=1, number=101, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='PACKETS_RECEIVED', index=2, number=102, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='BYTES_TRANSMITTED', index=3, number=201, serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='BYTES_RECEIVED', index=4, number=202, serialized_options=None, type=None), ], containing_type=None, serialized_options=None, serialized_start=642, serialized_end=762, ) _sym_db.RegisterEnumDescriptor(_KPISAMPLETYPE) KpiSampleType = enum_type_wrapper.EnumTypeWrapper(_KPISAMPLETYPE) UNKNOWN = 0 PACKETS_TRANSMITTED = 101 PACKETS_RECEIVED = 102 BYTES_TRANSMITTED = 201 BYTES_RECEIVED = 202 _KPIREQUEST = _descriptor.Descriptor( name='KpiRequest', full_name='monitoring.KpiRequest', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( name='kpiDescription', full_name='monitoring.KpiRequest.kpiDescription', index=0, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='device_id', full_name='monitoring.KpiRequest.device_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='kpi_sample_type', full_name='monitoring.KpiRequest.kpi_sample_type', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], serialized_options=None, is_extendable=False, syntax='proto3', extension_ranges=[], oneofs=[ ], serialized_start=47, serialized_end=173, ) _KPI = _descriptor.Descriptor( name='Kpi', full_name='monitoring.Kpi', Loading Loading @@ -62,6 +148,20 @@ _KPI = _descriptor.Descriptor( message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='kpi_sample_type', full_name='monitoring.Kpi.kpi_sample_type', index=4, number=5, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='device_id', full_name='monitoring.Kpi.device_id', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], Loading @@ -74,8 +174,8 @@ _KPI = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], serialized_start=47, serialized_end=171, serialized_start=176, serialized_end=390, ) Loading Loading @@ -105,8 +205,8 @@ _KPIID = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], serialized_start=173, serialized_end=211, serialized_start=392, serialized_end=430, ) Loading Loading @@ -143,8 +243,8 @@ _KPIDEVICE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], serialized_start=213, serialized_end=297, serialized_start=432, serialized_end=516, ) Loading Loading @@ -174,8 +274,8 @@ _KPILIST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], serialized_start=299, serialized_end=342, serialized_start=518, serialized_end=561, ) Loading Loading @@ -222,12 +322,16 @@ _KPIVALUE = _descriptor.Descriptor( name='value', full_name='monitoring.KpiValue.value', index=0, containing_type=None, fields=[]), ], serialized_start=344, serialized_end=421, serialized_start=563, serialized_end=640, ) _KPIREQUEST.fields_by_name['device_id'].message_type = context__pb2._DEVICEID _KPIREQUEST.fields_by_name['kpi_sample_type'].enum_type = _KPISAMPLETYPE _KPI.fields_by_name['kpi_id'].message_type = _KPIID _KPI.fields_by_name['kpi_value'].message_type = _KPIVALUE _KPI.fields_by_name['kpi_sample_type'].enum_type = _KPISAMPLETYPE _KPI.fields_by_name['device_id'].message_type = context__pb2._DEVICEID _KPIID.fields_by_name['kpi_id'].message_type = context__pb2._UUID _KPIDEVICE.fields_by_name['kpi_id'].message_type = _KPIID _KPIDEVICE.fields_by_name['device_id'].message_type = context__pb2._DEVICEID Loading @@ -241,13 +345,22 @@ _KPIVALUE.fields_by_name['stringVal'].containing_oneof = _KPIVALUE.oneofs_by_nam _KPIVALUE.oneofs_by_name['value'].fields.append( _KPIVALUE.fields_by_name['boolVal']) _KPIVALUE.fields_by_name['boolVal'].containing_oneof = _KPIVALUE.oneofs_by_name['value'] DESCRIPTOR.message_types_by_name['KpiRequest'] = _KPIREQUEST DESCRIPTOR.message_types_by_name['Kpi'] = _KPI DESCRIPTOR.message_types_by_name['KpiId'] = _KPIID DESCRIPTOR.message_types_by_name['KpiDevice'] = _KPIDEVICE DESCRIPTOR.message_types_by_name['KpiList'] = _KPILIST DESCRIPTOR.message_types_by_name['KpiValue'] = _KPIVALUE DESCRIPTOR.enum_types_by_name['KpiSampleType'] = _KPISAMPLETYPE _sym_db.RegisterFileDescriptor(DESCRIPTOR) KpiRequest = _reflection.GeneratedProtocolMessageType('KpiRequest', (_message.Message,), dict( DESCRIPTOR = _KPIREQUEST, __module__ = 'monitoring_pb2' # @@protoc_insertion_point(class_scope:monitoring.KpiRequest) )) _sym_db.RegisterMessage(KpiRequest) Kpi = _reflection.GeneratedProtocolMessageType('Kpi', (_message.Message,), dict( DESCRIPTOR = _KPI, __module__ = 'monitoring_pb2' Loading Loading @@ -291,16 +404,16 @@ _MONITORINGSERVICE = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, serialized_start=424, serialized_end=658, serialized_start=765, serialized_end=1006, methods=[ _descriptor.MethodDescriptor( name='IncludeKpi', full_name='monitoring.MonitoringService.IncludeKpi', index=0, containing_service=None, input_type=_KPI, output_type=context__pb2._EMPTY, input_type=_KPIREQUEST, output_type=_KPIID, serialized_options=None, ), _descriptor.MethodDescriptor( Loading @@ -308,8 +421,8 @@ _MONITORINGSERVICE = _descriptor.ServiceDescriptor( full_name='monitoring.MonitoringService.MonitorKpi', index=1, containing_service=None, input_type=_KPIDEVICE, output_type=context__pb2._EMPTY, input_type=_KPIID, output_type=_KPI, serialized_options=None, ), _descriptor.MethodDescriptor( Loading
src/monitoring/proto/monitoring_pb2_grpc.py +8 −9 Original line number Diff line number Diff line # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! import grpc from . import context_pb2 as context__pb2 from . import monitoring_pb2 as monitoring__pb2 Loading @@ -17,13 +16,13 @@ class MonitoringServiceStub(object): """ self.IncludeKpi = channel.unary_unary( '/monitoring.MonitoringService/IncludeKpi', request_serializer=monitoring__pb2.Kpi.SerializeToString, response_deserializer=context__pb2.Empty.FromString, request_serializer=monitoring__pb2.KpiRequest.SerializeToString, response_deserializer=monitoring__pb2.KpiId.FromString, ) self.MonitorKpi = channel.unary_unary( '/monitoring.MonitoringService/MonitorKpi', request_serializer=monitoring__pb2.KpiDevice.SerializeToString, response_deserializer=context__pb2.Empty.FromString, request_serializer=monitoring__pb2.KpiId.SerializeToString, response_deserializer=monitoring__pb2.Kpi.FromString, ) self.GetStreamKpi = channel.unary_stream( '/monitoring.MonitoringService/GetStreamKpi', Loading Loading @@ -74,13 +73,13 @@ def add_MonitoringServiceServicer_to_server(servicer, server): rpc_method_handlers = { 'IncludeKpi': grpc.unary_unary_rpc_method_handler( servicer.IncludeKpi, request_deserializer=monitoring__pb2.Kpi.FromString, response_serializer=context__pb2.Empty.SerializeToString, request_deserializer=monitoring__pb2.KpiRequest.FromString, response_serializer=monitoring__pb2.KpiId.SerializeToString, ), 'MonitorKpi': grpc.unary_unary_rpc_method_handler( servicer.MonitorKpi, request_deserializer=monitoring__pb2.KpiDevice.FromString, response_serializer=context__pb2.Empty.SerializeToString, request_deserializer=monitoring__pb2.KpiId.FromString, response_serializer=monitoring__pb2.Kpi.SerializeToString, ), 'GetStreamKpi': grpc.unary_stream_rpc_method_handler( servicer.GetStreamKpi, Loading
src/monitoring/service/monitoring_server.py +5 −7 Original line number Diff line number Diff line Loading @@ -35,23 +35,21 @@ class MonitoringServiceServicerImpl(monitoring_pb2_grpc.MonitoringServiceService def __init__(self): LOGGER.info('Init monitoringService') def IncludeKpi(self, request, context): # receives monitoring.KPI returns context.Empty # receives monitoring.KpiRequest returns monitoring.KpiId LOGGER.info('IncludeKpi') MONITORING_INCLUDEKPI_COUNTER.inc() return context_pb2.Empty() return monitoring_pb2.KpiId() def MonitorKpi ( self, request, context): # receives monitoring.KpiDevice returns context.Empty # receives monitoring.KpiId returns monitoring.Kpi LOGGER.info('MonitorKpi') return context_pb2.Empty() return monitoring_pb2.Kpi() def GetStreamKpi ( self, request, context): # receives monitoring.KpiId returns stream monitoring.Kpi LOGGER.info('GetStreamKpi') return monitoring_pb2.Kpi() yield monitoring_pb2.Kpi() @MONITORING_GETINSTANTKPI_REQUEST_TIME.time() def GetInstantKpi ( self, request, context): Loading