Commit 2875fb3a authored by Ricard Vilalta's avatar Ricard Vilalta
Browse files

Update monitoring.proto

parent f205c53a
Loading
Loading
Loading
Loading
+123 −24
Original line number Diff line number Diff line
@@ -20,11 +20,25 @@ import "kpi_sample_types.proto";

service MonitoringService {
  rpc CreateKpi                (KpiDescriptor        )     returns (KpiId            ) {}
  rpc EditKpiDescriptor        (EditedKpiDescriptor  )     returns (context.Empty    ) {}
  rpc DeleteKpi                (KpiId                )     returns (context.Empty    ) {}
  rpc GetKpiDescriptorList     (context.Empty        )     returns (KpiDescriptorList) {}
  rpc CreateBundleKpi          (BundleKpiDescriptor  )     returns (KpiId            ) {}
  rpc GetKpiDescriptor         (KpiId                )     returns (KpiDescriptor    ) {}
  rpc IncludeKpi               (Kpi                  )     returns (context.Empty    ) {}
  rpc MonitorKpi               (MonitorKpiRequest    )     returns (context.Empty    ) {}
  rpc GetStreamKpi    (KpiId            ) returns (stream Kpi   ) {}
  rpc GetInstantKpi   (KpiId            ) returns (Kpi          ) {}
  rpc QueryKpiData             (KpiQuery             )     returns (KpiList          ) {}
  rpc SubscribeKpi             (SubsDescriptor       )     returns (stream KpiList   ) {}
  rpc GetSubsDescriptor        (SubscriptionID       )     returns (SubsDescriptor   ) {}
  rpc GetSubscriptions         (context.Empty        )     returns (SubsIDList       ) {}
  rpc EditKpiSubscription      (SubsDescriptor       )     returns (context.Empty    ) {}
  rpc CreateKpiAlarm           (AlarmDescriptor      )     returns ( AlarmID ) {}
  rpc EditKpiAlarm             (AlarmDescriptor      )     returns (context.Empty    ) {}
  rpc GetAlarms                (context.Empty        )     returns (AlarmIDList      ) {}
  rpc GetAlarmDescriptor       (AlarmID              )     returns (AlarmDescriptor  ) {}
  rpc GetAlarmResponseStream   (AlarmID              )     returns (stream AlarmResponse ) {}
  //  rpc GetStreamKpi            (KpiId                )     returns (stream Kpi       ) {}
  //  rpc GetInstantKpi           (KpiId                )     returns (KpiList          ) {}
}

message KpiDescriptor {
@@ -33,13 +47,45 @@ message KpiDescriptor {
  context.DeviceId device_id                      = 3;
  context.EndPointId endpoint_id                  = 4;
  context.ServiceId  service_id                   = 5;
//  context.SliceId    slice_id    = 6;
  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;
  kpi_sample_types.KpiSampleType kpi_sample_type  = 4;
  context.DeviceId device_id                      = 5;
  context.EndPointId endpoint_id                  = 6;
  context.ServiceId  service_id                   = 7;
  context.SliceId    slice_id                     = 8;
}

message MonitorKpiRequest {
  KpiId kpi_id              = 1;
  float sampling_duration_s = 2;
  float sampling_interval_s = 3;
  float monitoring_window_s = 2;
  float sampling_rate_s     = 3;
  // Pending add field to reflect Available Device Protocols
}

message KpiQuery {
  repeated KpiId kpi_id     = 1;
  float monitoring_window_s = 2;
  float sampling_rate_s     = 3;
  uint32 last_n_samples     = 4;  // used when you want something like "get the last N many samples
  string start_date         = 5;  // used when you want something like "get the samples since X date/time"
  string end_date           = 6;  // used when you want something like "get the samples until X date/time"
  // Pending add field to reflect Available Device Protocols
}

message KpiId {
@@ -49,7 +95,12 @@ message KpiId {
message Kpi {
  KpiId kpi_id        = 1;
  string timestamp    = 2;
  KpiValue kpi_value = 4;
  KpiValue kpi_value  = 3;
}

message KpiValueRange {
  KpiValue kpiMinValue = 1;
  KpiValue kpiMaxValue = 2;
}

message KpiValue {
@@ -64,3 +115,51 @@ message KpiValue {
message KpiList {
    repeated Kpi kpi_list = 1;
}

message KpiDescriptorList {
    repeated KpiDescriptor kpi_descriptor_list = 1;
}

message SubsDescriptor{
  KpiId kpi_id              = 1;
  float sampling_duration_s = 2;
  float sampling_interval_s = 3;
  string start_date         = 4;  // used when you want something like "get the samples since X date/time"
  string end_date           = 5;  // used when you want something like "get the samples until X date/time"
  // Pending add field to reflect Available Device Protocols
}

message SubscriptionID {
  context.Uuid subs_id = 1;
}

message SubsResponse {
  SubscriptionID subs_id    = 1;
  repeated KpiList kpi_list = 2;
}

message SubsIDList {
    repeated SubscriptionID subs_list = 1;
}

message AlarmDescriptor {
  string alarm_description      = 1;
  string name                   = 2;
  KpiId kpi_id                  = 3;
  KpiValueRange kpi_value_range = 4;
  string timestamp              = 5;
}

message AlarmID{
  context.Uuid alarm_id = 1;
}

message AlarmResponse {
  AlarmID alarm_id    = 1;
  string text         = 2;
  KpiValue kpi_value  = 3;
}

message AlarmIDList {
    repeated AlarmID alarm_list = 1;
}