From e46e60a8b78501fa8d1e4f1c18ed94d245574184 Mon Sep 17 00:00:00 2001 From: Javi Moreno <francisco.moreno.external@atos.net> Date: Thu, 30 Sep 2021 11:13:02 -0400 Subject: [PATCH] Data Model update WIP --- proto/monitoring.proto | 18 ++- src/monitoring/proto/monitoring_pb2.py | 171 +++++++++++++++++--- src/monitoring/proto/monitoring_pb2_grpc.py | 51 +++++- 3 files changed, 208 insertions(+), 32 deletions(-) diff --git a/proto/monitoring.proto b/proto/monitoring.proto index 7fca036aa..1b1f1fbb7 100644 --- a/proto/monitoring.proto +++ b/proto/monitoring.proto @@ -5,8 +5,10 @@ package monitoring; import "context.proto"; service MonitoringService { - rpc IncludeKpi (KpiRequest) returns (KpiId) {} - rpc MonitorKpi ( KpiId ) returns (Kpi) {} + rpc CreateKpi (KpiRequest) returns (KpiId) {} + rpc IncludeKpi (IncludeKpiRequest) returns (context.Empty) {} + rpc MonitorKpi (MonitorKpiRequest) returns (context.Empty) {} + rpc MonitoriDeviceKpi (MonitorKpiRequest) returns (context.Empty) {} rpc GetStreamKpi ( KpiId ) returns (stream Kpi) {} rpc GetInstantKpi ( KpiId ) returns (Kpi) {} } @@ -20,6 +22,18 @@ message KpiRequest{ // context.SliceId slice_id = 6; // entities } +message MonitorKpiRequest{ + KpiId kpi_id = 1; + uint32 Connexion_time_s = 2; + uint32 sample_rate_ms = 3; +} + +message IncludeKpiRequest{ + KpiId kpi_id = 1; + string time_stamp = 2; + KpiValue kpi_value= 3; +} + message Kpi { KpiId kpi_id = 1; string timestamp = 2; diff --git a/src/monitoring/proto/monitoring_pb2.py b/src/monitoring/proto/monitoring_pb2.py index 0f65fde81..b586f3e94 100644 --- a/src/monitoring/proto/monitoring_pb2.py +++ b/src/monitoring/proto/monitoring_pb2.py @@ -21,7 +21,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='monitoring', syntax='proto3', serialized_options=None, - 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') + 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\"h\n\x11MonitorKpiRequest\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12\x18\n\x10\x43onnexion_time_s\x18\x02 \x01(\r\x12\x16\n\x0esample_rate_ms\x18\x03 \x01(\r\"s\n\x11IncludeKpiRequest\x12!\n\x06kpi_id\x18\x01 \x01(\x0b\x32\x11.monitoring.KpiId\x12\x12\n\ntime_stamp\x18\x02 \x01(\t\x12\'\n\tkpi_value\x18\x03 \x01(\x0b\x32\x14.monitoring.KpiValue\"\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\x80\x03\n\x11MonitoringService\x12\x38\n\tCreateKpi\x12\x16.monitoring.KpiRequest\x1a\x11.monitoring.KpiId\"\x00\x12=\n\nIncludeKpi\x12\x1d.monitoring.IncludeKpiRequest\x1a\x0e.context.Empty\"\x00\x12=\n\nMonitorKpi\x12\x1d.monitoring.MonitorKpiRequest\x1a\x0e.context.Empty\"\x00\x12\x44\n\x11MonitoriDeviceKpi\x12\x1d.monitoring.MonitorKpiRequest\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') , dependencies=[context__pb2.DESCRIPTOR,]) @@ -54,8 +54,8 @@ _KPISAMPLETYPE = _descriptor.EnumDescriptor( ], containing_type=None, serialized_options=None, - serialized_start=642, - serialized_end=762, + serialized_start=865, + serialized_end=985, ) _sym_db.RegisterEnumDescriptor(_KPISAMPLETYPE) @@ -113,6 +113,96 @@ _KPIREQUEST = _descriptor.Descriptor( ) +_MONITORKPIREQUEST = _descriptor.Descriptor( + name='MonitorKpiRequest', + full_name='monitoring.MonitorKpiRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='kpi_id', full_name='monitoring.MonitorKpiRequest.kpi_id', index=0, + number=1, 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='Connexion_time_s', full_name='monitoring.MonitorKpiRequest.Connexion_time_s', index=1, + number=2, type=13, cpp_type=3, 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='sample_rate_ms', full_name='monitoring.MonitorKpiRequest.sample_rate_ms', index=2, + number=3, type=13, cpp_type=3, 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=175, + serialized_end=279, +) + + +_INCLUDEKPIREQUEST = _descriptor.Descriptor( + name='IncludeKpiRequest', + full_name='monitoring.IncludeKpiRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='kpi_id', full_name='monitoring.IncludeKpiRequest.kpi_id', index=0, + number=1, 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='time_stamp', full_name='monitoring.IncludeKpiRequest.time_stamp', index=1, + number=2, 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='kpi_value', full_name='monitoring.IncludeKpiRequest.kpi_value', index=2, + number=3, 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=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=281, + serialized_end=396, +) + + _KPI = _descriptor.Descriptor( name='Kpi', full_name='monitoring.Kpi', @@ -174,8 +264,8 @@ _KPI = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=176, - serialized_end=390, + serialized_start=399, + serialized_end=613, ) @@ -205,8 +295,8 @@ _KPIID = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=392, - serialized_end=430, + serialized_start=615, + serialized_end=653, ) @@ -243,8 +333,8 @@ _KPIDEVICE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=432, - serialized_end=516, + serialized_start=655, + serialized_end=739, ) @@ -274,8 +364,8 @@ _KPILIST = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=518, - serialized_end=561, + serialized_start=741, + serialized_end=784, ) @@ -322,12 +412,15 @@ _KPIVALUE = _descriptor.Descriptor( name='value', full_name='monitoring.KpiValue.value', index=0, containing_type=None, fields=[]), ], - serialized_start=563, - serialized_end=640, + serialized_start=786, + serialized_end=863, ) _KPIREQUEST.fields_by_name['device_id'].message_type = context__pb2._DEVICEID _KPIREQUEST.fields_by_name['kpi_sample_type'].enum_type = _KPISAMPLETYPE +_MONITORKPIREQUEST.fields_by_name['kpi_id'].message_type = _KPIID +_INCLUDEKPIREQUEST.fields_by_name['kpi_id'].message_type = _KPIID +_INCLUDEKPIREQUEST.fields_by_name['kpi_value'].message_type = _KPIVALUE _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 @@ -346,6 +439,8 @@ _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['MonitorKpiRequest'] = _MONITORKPIREQUEST +DESCRIPTOR.message_types_by_name['IncludeKpiRequest'] = _INCLUDEKPIREQUEST DESCRIPTOR.message_types_by_name['Kpi'] = _KPI DESCRIPTOR.message_types_by_name['KpiId'] = _KPIID DESCRIPTOR.message_types_by_name['KpiDevice'] = _KPIDEVICE @@ -361,6 +456,20 @@ KpiRequest = _reflection.GeneratedProtocolMessageType('KpiRequest', (_message.Me )) _sym_db.RegisterMessage(KpiRequest) +MonitorKpiRequest = _reflection.GeneratedProtocolMessageType('MonitorKpiRequest', (_message.Message,), dict( + DESCRIPTOR = _MONITORKPIREQUEST, + __module__ = 'monitoring_pb2' + # @@protoc_insertion_point(class_scope:monitoring.MonitorKpiRequest) + )) +_sym_db.RegisterMessage(MonitorKpiRequest) + +IncludeKpiRequest = _reflection.GeneratedProtocolMessageType('IncludeKpiRequest', (_message.Message,), dict( + DESCRIPTOR = _INCLUDEKPIREQUEST, + __module__ = 'monitoring_pb2' + # @@protoc_insertion_point(class_scope:monitoring.IncludeKpiRequest) + )) +_sym_db.RegisterMessage(IncludeKpiRequest) + Kpi = _reflection.GeneratedProtocolMessageType('Kpi', (_message.Message,), dict( DESCRIPTOR = _KPI, __module__ = 'monitoring_pb2' @@ -404,31 +513,49 @@ _MONITORINGSERVICE = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, - serialized_start=765, - serialized_end=1006, + serialized_start=988, + serialized_end=1372, methods=[ _descriptor.MethodDescriptor( - name='IncludeKpi', - full_name='monitoring.MonitoringService.IncludeKpi', + name='CreateKpi', + full_name='monitoring.MonitoringService.CreateKpi', index=0, containing_service=None, input_type=_KPIREQUEST, output_type=_KPIID, serialized_options=None, ), + _descriptor.MethodDescriptor( + name='IncludeKpi', + full_name='monitoring.MonitoringService.IncludeKpi', + index=1, + containing_service=None, + input_type=_INCLUDEKPIREQUEST, + output_type=context__pb2._EMPTY, + serialized_options=None, + ), _descriptor.MethodDescriptor( name='MonitorKpi', full_name='monitoring.MonitoringService.MonitorKpi', - index=1, + index=2, containing_service=None, - input_type=_KPIID, - output_type=_KPI, + input_type=_MONITORKPIREQUEST, + output_type=context__pb2._EMPTY, + serialized_options=None, + ), + _descriptor.MethodDescriptor( + name='MonitoriDeviceKpi', + full_name='monitoring.MonitoringService.MonitoriDeviceKpi', + index=3, + containing_service=None, + input_type=_MONITORKPIREQUEST, + output_type=context__pb2._EMPTY, serialized_options=None, ), _descriptor.MethodDescriptor( name='GetStreamKpi', full_name='monitoring.MonitoringService.GetStreamKpi', - index=2, + index=4, containing_service=None, input_type=_KPIID, output_type=_KPI, @@ -437,7 +564,7 @@ _MONITORINGSERVICE = _descriptor.ServiceDescriptor( _descriptor.MethodDescriptor( name='GetInstantKpi', full_name='monitoring.MonitoringService.GetInstantKpi', - index=3, + index=5, containing_service=None, input_type=_KPIID, output_type=_KPI, diff --git a/src/monitoring/proto/monitoring_pb2_grpc.py b/src/monitoring/proto/monitoring_pb2_grpc.py index 045a6a790..13fadc3eb 100644 --- a/src/monitoring/proto/monitoring_pb2_grpc.py +++ b/src/monitoring/proto/monitoring_pb2_grpc.py @@ -1,6 +1,7 @@ # 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 @@ -14,15 +15,25 @@ class MonitoringServiceStub(object): Args: channel: A grpc.Channel. """ - self.IncludeKpi = channel.unary_unary( - '/monitoring.MonitoringService/IncludeKpi', + self.CreateKpi = channel.unary_unary( + '/monitoring.MonitoringService/CreateKpi', request_serializer=monitoring__pb2.KpiRequest.SerializeToString, response_deserializer=monitoring__pb2.KpiId.FromString, ) + self.IncludeKpi = channel.unary_unary( + '/monitoring.MonitoringService/IncludeKpi', + request_serializer=monitoring__pb2.IncludeKpiRequest.SerializeToString, + response_deserializer=context__pb2.Empty.FromString, + ) self.MonitorKpi = channel.unary_unary( '/monitoring.MonitoringService/MonitorKpi', - request_serializer=monitoring__pb2.KpiId.SerializeToString, - response_deserializer=monitoring__pb2.Kpi.FromString, + request_serializer=monitoring__pb2.MonitorKpiRequest.SerializeToString, + response_deserializer=context__pb2.Empty.FromString, + ) + self.MonitoriDeviceKpi = channel.unary_unary( + '/monitoring.MonitoringService/MonitoriDeviceKpi', + request_serializer=monitoring__pb2.MonitorKpiRequest.SerializeToString, + response_deserializer=context__pb2.Empty.FromString, ) self.GetStreamKpi = channel.unary_stream( '/monitoring.MonitoringService/GetStreamKpi', @@ -40,6 +51,13 @@ class MonitoringServiceServicer(object): # missing associated documentation comment in .proto file pass + def CreateKpi(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def IncludeKpi(self, request, context): # missing associated documentation comment in .proto file pass @@ -54,6 +72,13 @@ class MonitoringServiceServicer(object): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def MonitoriDeviceKpi(self, request, context): + # missing associated documentation comment in .proto file + pass + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def GetStreamKpi(self, request, context): # missing associated documentation comment in .proto file pass @@ -71,15 +96,25 @@ class MonitoringServiceServicer(object): def add_MonitoringServiceServicer_to_server(servicer, server): rpc_method_handlers = { - 'IncludeKpi': grpc.unary_unary_rpc_method_handler( - servicer.IncludeKpi, + 'CreateKpi': grpc.unary_unary_rpc_method_handler( + servicer.CreateKpi, request_deserializer=monitoring__pb2.KpiRequest.FromString, response_serializer=monitoring__pb2.KpiId.SerializeToString, ), + 'IncludeKpi': grpc.unary_unary_rpc_method_handler( + servicer.IncludeKpi, + request_deserializer=monitoring__pb2.IncludeKpiRequest.FromString, + response_serializer=context__pb2.Empty.SerializeToString, + ), 'MonitorKpi': grpc.unary_unary_rpc_method_handler( servicer.MonitorKpi, - request_deserializer=monitoring__pb2.KpiId.FromString, - response_serializer=monitoring__pb2.Kpi.SerializeToString, + request_deserializer=monitoring__pb2.MonitorKpiRequest.FromString, + response_serializer=context__pb2.Empty.SerializeToString, + ), + 'MonitoriDeviceKpi': grpc.unary_unary_rpc_method_handler( + servicer.MonitoriDeviceKpi, + request_deserializer=monitoring__pb2.MonitorKpiRequest.FromString, + response_serializer=context__pb2.Empty.SerializeToString, ), 'GetStreamKpi': grpc.unary_stream_rpc_method_handler( servicer.GetStreamKpi, -- GitLab