mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	服务看板增加区域地图
This commit is contained in:
		@@ -611,6 +611,7 @@ type ComposeServerStatBoardResponse struct {
 | 
				
			|||||||
	HourlyTrafficStats []*ComposeServerStatBoardResponse_HourlyTrafficStat `protobuf:"bytes,31,rep,name=hourlyTrafficStats,proto3" json:"hourlyTrafficStats,omitempty"`
 | 
						HourlyTrafficStats []*ComposeServerStatBoardResponse_HourlyTrafficStat `protobuf:"bytes,31,rep,name=hourlyTrafficStats,proto3" json:"hourlyTrafficStats,omitempty"`
 | 
				
			||||||
	TopNodeStats       []*ComposeServerStatBoardResponse_NodeStat          `protobuf:"bytes,32,rep,name=topNodeStats,proto3" json:"topNodeStats,omitempty"`
 | 
						TopNodeStats       []*ComposeServerStatBoardResponse_NodeStat          `protobuf:"bytes,32,rep,name=topNodeStats,proto3" json:"topNodeStats,omitempty"`
 | 
				
			||||||
	TopDomainStats     []*ComposeServerStatBoardResponse_DomainStat        `protobuf:"bytes,33,rep,name=topDomainStats,proto3" json:"topDomainStats,omitempty"`
 | 
						TopDomainStats     []*ComposeServerStatBoardResponse_DomainStat        `protobuf:"bytes,33,rep,name=topDomainStats,proto3" json:"topDomainStats,omitempty"`
 | 
				
			||||||
 | 
						TopCountryStats    []*ComposeServerStatBoardResponse_CountryStat       `protobuf:"bytes,35,rep,name=topCountryStats,proto3" json:"topCountryStats,omitempty"`
 | 
				
			||||||
	MetricDataCharts   []*MetricDataChart                                  `protobuf:"bytes,34,rep,name=metricDataCharts,proto3" json:"metricDataCharts,omitempty"`
 | 
						MetricDataCharts   []*MetricDataChart                                  `protobuf:"bytes,34,rep,name=metricDataCharts,proto3" json:"metricDataCharts,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -674,6 +675,13 @@ func (x *ComposeServerStatBoardResponse) GetTopDomainStats() []*ComposeServerSta
 | 
				
			|||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse) GetTopCountryStats() []*ComposeServerStatBoardResponse_CountryStat {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.TopCountryStats
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *ComposeServerStatBoardResponse) GetMetricDataCharts() []*MetricDataChart {
 | 
					func (x *ComposeServerStatBoardResponse) GetMetricDataCharts() []*MetricDataChart {
 | 
				
			||||||
	if x != nil {
 | 
						if x != nil {
 | 
				
			||||||
		return x.MetricDataCharts
 | 
							return x.MetricDataCharts
 | 
				
			||||||
@@ -1742,6 +1750,93 @@ func (x *ComposeServerStatBoardResponse_DomainStat) GetAttackBytes() int64 {
 | 
				
			|||||||
	return 0
 | 
						return 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type ComposeServerStatBoardResponse_CountryStat struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						CountryName         string  `protobuf:"bytes,1,opt,name=countryName,proto3" json:"countryName,omitempty"`
 | 
				
			||||||
 | 
						Bytes               int64   `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
 | 
				
			||||||
 | 
						CountRequests       int64   `protobuf:"varint,3,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
 | 
				
			||||||
 | 
						Percent             float32 `protobuf:"fixed32,4,opt,name=percent,proto3" json:"percent,omitempty"` // 流量占比
 | 
				
			||||||
 | 
						CountAttackRequests int64   `protobuf:"varint,6,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"`
 | 
				
			||||||
 | 
						AttackBytes         int64   `protobuf:"varint,7,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse_CountryStat) Reset() {
 | 
				
			||||||
 | 
						*x = ComposeServerStatBoardResponse_CountryStat{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_service_server_stat_board_proto_msgTypes[20]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse_CountryStat) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*ComposeServerStatBoardResponse_CountryStat) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse_CountryStat) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_service_server_stat_board_proto_msgTypes[20]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use ComposeServerStatBoardResponse_CountryStat.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*ComposeServerStatBoardResponse_CountryStat) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_service_server_stat_board_proto_rawDescGZIP(), []int{7, 4}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse_CountryStat) GetCountryName() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.CountryName
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse_CountryStat) GetBytes() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Bytes
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse_CountryStat) GetCountRequests() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.CountRequests
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse_CountryStat) GetPercent() float32 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Percent
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse_CountryStat) GetCountAttackRequests() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.CountAttackRequests
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *ComposeServerStatBoardResponse_CountryStat) GetAttackBytes() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.AttackBytes
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var File_service_server_stat_board_proto protoreflect.FileDescriptor
 | 
					var File_service_server_stat_board_proto protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_service_server_stat_board_proto_rawDesc = []byte{
 | 
					var file_service_server_stat_board_proto_rawDesc = []byte{
 | 
				
			||||||
@@ -2007,7 +2102,7 @@ var file_service_server_stat_board_proto_rawDesc = []byte{
 | 
				
			|||||||
	0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
 | 
						0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
 | 
				
			||||||
	0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18,
 | 
						0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18,
 | 
				
			||||||
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22,
 | 
						0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22,
 | 
				
			||||||
	0x8f, 0x0b, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
						0xc5, 0x0d, 0x0a, 0x1e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
				
			||||||
	0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
						0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
				
			||||||
	0x73, 0x65, 0x12, 0x61, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66,
 | 
						0x73, 0x65, 0x12, 0x61, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66,
 | 
				
			||||||
	0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e,
 | 
						0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e,
 | 
				
			||||||
@@ -2032,109 +2127,129 @@ var file_service_server_stat_board_proto_rawDesc = []byte{
 | 
				
			|||||||
	0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64,
 | 
						0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64,
 | 
				
			||||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53,
 | 
						0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53,
 | 
				
			||||||
	0x74, 0x61, 0x74, 0x52, 0x0e, 0x74, 0x6f, 0x70, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74,
 | 
						0x74, 0x61, 0x74, 0x52, 0x0e, 0x74, 0x6f, 0x70, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74,
 | 
				
			||||||
	0x61, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74,
 | 
						0x61, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72,
 | 
				
			||||||
	0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
 | 
						0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x70,
 | 
				
			||||||
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61,
 | 
						0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53,
 | 
				
			||||||
	0x72, 0x74, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68,
 | 
						0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
				
			||||||
	0x61, 0x72, 0x74, 0x73, 0x1a, 0x88, 0x02, 0x0a, 0x10, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72,
 | 
						0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0f, 0x74, 0x6f,
 | 
				
			||||||
	0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79,
 | 
						0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3f, 0x0a,
 | 
				
			||||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62,
 | 
						0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74,
 | 
				
			||||||
	0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65,
 | 
						0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74,
 | 
				
			||||||
	0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73,
 | 
						0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x10, 0x6d, 0x65,
 | 
				
			||||||
	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79,
 | 
						0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x1a, 0x88,
 | 
				
			||||||
 | 
						0x02, 0x0a, 0x10, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53,
 | 
				
			||||||
 | 
						0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
 | 
				
			||||||
 | 
						0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02,
 | 
				
			||||||
 | 
						0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63,
 | 
				
			||||||
 | 
						0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
 | 
				
			||||||
 | 
						0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a,
 | 
				
			||||||
 | 
						0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04,
 | 
				
			||||||
 | 
						0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
				
			||||||
 | 
						0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68,
 | 
				
			||||||
 | 
						0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03,
 | 
				
			||||||
 | 
						0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71,
 | 
				
			||||||
 | 
						0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74,
 | 
				
			||||||
 | 
						0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01,
 | 
				
			||||||
 | 
						0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52,
 | 
				
			||||||
 | 
						0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63,
 | 
				
			||||||
 | 
						0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74,
 | 
				
			||||||
 | 
						0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x8b, 0x02, 0x0a, 0x11, 0x48, 0x6f,
 | 
				
			||||||
 | 
						0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12,
 | 
				
			||||||
 | 
						0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68,
 | 
				
			||||||
 | 
						0x6f, 0x75, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01,
 | 
				
			||||||
 | 
						0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63,
 | 
				
			||||||
 | 
						0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
 | 
				
			||||||
 | 
						0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63,
 | 
				
			||||||
 | 
						0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01,
 | 
				
			||||||
 | 
						0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
				
			||||||
 | 
						0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64,
 | 
				
			||||||
 | 
						0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13,
 | 
				
			||||||
 | 
						0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
				
			||||||
 | 
						0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61,
 | 
				
			||||||
 | 
						0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
 | 
				
			||||||
 | 
						0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71,
 | 
				
			||||||
 | 
						0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42,
 | 
				
			||||||
 | 
						0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61,
 | 
				
			||||||
 | 
						0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xce, 0x01, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65,
 | 
				
			||||||
 | 
						0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01,
 | 
				
			||||||
 | 
						0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08,
 | 
				
			||||||
 | 
						0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
 | 
				
			||||||
 | 
						0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e,
 | 
				
			||||||
 | 
						0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
				
			||||||
 | 
						0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x14,
 | 
				
			||||||
 | 
						0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62,
 | 
				
			||||||
 | 
						0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74,
 | 
				
			||||||
 | 
						0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
 | 
				
			||||||
 | 
						0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65,
 | 
				
			||||||
 | 
						0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b,
 | 
				
			||||||
 | 
						0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74,
 | 
				
			||||||
 | 
						0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xd0, 0x01, 0x0a, 0x0a, 0x44, 0x6f, 0x6d,
 | 
				
			||||||
 | 
						0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65,
 | 
				
			||||||
 | 
						0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20,
 | 
				
			||||||
 | 
						0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x63,
 | 
				
			||||||
 | 
						0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01,
 | 
				
			||||||
 | 
						0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
				
			||||||
 | 
						0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
 | 
				
			||||||
 | 
						0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
				
			||||||
 | 
						0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06,
 | 
				
			||||||
 | 
						0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63,
 | 
				
			||||||
 | 
						0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74,
 | 
				
			||||||
 | 
						0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
 | 
				
			||||||
 | 
						0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xd9, 0x01, 0x0a, 0x0b,
 | 
				
			||||||
 | 
						0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63,
 | 
				
			||||||
 | 
						0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
 | 
				
			||||||
 | 
						0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
 | 
				
			||||||
 | 
						0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79,
 | 
				
			||||||
	0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
 | 
						0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
 | 
				
			||||||
	0x65, 0x73, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e,
 | 
						0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e,
 | 
				
			||||||
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75,
 | 
						0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x72,
 | 
				
			||||||
	0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
 | 
						0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63,
 | 
				
			||||||
	0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63,
 | 
						0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61,
 | 
				
			||||||
	0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63,
 | 
						0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
 | 
				
			||||||
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
						0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71,
 | 
				
			||||||
	0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
 | 
						0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42,
 | 
				
			||||||
	0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a,
 | 
						0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61,
 | 
				
			||||||
	0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01,
 | 
						0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x76, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69,
 | 
				
			||||||
	0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a,
 | 
						0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x6d, 0x65,
 | 
				
			||||||
	0x8b, 0x02, 0x0a, 0x11, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
 | 
						0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
 | 
				
			||||||
	0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x18, 0x01, 0x20,
 | 
						0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74,
 | 
				
			||||||
	0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x75, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74,
 | 
						0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x30, 0x0a,
 | 
				
			||||||
	0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12,
 | 
						0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
 | 
				
			||||||
	0x20, 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03,
 | 
						0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74,
 | 
				
			||||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65,
 | 
						0x61, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x32,
 | 
				
			||||||
	0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
						0xe2, 0x03, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f,
 | 
				
			||||||
	0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
 | 
						0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x1e, 0x66, 0x69,
 | 
				
			||||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
						0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76,
 | 
				
			||||||
	0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x05,
 | 
						0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x29, 0x2e, 0x70,
 | 
				
			||||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
 | 
						0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
 | 
				
			||||||
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75,
 | 
						0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73,
 | 
				
			||||||
	0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73,
 | 
						0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
 | 
				
			||||||
	0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74,
 | 
						0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
				
			||||||
	0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61,
 | 
						0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
				
			||||||
	0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
 | 
						0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53,
 | 
				
			||||||
	0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xce, 0x01,
 | 
						0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
 | 
				
			||||||
	0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f,
 | 
						0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x43,
 | 
				
			||||||
	0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65,
 | 
						0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
 | 
				
			||||||
	0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
 | 
						0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64,
 | 
				
			||||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24,
 | 
						0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d,
 | 
				
			||||||
	0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18,
 | 
						0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f,
 | 
				
			||||||
	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
 | 
						0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65,
 | 
				
			||||||
	0x65, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20,
 | 
						0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
 | 
				
			||||||
	0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f,
 | 
						0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42,
 | 
				
			||||||
	0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
						0x6f, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
 | 
				
			||||||
	0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74,
 | 
						0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42,
 | 
				
			||||||
	0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b,
 | 
						0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62,
 | 
				
			||||||
	0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28,
 | 
						0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74,
 | 
				
			||||||
	0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0xd0,
 | 
						0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
				
			||||||
	0x01, 0x0a, 0x0a, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a, 0x0a,
 | 
						0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65,
 | 
				
			||||||
	0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
						0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x21, 0x2e,
 | 
				
			||||||
	0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d,
 | 
						0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
				
			||||||
	0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69,
 | 
						0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
				
			||||||
	0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
						0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72,
 | 
				
			||||||
	0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
 | 
						0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
 | 
				
			||||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73,
 | 
						0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
 | 
				
			||||||
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a,
 | 
						0x6f, 0x74, 0x6f, 0x33,
 | 
				
			||||||
	0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75,
 | 
					 | 
				
			||||||
	0x65, 0x73, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e,
 | 
					 | 
				
			||||||
	0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12,
 | 
					 | 
				
			||||||
	0x20, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07,
 | 
					 | 
				
			||||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65,
 | 
					 | 
				
			||||||
	0x73, 0x22, 0x76, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43,
 | 
					 | 
				
			||||||
	0x68, 0x61, 0x72, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68,
 | 
					 | 
				
			||||||
	0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
 | 
					 | 
				
			||||||
	0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72,
 | 
					 | 
				
			||||||
	0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69,
 | 
					 | 
				
			||||||
	0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70,
 | 
					 | 
				
			||||||
	0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x6d, 0x65,
 | 
					 | 
				
			||||||
	0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x32, 0xe2, 0x03, 0x0a, 0x16, 0x53, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72,
 | 
					 | 
				
			||||||
	0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x1e, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
 | 
					 | 
				
			||||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
 | 
					 | 
				
			||||||
	0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
					 | 
				
			||||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
 | 
					 | 
				
			||||||
	0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
					 | 
				
			||||||
	0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
 | 
					 | 
				
			||||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42,
 | 
					 | 
				
			||||||
	0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01,
 | 
					 | 
				
			||||||
	0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53,
 | 
					 | 
				
			||||||
	0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f,
 | 
					 | 
				
			||||||
	0x61, 0x72, 0x64, 0x12, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
 | 
					 | 
				
			||||||
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
 | 
					 | 
				
			||||||
	0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
					 | 
				
			||||||
	0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
 | 
					 | 
				
			||||||
	0x74, 0x65, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
					 | 
				
			||||||
	0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x25,
 | 
					 | 
				
			||||||
	0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65,
 | 
					 | 
				
			||||||
	0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65,
 | 
					 | 
				
			||||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f,
 | 
					 | 
				
			||||||
	0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x4e, 0x6f, 0x64, 0x65,
 | 
					 | 
				
			||||||
	0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a,
 | 
					 | 
				
			||||||
	0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74,
 | 
					 | 
				
			||||||
	0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d,
 | 
					 | 
				
			||||||
	0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f,
 | 
					 | 
				
			||||||
	0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e,
 | 
					 | 
				
			||||||
	0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61,
 | 
					 | 
				
			||||||
	0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06,
 | 
					 | 
				
			||||||
	0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
@@ -2149,7 +2264,7 @@ func file_service_server_stat_board_proto_rawDescGZIP() []byte {
 | 
				
			|||||||
	return file_service_server_stat_board_proto_rawDescData
 | 
						return file_service_server_stat_board_proto_rawDescData
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_service_server_stat_board_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
 | 
					var file_service_server_stat_board_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
 | 
				
			||||||
var file_service_server_stat_board_proto_goTypes = []interface{}{
 | 
					var file_service_server_stat_board_proto_goTypes = []interface{}{
 | 
				
			||||||
	(*FindAllEnabledServerStatBoardsRequest)(nil),                       // 0: pb.FindAllEnabledServerStatBoardsRequest
 | 
						(*FindAllEnabledServerStatBoardsRequest)(nil),                       // 0: pb.FindAllEnabledServerStatBoardsRequest
 | 
				
			||||||
	(*FindAllEnabledServerStatBoardsResponse)(nil),                      // 1: pb.FindAllEnabledServerStatBoardsResponse
 | 
						(*FindAllEnabledServerStatBoardsResponse)(nil),                      // 1: pb.FindAllEnabledServerStatBoardsResponse
 | 
				
			||||||
@@ -2171,49 +2286,51 @@ var file_service_server_stat_board_proto_goTypes = []interface{}{
 | 
				
			|||||||
	(*ComposeServerStatBoardResponse_HourlyTrafficStat)(nil),            // 17: pb.ComposeServerStatBoardResponse.HourlyTrafficStat
 | 
						(*ComposeServerStatBoardResponse_HourlyTrafficStat)(nil),            // 17: pb.ComposeServerStatBoardResponse.HourlyTrafficStat
 | 
				
			||||||
	(*ComposeServerStatBoardResponse_NodeStat)(nil),                     // 18: pb.ComposeServerStatBoardResponse.NodeStat
 | 
						(*ComposeServerStatBoardResponse_NodeStat)(nil),                     // 18: pb.ComposeServerStatBoardResponse.NodeStat
 | 
				
			||||||
	(*ComposeServerStatBoardResponse_DomainStat)(nil),                   // 19: pb.ComposeServerStatBoardResponse.DomainStat
 | 
						(*ComposeServerStatBoardResponse_DomainStat)(nil),                   // 19: pb.ComposeServerStatBoardResponse.DomainStat
 | 
				
			||||||
	(*ServerStatBoard)(nil),                                             // 20: pb.ServerStatBoard
 | 
						(*ComposeServerStatBoardResponse_CountryStat)(nil),                  // 20: pb.ComposeServerStatBoardResponse.CountryStat
 | 
				
			||||||
	(*NodeValue)(nil),                                                   // 21: pb.NodeValue
 | 
						(*ServerStatBoard)(nil),                                             // 21: pb.ServerStatBoard
 | 
				
			||||||
	(*MetricChart)(nil),                                                 // 22: pb.MetricChart
 | 
						(*NodeValue)(nil),                                                   // 22: pb.NodeValue
 | 
				
			||||||
	(*MetricStat)(nil),                                                  // 23: pb.MetricStat
 | 
						(*MetricChart)(nil),                                                 // 23: pb.MetricChart
 | 
				
			||||||
 | 
						(*MetricStat)(nil),                                                  // 24: pb.MetricStat
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var file_service_server_stat_board_proto_depIdxs = []int32{
 | 
					var file_service_server_stat_board_proto_depIdxs = []int32{
 | 
				
			||||||
	20, // 0: pb.FindAllEnabledServerStatBoardsResponse.serverStatBoards:type_name -> pb.ServerStatBoard
 | 
						21, // 0: pb.FindAllEnabledServerStatBoardsResponse.serverStatBoards:type_name -> pb.ServerStatBoard
 | 
				
			||||||
	9,  // 1: pb.ComposeServerStatNodeClusterBoardResponse.dailyTrafficStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.DailyTrafficStat
 | 
						9,  // 1: pb.ComposeServerStatNodeClusterBoardResponse.dailyTrafficStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.DailyTrafficStat
 | 
				
			||||||
	10, // 2: pb.ComposeServerStatNodeClusterBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.HourlyTrafficStat
 | 
						10, // 2: pb.ComposeServerStatNodeClusterBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.HourlyTrafficStat
 | 
				
			||||||
	11, // 3: pb.ComposeServerStatNodeClusterBoardResponse.topNodeStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.NodeStat
 | 
						11, // 3: pb.ComposeServerStatNodeClusterBoardResponse.topNodeStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.NodeStat
 | 
				
			||||||
	12, // 4: pb.ComposeServerStatNodeClusterBoardResponse.topDomainStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.DomainStat
 | 
						12, // 4: pb.ComposeServerStatNodeClusterBoardResponse.topDomainStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.DomainStat
 | 
				
			||||||
	21, // 5: pb.ComposeServerStatNodeClusterBoardResponse.cpuNodeValues:type_name -> pb.NodeValue
 | 
						22, // 5: pb.ComposeServerStatNodeClusterBoardResponse.cpuNodeValues:type_name -> pb.NodeValue
 | 
				
			||||||
	21, // 6: pb.ComposeServerStatNodeClusterBoardResponse.memoryNodeValues:type_name -> pb.NodeValue
 | 
						22, // 6: pb.ComposeServerStatNodeClusterBoardResponse.memoryNodeValues:type_name -> pb.NodeValue
 | 
				
			||||||
	21, // 7: pb.ComposeServerStatNodeClusterBoardResponse.loadNodeValues:type_name -> pb.NodeValue
 | 
						22, // 7: pb.ComposeServerStatNodeClusterBoardResponse.loadNodeValues:type_name -> pb.NodeValue
 | 
				
			||||||
	8,  // 8: pb.ComposeServerStatNodeClusterBoardResponse.metricDataCharts:type_name -> pb.MetricDataChart
 | 
						8,  // 8: pb.ComposeServerStatNodeClusterBoardResponse.metricDataCharts:type_name -> pb.MetricDataChart
 | 
				
			||||||
	13, // 9: pb.ComposeServerStatNodeBoardResponse.dailyTrafficStats:type_name -> pb.ComposeServerStatNodeBoardResponse.DailyTrafficStat
 | 
						13, // 9: pb.ComposeServerStatNodeBoardResponse.dailyTrafficStats:type_name -> pb.ComposeServerStatNodeBoardResponse.DailyTrafficStat
 | 
				
			||||||
	14, // 10: pb.ComposeServerStatNodeBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeServerStatNodeBoardResponse.HourlyTrafficStat
 | 
						14, // 10: pb.ComposeServerStatNodeBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeServerStatNodeBoardResponse.HourlyTrafficStat
 | 
				
			||||||
	15, // 11: pb.ComposeServerStatNodeBoardResponse.topDomainStats:type_name -> pb.ComposeServerStatNodeBoardResponse.DomainStat
 | 
						15, // 11: pb.ComposeServerStatNodeBoardResponse.topDomainStats:type_name -> pb.ComposeServerStatNodeBoardResponse.DomainStat
 | 
				
			||||||
	21, // 12: pb.ComposeServerStatNodeBoardResponse.cpuNodeValues:type_name -> pb.NodeValue
 | 
						22, // 12: pb.ComposeServerStatNodeBoardResponse.cpuNodeValues:type_name -> pb.NodeValue
 | 
				
			||||||
	21, // 13: pb.ComposeServerStatNodeBoardResponse.memoryNodeValues:type_name -> pb.NodeValue
 | 
						22, // 13: pb.ComposeServerStatNodeBoardResponse.memoryNodeValues:type_name -> pb.NodeValue
 | 
				
			||||||
	21, // 14: pb.ComposeServerStatNodeBoardResponse.loadNodeValues:type_name -> pb.NodeValue
 | 
						22, // 14: pb.ComposeServerStatNodeBoardResponse.loadNodeValues:type_name -> pb.NodeValue
 | 
				
			||||||
	21, // 15: pb.ComposeServerStatNodeBoardResponse.cacheDirsValues:type_name -> pb.NodeValue
 | 
						22, // 15: pb.ComposeServerStatNodeBoardResponse.cacheDirsValues:type_name -> pb.NodeValue
 | 
				
			||||||
	8,  // 16: pb.ComposeServerStatNodeBoardResponse.metricDataCharts:type_name -> pb.MetricDataChart
 | 
						8,  // 16: pb.ComposeServerStatNodeBoardResponse.metricDataCharts:type_name -> pb.MetricDataChart
 | 
				
			||||||
	16, // 17: pb.ComposeServerStatBoardResponse.dailyTrafficStats:type_name -> pb.ComposeServerStatBoardResponse.DailyTrafficStat
 | 
						16, // 17: pb.ComposeServerStatBoardResponse.dailyTrafficStats:type_name -> pb.ComposeServerStatBoardResponse.DailyTrafficStat
 | 
				
			||||||
	17, // 18: pb.ComposeServerStatBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeServerStatBoardResponse.HourlyTrafficStat
 | 
						17, // 18: pb.ComposeServerStatBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeServerStatBoardResponse.HourlyTrafficStat
 | 
				
			||||||
	18, // 19: pb.ComposeServerStatBoardResponse.topNodeStats:type_name -> pb.ComposeServerStatBoardResponse.NodeStat
 | 
						18, // 19: pb.ComposeServerStatBoardResponse.topNodeStats:type_name -> pb.ComposeServerStatBoardResponse.NodeStat
 | 
				
			||||||
	19, // 20: pb.ComposeServerStatBoardResponse.topDomainStats:type_name -> pb.ComposeServerStatBoardResponse.DomainStat
 | 
						19, // 20: pb.ComposeServerStatBoardResponse.topDomainStats:type_name -> pb.ComposeServerStatBoardResponse.DomainStat
 | 
				
			||||||
	8,  // 21: pb.ComposeServerStatBoardResponse.metricDataCharts:type_name -> pb.MetricDataChart
 | 
						20, // 21: pb.ComposeServerStatBoardResponse.topCountryStats:type_name -> pb.ComposeServerStatBoardResponse.CountryStat
 | 
				
			||||||
	22, // 22: pb.MetricDataChart.metricChart:type_name -> pb.MetricChart
 | 
						8,  // 22: pb.ComposeServerStatBoardResponse.metricDataCharts:type_name -> pb.MetricDataChart
 | 
				
			||||||
	23, // 23: pb.MetricDataChart.metricStats:type_name -> pb.MetricStat
 | 
						23, // 23: pb.MetricDataChart.metricChart:type_name -> pb.MetricChart
 | 
				
			||||||
	0,  // 24: pb.ServerStatBoardService.findAllEnabledServerStatBoards:input_type -> pb.FindAllEnabledServerStatBoardsRequest
 | 
						24, // 24: pb.MetricDataChart.metricStats:type_name -> pb.MetricStat
 | 
				
			||||||
	2,  // 25: pb.ServerStatBoardService.composeServerStatNodeClusterBoard:input_type -> pb.ComposeServerStatNodeClusterBoardRequest
 | 
						0,  // 25: pb.ServerStatBoardService.findAllEnabledServerStatBoards:input_type -> pb.FindAllEnabledServerStatBoardsRequest
 | 
				
			||||||
	4,  // 26: pb.ServerStatBoardService.composeServerStatNodeBoard:input_type -> pb.ComposeServerStatNodeBoardRequest
 | 
						2,  // 26: pb.ServerStatBoardService.composeServerStatNodeClusterBoard:input_type -> pb.ComposeServerStatNodeClusterBoardRequest
 | 
				
			||||||
	6,  // 27: pb.ServerStatBoardService.composeServerStatBoard:input_type -> pb.ComposeServerStatBoardRequest
 | 
						4,  // 27: pb.ServerStatBoardService.composeServerStatNodeBoard:input_type -> pb.ComposeServerStatNodeBoardRequest
 | 
				
			||||||
	1,  // 28: pb.ServerStatBoardService.findAllEnabledServerStatBoards:output_type -> pb.FindAllEnabledServerStatBoardsResponse
 | 
						6,  // 28: pb.ServerStatBoardService.composeServerStatBoard:input_type -> pb.ComposeServerStatBoardRequest
 | 
				
			||||||
	3,  // 29: pb.ServerStatBoardService.composeServerStatNodeClusterBoard:output_type -> pb.ComposeServerStatNodeClusterBoardResponse
 | 
						1,  // 29: pb.ServerStatBoardService.findAllEnabledServerStatBoards:output_type -> pb.FindAllEnabledServerStatBoardsResponse
 | 
				
			||||||
	5,  // 30: pb.ServerStatBoardService.composeServerStatNodeBoard:output_type -> pb.ComposeServerStatNodeBoardResponse
 | 
						3,  // 30: pb.ServerStatBoardService.composeServerStatNodeClusterBoard:output_type -> pb.ComposeServerStatNodeClusterBoardResponse
 | 
				
			||||||
	7,  // 31: pb.ServerStatBoardService.composeServerStatBoard:output_type -> pb.ComposeServerStatBoardResponse
 | 
						5,  // 31: pb.ServerStatBoardService.composeServerStatNodeBoard:output_type -> pb.ComposeServerStatNodeBoardResponse
 | 
				
			||||||
	28, // [28:32] is the sub-list for method output_type
 | 
						7,  // 32: pb.ServerStatBoardService.composeServerStatBoard:output_type -> pb.ComposeServerStatBoardResponse
 | 
				
			||||||
	24, // [24:28] is the sub-list for method input_type
 | 
						29, // [29:33] is the sub-list for method output_type
 | 
				
			||||||
	24, // [24:24] is the sub-list for extension type_name
 | 
						25, // [25:29] is the sub-list for method input_type
 | 
				
			||||||
	24, // [24:24] is the sub-list for extension extendee
 | 
						25, // [25:25] is the sub-list for extension type_name
 | 
				
			||||||
	0,  // [0:24] is the sub-list for field type_name
 | 
						25, // [25:25] is the sub-list for extension extendee
 | 
				
			||||||
 | 
						0,  // [0:25] is the sub-list for field type_name
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func init() { file_service_server_stat_board_proto_init() }
 | 
					func init() { file_service_server_stat_board_proto_init() }
 | 
				
			||||||
@@ -2466,6 +2583,18 @@ func file_service_server_stat_board_proto_init() {
 | 
				
			|||||||
				return nil
 | 
									return nil
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							file_service_server_stat_board_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*ComposeServerStatBoardResponse_CountryStat); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	type x struct{}
 | 
						type x struct{}
 | 
				
			||||||
	out := protoimpl.TypeBuilder{
 | 
						out := protoimpl.TypeBuilder{
 | 
				
			||||||
@@ -2473,7 +2602,7 @@ func file_service_server_stat_board_proto_init() {
 | 
				
			|||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
			RawDescriptor: file_service_server_stat_board_proto_rawDesc,
 | 
								RawDescriptor: file_service_server_stat_board_proto_rawDesc,
 | 
				
			||||||
			NumEnums:      0,
 | 
								NumEnums:      0,
 | 
				
			||||||
			NumMessages:   20,
 | 
								NumMessages:   21,
 | 
				
			||||||
			NumExtensions: 0,
 | 
								NumExtensions: 0,
 | 
				
			||||||
			NumServices:   1,
 | 
								NumServices:   1,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -231,7 +231,6 @@ message ComposeAdminDashboardResponse {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	repeated NodeStat topNodeStats = 38;
 | 
						repeated NodeStat topNodeStats = 38;
 | 
				
			||||||
	repeated DomainStat topDomainStats = 39;
 | 
						repeated DomainStat topDomainStats = 39;
 | 
				
			||||||
 | 
					 | 
				
			||||||
	repeated CountryStat topCountryStats = 42;
 | 
						repeated CountryStat topCountryStats = 42;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	repeated MetricDataChart metricDataCharts = 40;
 | 
						repeated MetricDataChart metricDataCharts = 40;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -163,6 +163,7 @@ message ComposeServerStatBoardResponse {
 | 
				
			|||||||
	repeated HourlyTrafficStat hourlyTrafficStats = 31;
 | 
						repeated HourlyTrafficStat hourlyTrafficStats = 31;
 | 
				
			||||||
	repeated NodeStat topNodeStats = 32;
 | 
						repeated NodeStat topNodeStats = 32;
 | 
				
			||||||
	repeated DomainStat topDomainStats = 33;
 | 
						repeated DomainStat topDomainStats = 33;
 | 
				
			||||||
 | 
						repeated CountryStat topCountryStats = 35;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	repeated MetricDataChart metricDataCharts = 34;
 | 
						repeated MetricDataChart metricDataCharts = 34;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -203,6 +204,15 @@ message ComposeServerStatBoardResponse {
 | 
				
			|||||||
		int64 countAttackRequests = 6;
 | 
							int64 countAttackRequests = 6;
 | 
				
			||||||
		int64 attackBytes = 7;
 | 
							int64 attackBytes = 7;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						message CountryStat {
 | 
				
			||||||
 | 
							string countryName = 1;
 | 
				
			||||||
 | 
							int64 bytes = 2;
 | 
				
			||||||
 | 
							int64 countRequests = 3;
 | 
				
			||||||
 | 
							float percent = 4; // 流量占比
 | 
				
			||||||
 | 
							int64 countAttackRequests = 6;
 | 
				
			||||||
 | 
							int64 attackBytes = 7;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// 矩阵数据
 | 
					// 矩阵数据
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user