Loading proto/monitoring.proto +21 −39 Original line number Diff line number Diff line Loading @@ -19,22 +19,18 @@ import "context.proto"; import "kpi_sample_types.proto"; service MonitoringService { rpc CreateKpi (KpiDescriptor ) returns (KpiId ) {} rpc EditKpiDescriptor (EditedKpiDescriptor) returns (context.Empty ) {} rpc SetKpi (KpiDescriptor ) returns (KpiId ) {} rpc DeleteKpi (KpiId ) returns (context.Empty ) {} rpc GetKpiDescriptor (KpiId ) returns (KpiDescriptor ) {} rpc GetKpiDescriptorList (context.Empty ) returns (KpiDescriptorList ) {} rpc CreateBundleKpi (BundleKpiDescriptor) returns (KpiId ) {} rpc IncludeKpi (Kpi ) returns (context.Empty ) {} rpc MonitorKpi (MonitorKpiRequest ) returns (context.Empty ) {} rpc QueryKpiData (KpiQuery ) returns (KpiList ) {} rpc SubscribeKpi (SubsDescriptor ) returns (stream KpiList ) {} rpc SetKpiSubscription (SubsDescriptor ) returns (stream KpiList ) {} rpc GetSubsDescriptor (SubscriptionID ) returns (SubsDescriptor ) {} rpc GetSubscriptions (context.Empty ) returns (SubsIDList ) {} rpc DeleteSubscription (SubscriptionID ) returns (context.Empty ) {} rpc EditKpiSubscription (SubsDescriptor ) returns (context.Empty ) {} rpc CreateKpiAlarm (AlarmDescriptor ) returns (AlarmID ) {} rpc EditKpiAlarm (AlarmDescriptor ) returns (context.Empty ) {} rpc SetKpiAlarm (AlarmDescriptor ) returns (AlarmID ) {} rpc GetAlarms (context.Empty ) returns (AlarmIDList ) {} rpc GetAlarmDescriptor (AlarmID ) returns (AlarmDescriptor ) {} rpc GetAlarmResponseStream(AlarmSubscription ) returns (stream AlarmResponse) {} Loading @@ -44,25 +40,6 @@ service MonitoringService { } message KpiDescriptor { string kpi_description = 1; kpi_sample_types.KpiSampleType kpi_sample_type = 2; context.DeviceId device_id = 3; context.EndPointId endpoint_id = 4; context.ServiceId service_id = 5; context.SliceId slice_id = 6; } message BundleKpiDescriptor { string kpi_description = 1; repeated KpiId kpi_id_list = 2; kpi_sample_types.KpiSampleType kpi_sample_type = 3; context.DeviceId device_id = 4; context.EndPointId endpoint_id = 5; context.ServiceId service_id = 6; context.SliceId slice_id = 7; } message EditedKpiDescriptor { KpiId kpi_id = 1; string kpi_description = 2; repeated KpiId kpi_id_list = 3; Loading Loading @@ -103,7 +80,9 @@ message Kpi { message KpiValueRange { KpiValue kpiMinValue = 1; KpiValue kpiMaxValue = 2; bool inRange = 3; // by default False bool inRange = 3; // by default True bool includeMinValue = 4; // False is outside the interval bool includeMaxValue = 5; // False is outside the interval } message KpiValue { Loading @@ -118,6 +97,7 @@ message KpiValue { } } message KpiList { repeated Kpi kpi_list = 1; } Loading @@ -127,11 +107,12 @@ message KpiDescriptorList { } message SubsDescriptor{ KpiId kpi_id = 1; float sampling_duration_s = 2; float sampling_interval_s = 3; context.Timestamp start_timestamp = 4; // used when you want something like "get the samples since X date/time" context.Timestamp end_timestamp = 5; // used when you want something like "get the samples until X date/time" SubscriptionID subs_id = 1; KpiId kpi_id = 2; float sampling_duration_s = 3; float sampling_interval_s = 4; context.Timestamp start_timestamp = 5; // used when you want something like "get the samples since X date/time" context.Timestamp end_timestamp = 6; // used when you want something like "get the samples until X date/time" // Pending add field to reflect Available Device Protocols } Loading @@ -149,11 +130,12 @@ message SubsIDList { } message AlarmDescriptor { string alarm_description = 1; string name = 2; KpiId kpi_id = 3; KpiValueRange kpi_value_range = 4; context.Timestamp timestamp = 5; AlarmID alarm_id = 1; string alarm_description = 2; string name = 3; repeated KpiId kpi_id = 4; repeated KpiValueRange kpi_value_range = 5; context.Timestamp timestamp = 6; } message AlarmID{ Loading src/monitoring/client/MonitoringClient.py +10 −38 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ from common.Settings import get_service_host, get_service_port_grpc from common.tools.client.RetryDecorator import retry, delay_exponential from common.tools.grpc.Tools import grpc_message_to_json_string from common.proto.context_pb2 import Empty from common.proto.monitoring_pb2 import Kpi, KpiDescriptor, KpiId, MonitorKpiRequest, EditedKpiDescriptor, \ KpiDescriptorList, BundleKpiDescriptor, KpiQuery, KpiList, SubsDescriptor, SubscriptionID, SubsIDList, \ from common.proto.monitoring_pb2 import Kpi, KpiDescriptor, KpiId, MonitorKpiRequest, \ KpiDescriptorList, KpiQuery, KpiList, SubsDescriptor, SubscriptionID, SubsIDList, \ AlarmDescriptor, AlarmID, AlarmIDList, AlarmResponse, AlarmSubscription from common.proto.monitoring_pb2_grpc import MonitoringServiceStub Loading Loading @@ -51,17 +51,10 @@ class MonitoringClient: self.stub = None @RETRY_DECORATOR def CreateKpi(self, request : KpiDescriptor) -> KpiId: LOGGER.debug('CreateKpi: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.CreateKpi(request) LOGGER.debug('CreateKpi result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def EditKpiDescriptor(self, request : EditedKpiDescriptor) -> Empty: LOGGER.debug('EditKpiDescriptor: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.EditKpiDescriptor(request) LOGGER.info('EditKpiDescriptor result: {:s}'.format(grpc_message_to_json_string(response))) def SetKpi(self, request : KpiDescriptor) -> KpiId: LOGGER.debug('SetKpi: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.SetKpi(request) LOGGER.debug('SetKpi result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR Loading @@ -85,13 +78,6 @@ class MonitoringClient: LOGGER.debug('GetKpiDescriptorList result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def CreateBundleKpi(self, request : BundleKpiDescriptor) -> KpiId: LOGGER.debug('CreateBundleKpi: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.CreateBundleKpi(request) LOGGER.debug('CreateBundleKpi result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def IncludeKpi(self, request : Kpi) -> Empty: LOGGER.debug('IncludeKpi: {:s}'.format(grpc_message_to_json_string(request))) Loading Loading @@ -142,24 +128,10 @@ class MonitoringClient: return response @RETRY_DECORATOR def EditKpiSubscription(self, request : SubsDescriptor) -> Empty: LOGGER.debug('EditKpiSubscription: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.GetSubscriptions(request) LOGGER.debug('EditKpiSubscription result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def CreateKpiAlarm(self, request : AlarmDescriptor) -> AlarmID: LOGGER.debug('CreateKpiAlarm: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.CreateKpiAlarm(request) LOGGER.debug('CreateKpiAlarm result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def EditKpiAlarm(self, request : AlarmDescriptor) -> Empty: LOGGER.debug('EditKpiAlarm: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.EditKpiAlarm(request) LOGGER.debug('EditKpiAlarm result: {:s}'.format(grpc_message_to_json_string(response))) def SetKpiAlarm(self, request : AlarmDescriptor) -> AlarmID: LOGGER.debug('SetKpiAlarm: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.SetKpiAlarm(request) LOGGER.debug('SetKpiAlarm result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR Loading src/monitoring/service/MonitoringServiceServicerImpl.py +13 −61 Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ from common.proto.device_pb2 import MonitoringSettings from common.proto.kpi_sample_types_pb2 import KpiSampleType from common.proto.monitoring_pb2_grpc import MonitoringServiceServicer from common.proto.monitoring_pb2 import AlarmResponse, AlarmDescriptor, AlarmIDList, SubsIDList, KpiId, \ KpiDescriptor, KpiList, KpiQuery, SubsDescriptor, SubscriptionID, AlarmID, EditedKpiDescriptor, KpiDescriptorList, \ BundleKpiDescriptor, MonitorKpiRequest, Kpi, AlarmSubscription KpiDescriptor, KpiList, KpiQuery, SubsDescriptor, SubscriptionID, AlarmID, KpiDescriptorList, \ MonitorKpiRequest, Kpi, AlarmSubscription from common.rpc_method_wrapper.ServiceExceptions import ServiceException from common.tools.timestamp.Converters import timestamp_float_to_string Loading Loading @@ -57,15 +57,15 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer): self.sql_db = SqliteTools.SQLite('monitoring.db') self.deviceClient = DeviceClient(host=DEVICESERVICE_SERVICE_HOST, port=DEVICESERVICE_SERVICE_PORT_GRPC) # instantiate the client # Create metrics_db client # Set metrics_db client self.metrics_db = MetricsDBTools.MetricsDB(METRICSDB_HOSTNAME,METRICSDB_ILP_PORT,METRICSDB_REST_PORT,METRICSDB_TABLE) # CreateKpi (CreateKpiRequest) returns (KpiId) {} def CreateKpi( # SetKpi (SetKpiRequest) returns (KpiId) {} def SetKpi( self, request : KpiDescriptor, grpc_context : grpc.ServicerContext ) -> KpiId: # CREATEKPI_COUNTER_STARTED.inc() LOGGER.info('CreateKpi') LOGGER.info('SetKpi') try: # Here the code to create a sqlite query to crete a KPI and return a KpiID kpi_id = KpiId() Loading @@ -84,26 +84,14 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer): # CREATEKPI_COUNTER_COMPLETED.inc() return kpi_id except ServiceException as e: LOGGER.exception('CreateKpi exception') LOGGER.exception('SetKpi exception') # CREATEKPI_COUNTER_FAILED.inc() grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('CreateKpi exception') LOGGER.exception('SetKpi exception') # CREATEKPI_COUNTER_FAILED.inc() grpc_context.abort(grpc.StatusCode.INTERNAL, str(e)) def EditKpiDescriptor ( self, request : EditedKpiDescriptor, grpc_context : grpc.ServicerContext) -> Empty: LOGGER.info('EditKpiDescriptor') try: # TBC return Empty() except ServiceException as e: LOGGER.exception('EditKpiDescriptor exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('EditKpiDescriptor exception') def DeleteKpi ( self, request : KpiId, grpc_context : grpc.ServicerContext) -> Empty: LOGGER.info('DeleteKpi') Loading @@ -128,25 +116,12 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer): except Exception as e: # pragma: no cover LOGGER.exception('GetKpiDescriptorList exception') def CreateBundleKpi ( self, request : BundleKpiDescriptor, grpc_context : grpc.ServicerContext) -> KpiId: LOGGER.info('CreateBundleKpi') try: # TBC return KpiId() except ServiceException as e: LOGGER.exception('CreateBundleKpi exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('CreateBundleKpi exception') # rpc MonitorKpi (MonitorKpiRequest) returns (context.Empty) {} def MonitorKpi ( self, request : MonitorKpiRequest, grpc_context : grpc.ServicerContext) -> Empty: LOGGER.info('MonitorKpi') try: # Creates the request to send to the device service # Sets the request to send to the device service monitor_device_request = MonitoringSettings() kpiDescriptor = self.GetKpiDescriptor(request.kpi_id, grpc_context) Loading Loading @@ -300,41 +275,18 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer): except Exception as e: # pragma: no cover LOGGER.exception('DeleteSubscription exception') def EditKpiSubscription ( self, request : SubsDescriptor, grpc_context : grpc.ServicerContext) -> Empty: def SetKpiAlarm ( self, request : AlarmDescriptor, grpc_context : grpc.ServicerContext) -> AlarmResponse: LOGGER.info('EditKpiSubscription') try: # TBC return Empty() except ServiceException as e: LOGGER.exception('EditKpiSubscription exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('EditKpiSubscription exception') def CreateKpiAlarm ( self, request : AlarmDescriptor, grpc_context : grpc.ServicerContext) -> AlarmResponse: LOGGER.info('CreateKpiAlarm') LOGGER.info('SetKpiAlarm') try: # TBC return AlarmResponse() except ServiceException as e: LOGGER.exception('CreateKpiAlarm exception') LOGGER.exception('SetKpiAlarm exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('CreateKpiAlarm exception') LOGGER.exception('SetKpiAlarm exception') def EditKpiAlarm ( self, request : AlarmDescriptor, grpc_context : grpc.ServicerContext) -> Empty: LOGGER.info('EditKpiAlarm') try: # TBC return Empty() except ServiceException as e: LOGGER.exception('EditKpiAlarm exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('EditKpiAlarm exception') def GetAlarms ( self, request : Empty, grpc_context : grpc.ServicerContext) -> AlarmIDList: Loading Loading
proto/monitoring.proto +21 −39 Original line number Diff line number Diff line Loading @@ -19,22 +19,18 @@ import "context.proto"; import "kpi_sample_types.proto"; service MonitoringService { rpc CreateKpi (KpiDescriptor ) returns (KpiId ) {} rpc EditKpiDescriptor (EditedKpiDescriptor) returns (context.Empty ) {} rpc SetKpi (KpiDescriptor ) returns (KpiId ) {} rpc DeleteKpi (KpiId ) returns (context.Empty ) {} rpc GetKpiDescriptor (KpiId ) returns (KpiDescriptor ) {} rpc GetKpiDescriptorList (context.Empty ) returns (KpiDescriptorList ) {} rpc CreateBundleKpi (BundleKpiDescriptor) returns (KpiId ) {} rpc IncludeKpi (Kpi ) returns (context.Empty ) {} rpc MonitorKpi (MonitorKpiRequest ) returns (context.Empty ) {} rpc QueryKpiData (KpiQuery ) returns (KpiList ) {} rpc SubscribeKpi (SubsDescriptor ) returns (stream KpiList ) {} rpc SetKpiSubscription (SubsDescriptor ) returns (stream KpiList ) {} rpc GetSubsDescriptor (SubscriptionID ) returns (SubsDescriptor ) {} rpc GetSubscriptions (context.Empty ) returns (SubsIDList ) {} rpc DeleteSubscription (SubscriptionID ) returns (context.Empty ) {} rpc EditKpiSubscription (SubsDescriptor ) returns (context.Empty ) {} rpc CreateKpiAlarm (AlarmDescriptor ) returns (AlarmID ) {} rpc EditKpiAlarm (AlarmDescriptor ) returns (context.Empty ) {} rpc SetKpiAlarm (AlarmDescriptor ) returns (AlarmID ) {} rpc GetAlarms (context.Empty ) returns (AlarmIDList ) {} rpc GetAlarmDescriptor (AlarmID ) returns (AlarmDescriptor ) {} rpc GetAlarmResponseStream(AlarmSubscription ) returns (stream AlarmResponse) {} Loading @@ -44,25 +40,6 @@ service MonitoringService { } message KpiDescriptor { string kpi_description = 1; kpi_sample_types.KpiSampleType kpi_sample_type = 2; context.DeviceId device_id = 3; context.EndPointId endpoint_id = 4; context.ServiceId service_id = 5; context.SliceId slice_id = 6; } message BundleKpiDescriptor { string kpi_description = 1; repeated KpiId kpi_id_list = 2; kpi_sample_types.KpiSampleType kpi_sample_type = 3; context.DeviceId device_id = 4; context.EndPointId endpoint_id = 5; context.ServiceId service_id = 6; context.SliceId slice_id = 7; } message EditedKpiDescriptor { KpiId kpi_id = 1; string kpi_description = 2; repeated KpiId kpi_id_list = 3; Loading Loading @@ -103,7 +80,9 @@ message Kpi { message KpiValueRange { KpiValue kpiMinValue = 1; KpiValue kpiMaxValue = 2; bool inRange = 3; // by default False bool inRange = 3; // by default True bool includeMinValue = 4; // False is outside the interval bool includeMaxValue = 5; // False is outside the interval } message KpiValue { Loading @@ -118,6 +97,7 @@ message KpiValue { } } message KpiList { repeated Kpi kpi_list = 1; } Loading @@ -127,11 +107,12 @@ message KpiDescriptorList { } message SubsDescriptor{ KpiId kpi_id = 1; float sampling_duration_s = 2; float sampling_interval_s = 3; context.Timestamp start_timestamp = 4; // used when you want something like "get the samples since X date/time" context.Timestamp end_timestamp = 5; // used when you want something like "get the samples until X date/time" SubscriptionID subs_id = 1; KpiId kpi_id = 2; float sampling_duration_s = 3; float sampling_interval_s = 4; context.Timestamp start_timestamp = 5; // used when you want something like "get the samples since X date/time" context.Timestamp end_timestamp = 6; // used when you want something like "get the samples until X date/time" // Pending add field to reflect Available Device Protocols } Loading @@ -149,11 +130,12 @@ message SubsIDList { } message AlarmDescriptor { string alarm_description = 1; string name = 2; KpiId kpi_id = 3; KpiValueRange kpi_value_range = 4; context.Timestamp timestamp = 5; AlarmID alarm_id = 1; string alarm_description = 2; string name = 3; repeated KpiId kpi_id = 4; repeated KpiValueRange kpi_value_range = 5; context.Timestamp timestamp = 6; } message AlarmID{ Loading
src/monitoring/client/MonitoringClient.py +10 −38 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ from common.Settings import get_service_host, get_service_port_grpc from common.tools.client.RetryDecorator import retry, delay_exponential from common.tools.grpc.Tools import grpc_message_to_json_string from common.proto.context_pb2 import Empty from common.proto.monitoring_pb2 import Kpi, KpiDescriptor, KpiId, MonitorKpiRequest, EditedKpiDescriptor, \ KpiDescriptorList, BundleKpiDescriptor, KpiQuery, KpiList, SubsDescriptor, SubscriptionID, SubsIDList, \ from common.proto.monitoring_pb2 import Kpi, KpiDescriptor, KpiId, MonitorKpiRequest, \ KpiDescriptorList, KpiQuery, KpiList, SubsDescriptor, SubscriptionID, SubsIDList, \ AlarmDescriptor, AlarmID, AlarmIDList, AlarmResponse, AlarmSubscription from common.proto.monitoring_pb2_grpc import MonitoringServiceStub Loading Loading @@ -51,17 +51,10 @@ class MonitoringClient: self.stub = None @RETRY_DECORATOR def CreateKpi(self, request : KpiDescriptor) -> KpiId: LOGGER.debug('CreateKpi: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.CreateKpi(request) LOGGER.debug('CreateKpi result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def EditKpiDescriptor(self, request : EditedKpiDescriptor) -> Empty: LOGGER.debug('EditKpiDescriptor: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.EditKpiDescriptor(request) LOGGER.info('EditKpiDescriptor result: {:s}'.format(grpc_message_to_json_string(response))) def SetKpi(self, request : KpiDescriptor) -> KpiId: LOGGER.debug('SetKpi: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.SetKpi(request) LOGGER.debug('SetKpi result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR Loading @@ -85,13 +78,6 @@ class MonitoringClient: LOGGER.debug('GetKpiDescriptorList result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def CreateBundleKpi(self, request : BundleKpiDescriptor) -> KpiId: LOGGER.debug('CreateBundleKpi: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.CreateBundleKpi(request) LOGGER.debug('CreateBundleKpi result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def IncludeKpi(self, request : Kpi) -> Empty: LOGGER.debug('IncludeKpi: {:s}'.format(grpc_message_to_json_string(request))) Loading Loading @@ -142,24 +128,10 @@ class MonitoringClient: return response @RETRY_DECORATOR def EditKpiSubscription(self, request : SubsDescriptor) -> Empty: LOGGER.debug('EditKpiSubscription: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.GetSubscriptions(request) LOGGER.debug('EditKpiSubscription result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def CreateKpiAlarm(self, request : AlarmDescriptor) -> AlarmID: LOGGER.debug('CreateKpiAlarm: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.CreateKpiAlarm(request) LOGGER.debug('CreateKpiAlarm result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR def EditKpiAlarm(self, request : AlarmDescriptor) -> Empty: LOGGER.debug('EditKpiAlarm: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.EditKpiAlarm(request) LOGGER.debug('EditKpiAlarm result: {:s}'.format(grpc_message_to_json_string(response))) def SetKpiAlarm(self, request : AlarmDescriptor) -> AlarmID: LOGGER.debug('SetKpiAlarm: {:s}'.format(grpc_message_to_json_string(request))) response = self.stub.SetKpiAlarm(request) LOGGER.debug('SetKpiAlarm result: {:s}'.format(grpc_message_to_json_string(response))) return response @RETRY_DECORATOR Loading
src/monitoring/service/MonitoringServiceServicerImpl.py +13 −61 Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ from common.proto.device_pb2 import MonitoringSettings from common.proto.kpi_sample_types_pb2 import KpiSampleType from common.proto.monitoring_pb2_grpc import MonitoringServiceServicer from common.proto.monitoring_pb2 import AlarmResponse, AlarmDescriptor, AlarmIDList, SubsIDList, KpiId, \ KpiDescriptor, KpiList, KpiQuery, SubsDescriptor, SubscriptionID, AlarmID, EditedKpiDescriptor, KpiDescriptorList, \ BundleKpiDescriptor, MonitorKpiRequest, Kpi, AlarmSubscription KpiDescriptor, KpiList, KpiQuery, SubsDescriptor, SubscriptionID, AlarmID, KpiDescriptorList, \ MonitorKpiRequest, Kpi, AlarmSubscription from common.rpc_method_wrapper.ServiceExceptions import ServiceException from common.tools.timestamp.Converters import timestamp_float_to_string Loading Loading @@ -57,15 +57,15 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer): self.sql_db = SqliteTools.SQLite('monitoring.db') self.deviceClient = DeviceClient(host=DEVICESERVICE_SERVICE_HOST, port=DEVICESERVICE_SERVICE_PORT_GRPC) # instantiate the client # Create metrics_db client # Set metrics_db client self.metrics_db = MetricsDBTools.MetricsDB(METRICSDB_HOSTNAME,METRICSDB_ILP_PORT,METRICSDB_REST_PORT,METRICSDB_TABLE) # CreateKpi (CreateKpiRequest) returns (KpiId) {} def CreateKpi( # SetKpi (SetKpiRequest) returns (KpiId) {} def SetKpi( self, request : KpiDescriptor, grpc_context : grpc.ServicerContext ) -> KpiId: # CREATEKPI_COUNTER_STARTED.inc() LOGGER.info('CreateKpi') LOGGER.info('SetKpi') try: # Here the code to create a sqlite query to crete a KPI and return a KpiID kpi_id = KpiId() Loading @@ -84,26 +84,14 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer): # CREATEKPI_COUNTER_COMPLETED.inc() return kpi_id except ServiceException as e: LOGGER.exception('CreateKpi exception') LOGGER.exception('SetKpi exception') # CREATEKPI_COUNTER_FAILED.inc() grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('CreateKpi exception') LOGGER.exception('SetKpi exception') # CREATEKPI_COUNTER_FAILED.inc() grpc_context.abort(grpc.StatusCode.INTERNAL, str(e)) def EditKpiDescriptor ( self, request : EditedKpiDescriptor, grpc_context : grpc.ServicerContext) -> Empty: LOGGER.info('EditKpiDescriptor') try: # TBC return Empty() except ServiceException as e: LOGGER.exception('EditKpiDescriptor exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('EditKpiDescriptor exception') def DeleteKpi ( self, request : KpiId, grpc_context : grpc.ServicerContext) -> Empty: LOGGER.info('DeleteKpi') Loading @@ -128,25 +116,12 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer): except Exception as e: # pragma: no cover LOGGER.exception('GetKpiDescriptorList exception') def CreateBundleKpi ( self, request : BundleKpiDescriptor, grpc_context : grpc.ServicerContext) -> KpiId: LOGGER.info('CreateBundleKpi') try: # TBC return KpiId() except ServiceException as e: LOGGER.exception('CreateBundleKpi exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('CreateBundleKpi exception') # rpc MonitorKpi (MonitorKpiRequest) returns (context.Empty) {} def MonitorKpi ( self, request : MonitorKpiRequest, grpc_context : grpc.ServicerContext) -> Empty: LOGGER.info('MonitorKpi') try: # Creates the request to send to the device service # Sets the request to send to the device service monitor_device_request = MonitoringSettings() kpiDescriptor = self.GetKpiDescriptor(request.kpi_id, grpc_context) Loading Loading @@ -300,41 +275,18 @@ class MonitoringServiceServicerImpl(MonitoringServiceServicer): except Exception as e: # pragma: no cover LOGGER.exception('DeleteSubscription exception') def EditKpiSubscription ( self, request : SubsDescriptor, grpc_context : grpc.ServicerContext) -> Empty: def SetKpiAlarm ( self, request : AlarmDescriptor, grpc_context : grpc.ServicerContext) -> AlarmResponse: LOGGER.info('EditKpiSubscription') try: # TBC return Empty() except ServiceException as e: LOGGER.exception('EditKpiSubscription exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('EditKpiSubscription exception') def CreateKpiAlarm ( self, request : AlarmDescriptor, grpc_context : grpc.ServicerContext) -> AlarmResponse: LOGGER.info('CreateKpiAlarm') LOGGER.info('SetKpiAlarm') try: # TBC return AlarmResponse() except ServiceException as e: LOGGER.exception('CreateKpiAlarm exception') LOGGER.exception('SetKpiAlarm exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('CreateKpiAlarm exception') LOGGER.exception('SetKpiAlarm exception') def EditKpiAlarm ( self, request : AlarmDescriptor, grpc_context : grpc.ServicerContext) -> Empty: LOGGER.info('EditKpiAlarm') try: # TBC return Empty() except ServiceException as e: LOGGER.exception('EditKpiAlarm exception') grpc_context.abort(e.code, e.details) except Exception as e: # pragma: no cover LOGGER.exception('EditKpiAlarm exception') def GetAlarms ( self, request : Empty, grpc_context : grpc.ServicerContext) -> AlarmIDList: Loading