实现基础的统计指标

This commit is contained in:
GoEdgeLab
2021-06-30 20:50:17 +08:00
parent 792ee549b8
commit 3bf67b8334
14 changed files with 1481 additions and 110 deletions

View File

@@ -0,0 +1,24 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_node_cluster.proto";
import "models/model_node.proto";
import "models/model_server.proto";
// 统计数据
message MetricStat {
int64 id = 1;
string hash = 2;
int64 serverId = 3;
int64 itemId = 4;
repeated string keys = 5;
float value = 6;
string time = 7;
int32 version = 8;
NodeCluster nodeCluster = 30;
Node node = 31;
Server server = 32;
}

View File

@@ -12,3 +12,8 @@ message RPCSuccess {
message RPCCountResponse {
int64 count = 1;
}
// 是否存在
message RPCExists {
bool exists = 1;
}

View File

@@ -0,0 +1,39 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_metric_stat.proto";
import "models/rpc_messages.proto";
// 指标统计数据相关服务
service MetricStatService {
// 上传统计数据
rpc uploadMetricStats (UploadMetricStatsRequest) returns (RPCSuccess);
// 计算指标数据数量
rpc countMetricStats (CountMetricStatsRequest) returns (RPCCountResponse);
// 读取单页指标数据
rpc listMetricStats (ListMetricStatsRequest) returns (ListMetricStatsResponse);
}
// 上传统计数据
message UploadMetricStatsRequest {
repeated MetricStat metricStats = 1;
}
// 计算指标数据数量
message CountMetricStatsRequest {
int64 metricItemId = 1;
}
// 读取单页指标数据
message ListMetricStatsRequest {
int64 metricItemId = 1;
int64 offset = 2;
int64 size = 3;
}
message ListMetricStatsResponse {
repeated MetricStat metricStats = 1;
}

View File

@@ -16,6 +16,9 @@ service NodeClusterMetricItemService {
// 查找集群中所有指标
rpc findAllNodeClusterMetricItems (FindAllNodeClusterMetricItemsRequest) returns (FindAllNodeClusterMetricItemsResponse);
// 检查是否已添加某个指标
rpc existsNodeClusterMetricItem (ExistsNodeClusterMetricItemRequest) returns (RPCExists);
}
// 启用某个指标
@@ -33,8 +36,15 @@ message DisableNodeClusterMetricItemRequest {
// 查找集群中所有指标
message FindAllNodeClusterMetricItemsRequest {
int64 nodeClusterId = 1;
string category = 2;
}
message FindAllNodeClusterMetricItemsResponse {
repeated MetricItem metricItems = 1;
}
// 检查是否已添加某个指标
message ExistsNodeClusterMetricItemRequest {
int64 nodeClusterId = 1;
int64 metricItemId = 2;
}