mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			191 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						||
option go_package = "./pb";
 | 
						||
 | 
						||
package pb;
 | 
						||
 | 
						||
import "models/model_server_daily_stat.proto";
 | 
						||
import "models/rpc_messages.proto";
 | 
						||
 | 
						||
// 服务统计相关服务
 | 
						||
service ServerDailyStatService {
 | 
						||
	// 上传统计
 | 
						||
	rpc uploadServerDailyStats (UploadServerDailyStatsRequest) returns (RPCSuccess);
 | 
						||
 | 
						||
	// 按小时读取统计数据
 | 
						||
	rpc findLatestServerHourlyStats (FindLatestServerHourlyStatsRequest) returns (FindLatestServerHourlyStatsResponse);
 | 
						||
 | 
						||
	// 按分钟读取统计数据,并返回秒级平均流量
 | 
						||
	rpc findLatestServerMinutelyStats (FindLatestServerMinutelyStatsRequest) returns (FindLatestServerMinutelyStatsResponse);
 | 
						||
 | 
						||
	// 读取某天的5分钟间隔流量
 | 
						||
	rpc findServer5MinutelyStatsWithDay(FindServer5MinutelyStatsWithDayRequest) returns (FindServer5MinutelyStatsWithDayResponse);
 | 
						||
 | 
						||
	// 读取最近N日的统计数据
 | 
						||
	rpc findLatestServerDailyStats (FindLatestServerDailyStatsRequest) returns (FindLatestServerDailyStatsResponse);
 | 
						||
 | 
						||
	// 读取日期段内的流量数据
 | 
						||
	rpc findServerDailyStatsBetweenDays (FindServerDailyStatsBetweenDaysRequest) returns (FindServerDailyStatsBetweenDaysResponse);
 | 
						||
 | 
						||
	// 查找单个服务当前时刻(N分钟内)统计数据
 | 
						||
	rpc sumCurrentServerDailyStats(SumCurrentServerDailyStatsRequest) returns (SumCurrentServerDailyStatsResponse);
 | 
						||
 | 
						||
	// 计算单个服务的日统计
 | 
						||
	rpc sumServerDailyStats(SumServerDailyStatsRequest) returns (SumServerDailyStatsResponse);
 | 
						||
 | 
						||
	// 计算单个服务的月统计
 | 
						||
	rpc sumServerMonthlyStats(SumServerMonthlyStatsRequest) returns (SumServerMonthlyStatsResponse);
 | 
						||
}
 | 
						||
 | 
						||
// 上传统计
 | 
						||
message UploadServerDailyStatsRequest {
 | 
						||
	repeated ServerDailyStat stats = 1;
 | 
						||
	repeated DomainStat domainStats = 2;
 | 
						||
 | 
						||
	message DomainStat {
 | 
						||
		int64 serverId = 1;
 | 
						||
		string domain = 2;
 | 
						||
		int64 bytes = 3;
 | 
						||
		int64 cachedBytes = 4;
 | 
						||
		int64 countRequests = 5;
 | 
						||
		int64 countCachedRequests = 6;
 | 
						||
		int64 countAttackRequests = 8;
 | 
						||
		int64 attackBytes = 9;
 | 
						||
		int64 createdAt = 7;
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
// 按小时读取统计数据
 | 
						||
message FindLatestServerHourlyStatsRequest {
 | 
						||
	int64 serverId = 1;
 | 
						||
	int32 hours = 2; // 小时数
 | 
						||
}
 | 
						||
 | 
						||
message FindLatestServerHourlyStatsResponse {
 | 
						||
	repeated HourlyStat stats = 1;
 | 
						||
 | 
						||
	message HourlyStat {
 | 
						||
		string hour = 1;
 | 
						||
		int64 bytes = 2;
 | 
						||
		int64 cachedBytes = 3;
 | 
						||
		int64 countRequests = 4;
 | 
						||
		int64 countCachedRequests = 5;
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
// 按分钟读取统计数据
 | 
						||
message FindLatestServerMinutelyStatsRequest {
 | 
						||
	int64 serverId = 1;
 | 
						||
	int32 minutes = 2; // 分钟数
 | 
						||
}
 | 
						||
 | 
						||
message FindLatestServerMinutelyStatsResponse {
 | 
						||
	repeated MinutelyStat stats = 1;
 | 
						||
 | 
						||
	message MinutelyStat {
 | 
						||
		string minute = 1;
 | 
						||
		int64 bytes = 2;
 | 
						||
		int64 cachedBytes = 3;
 | 
						||
		int64 countRequests = 4;
 | 
						||
		int64 countCachedRequests = 5;
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
// 读取某天的5分钟间隔流量
 | 
						||
message FindServer5MinutelyStatsWithDayRequest {
 | 
						||
	int64 serverId = 1;
 | 
						||
	string day = 2; // 必需,格式:YYYYMMDD
 | 
						||
	string timeFrom = 3; // 可选,开始时间,格式:HHIISS,比如 130000
 | 
						||
	string timeTo = 4; // 可选,结束时间,格式:HHIISS,比如 130459
 | 
						||
}
 | 
						||
 | 
						||
message FindServer5MinutelyStatsWithDayResponse {
 | 
						||
	repeated Stat stats = 1;
 | 
						||
 | 
						||
	message Stat {
 | 
						||
		string day = 1;
 | 
						||
		string timeFrom = 2;
 | 
						||
		string timeTo = 3;
 | 
						||
		int64 bytes = 4;
 | 
						||
		int64 cachedBytes = 5;
 | 
						||
		int64 countRequests = 6;
 | 
						||
		int64 countCachedRequests = 7;
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
// 读取最近N日的统计数据
 | 
						||
message FindLatestServerDailyStatsRequest {
 | 
						||
	int64 serverId = 1;
 | 
						||
	int64 nodeRegionId = 3; // 区域ID,可选
 | 
						||
	int32 days = 2; // 天数
 | 
						||
}
 | 
						||
 | 
						||
message FindLatestServerDailyStatsResponse {
 | 
						||
	repeated DailyStat stats = 1;
 | 
						||
 | 
						||
	message DailyStat {
 | 
						||
		string day = 1;
 | 
						||
		int64 bytes = 2;
 | 
						||
		int64 cachedBytes = 3;
 | 
						||
		int64 countRequests = 4;
 | 
						||
		int64 countCachedRequests = 5;
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
// 读取日期段内的流量数据
 | 
						||
message FindServerDailyStatsBetweenDaysRequest {
 | 
						||
	int64 userId = 1; // 用户ID,和服务ID二选一
 | 
						||
	int64 serverId = 2; // 服务ID,和用户ID二选一
 | 
						||
	string dayFrom = 3; // 开始日期 YYYYMMDD
 | 
						||
	string dayTo = 4; // 结束日期 YYYYMMDD
 | 
						||
	int64 nodeRegionId = 5; // 区域ID
 | 
						||
}
 | 
						||
 | 
						||
message FindServerDailyStatsBetweenDaysResponse {
 | 
						||
	repeated Stat stats = 1;
 | 
						||
 | 
						||
	message Stat {
 | 
						||
		string day = 1;
 | 
						||
		string timeFrom = 2;
 | 
						||
		string timeTo = 3;
 | 
						||
		string timeAt = 4;
 | 
						||
		int64 bytes = 5;
 | 
						||
		int64 cachedBytes = 6;
 | 
						||
		int64 countRequests = 7;
 | 
						||
		int64 countCachedRequests = 8;
 | 
						||
	}
 | 
						||
}
 | 
						||
 | 
						||
// 查找单个服务当前时刻(N分钟内)统计数据
 | 
						||
message SumCurrentServerDailyStatsRequest {
 | 
						||
	int64 serverId = 1;
 | 
						||
}
 | 
						||
 | 
						||
message SumCurrentServerDailyStatsResponse {
 | 
						||
	ServerDailyStat serverDailyStat = 1;
 | 
						||
}
 | 
						||
 | 
						||
// 计算单个服务的日统计
 | 
						||
message SumServerDailyStatsRequest {
 | 
						||
	int64 userId = 3;
 | 
						||
	int64 serverId = 1;
 | 
						||
	int64 nodeRegionId = 6;
 | 
						||
 | 
						||
	string day = 2; // YYYYMMDD
 | 
						||
 | 
						||
	string dayFrom = 4; // day 和 dayFrom+dayTo 二选一, YYYYMMDD
 | 
						||
	string dayTo = 5; // day 和 dayFrom+dayTo 二选一,YYYYMMDD
 | 
						||
}
 | 
						||
 | 
						||
message SumServerDailyStatsResponse {
 | 
						||
	ServerDailyStat serverDailyStat = 1;
 | 
						||
}
 | 
						||
 | 
						||
// 计算单个服务的月统计
 | 
						||
message SumServerMonthlyStatsRequest {
 | 
						||
	int64 serverId = 1;
 | 
						||
	string month = 2; // YYYYMM
 | 
						||
}
 | 
						||
 | 
						||
message SumServerMonthlyStatsResponse {
 | 
						||
	ServerDailyStat serverMonthlyStat = 1;
 | 
						||
} |