Files
EdgeCommon/pkg/rpc/pb/service_server_stat_board.pb.go
2024-04-12 18:52:15 +08:00

2421 lines
108 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.19.4
// source: service_server_stat_board.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// 读取所有看板
type FindAllEnabledServerStatBoardsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}
func (x *FindAllEnabledServerStatBoardsRequest) Reset() {
*x = FindAllEnabledServerStatBoardsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllEnabledServerStatBoardsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllEnabledServerStatBoardsRequest) ProtoMessage() {}
func (x *FindAllEnabledServerStatBoardsRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[0]
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 FindAllEnabledServerStatBoardsRequest.ProtoReflect.Descriptor instead.
func (*FindAllEnabledServerStatBoardsRequest) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{0}
}
func (x *FindAllEnabledServerStatBoardsRequest) GetNodeClusterId() int64 {
if x != nil {
return x.NodeClusterId
}
return 0
}
type FindAllEnabledServerStatBoardsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerStatBoards []*ServerStatBoard `protobuf:"bytes,1,rep,name=serverStatBoards,proto3" json:"serverStatBoards,omitempty"`
}
func (x *FindAllEnabledServerStatBoardsResponse) Reset() {
*x = FindAllEnabledServerStatBoardsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindAllEnabledServerStatBoardsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindAllEnabledServerStatBoardsResponse) ProtoMessage() {}
func (x *FindAllEnabledServerStatBoardsResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[1]
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 FindAllEnabledServerStatBoardsResponse.ProtoReflect.Descriptor instead.
func (*FindAllEnabledServerStatBoardsResponse) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{1}
}
func (x *FindAllEnabledServerStatBoardsResponse) GetServerStatBoards() []*ServerStatBoard {
if x != nil {
return x.ServerStatBoards
}
return nil
}
// 组合集群看板数据
type ComposeServerStatNodeClusterBoardRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
}
func (x *ComposeServerStatNodeClusterBoardRequest) Reset() {
*x = ComposeServerStatNodeClusterBoardRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatNodeClusterBoardRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatNodeClusterBoardRequest) ProtoMessage() {}
func (x *ComposeServerStatNodeClusterBoardRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[2]
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 ComposeServerStatNodeClusterBoardRequest.ProtoReflect.Descriptor instead.
func (*ComposeServerStatNodeClusterBoardRequest) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{2}
}
func (x *ComposeServerStatNodeClusterBoardRequest) GetNodeClusterId() int64 {
if x != nil {
return x.NodeClusterId
}
return 0
}
type ComposeServerStatNodeClusterBoardResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CountActiveNodes int64 `protobuf:"varint,1,opt,name=countActiveNodes,proto3" json:"countActiveNodes,omitempty"` // 在线节点
CountInactiveNodes int64 `protobuf:"varint,2,opt,name=countInactiveNodes,proto3" json:"countInactiveNodes,omitempty"` // 离线节点
CountServers int64 `protobuf:"varint,3,opt,name=countServers,proto3" json:"countServers,omitempty"` // 服务数量
CountUsers int64 `protobuf:"varint,4,opt,name=countUsers,proto3" json:"countUsers,omitempty"` // 用户数量
MonthlyTrafficBytes int64 `protobuf:"varint,5,opt,name=monthlyTrafficBytes,proto3" json:"monthlyTrafficBytes,omitempty"` // 当月流量
DailyTrafficBytes int64 `protobuf:"varint,6,opt,name=dailyTrafficBytes,proto3" json:"dailyTrafficBytes,omitempty"` // 当日流量
LastDailyTrafficBytes int64 `protobuf:"varint,7,opt,name=lastDailyTrafficBytes,proto3" json:"lastDailyTrafficBytes,omitempty"` // 昨日流量
DailyTrafficStats []*ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat `protobuf:"bytes,30,rep,name=dailyTrafficStats,proto3" json:"dailyTrafficStats,omitempty"`
HourlyTrafficStats []*ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat `protobuf:"bytes,31,rep,name=hourlyTrafficStats,proto3" json:"hourlyTrafficStats,omitempty"`
TopNodeStats []*ComposeServerStatNodeClusterBoardResponse_NodeStat `protobuf:"bytes,32,rep,name=topNodeStats,proto3" json:"topNodeStats,omitempty"`
CpuNodeValues []*NodeValue `protobuf:"bytes,34,rep,name=cpuNodeValues,proto3" json:"cpuNodeValues,omitempty"`
MemoryNodeValues []*NodeValue `protobuf:"bytes,35,rep,name=memoryNodeValues,proto3" json:"memoryNodeValues,omitempty"`
LoadNodeValues []*NodeValue `protobuf:"bytes,36,rep,name=loadNodeValues,proto3" json:"loadNodeValues,omitempty"`
MetricDataCharts []*MetricDataChart `protobuf:"bytes,37,rep,name=metricDataCharts,proto3" json:"metricDataCharts,omitempty"` // 指标图表
}
func (x *ComposeServerStatNodeClusterBoardResponse) Reset() {
*x = ComposeServerStatNodeClusterBoardResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatNodeClusterBoardResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatNodeClusterBoardResponse) ProtoMessage() {}
func (x *ComposeServerStatNodeClusterBoardResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[3]
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 ComposeServerStatNodeClusterBoardResponse.ProtoReflect.Descriptor instead.
func (*ComposeServerStatNodeClusterBoardResponse) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{3}
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetCountActiveNodes() int64 {
if x != nil {
return x.CountActiveNodes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetCountInactiveNodes() int64 {
if x != nil {
return x.CountInactiveNodes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetCountServers() int64 {
if x != nil {
return x.CountServers
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetCountUsers() int64 {
if x != nil {
return x.CountUsers
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetMonthlyTrafficBytes() int64 {
if x != nil {
return x.MonthlyTrafficBytes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetDailyTrafficBytes() int64 {
if x != nil {
return x.DailyTrafficBytes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetLastDailyTrafficBytes() int64 {
if x != nil {
return x.LastDailyTrafficBytes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetDailyTrafficStats() []*ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat {
if x != nil {
return x.DailyTrafficStats
}
return nil
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetHourlyTrafficStats() []*ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat {
if x != nil {
return x.HourlyTrafficStats
}
return nil
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetTopNodeStats() []*ComposeServerStatNodeClusterBoardResponse_NodeStat {
if x != nil {
return x.TopNodeStats
}
return nil
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetCpuNodeValues() []*NodeValue {
if x != nil {
return x.CpuNodeValues
}
return nil
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetMemoryNodeValues() []*NodeValue {
if x != nil {
return x.MemoryNodeValues
}
return nil
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetLoadNodeValues() []*NodeValue {
if x != nil {
return x.LoadNodeValues
}
return nil
}
func (x *ComposeServerStatNodeClusterBoardResponse) GetMetricDataCharts() []*MetricDataChart {
if x != nil {
return x.MetricDataCharts
}
return nil
}
// 组合节点看板数据
type ComposeServerStatNodeBoardRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` // 节点ID
}
func (x *ComposeServerStatNodeBoardRequest) Reset() {
*x = ComposeServerStatNodeBoardRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatNodeBoardRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatNodeBoardRequest) ProtoMessage() {}
func (x *ComposeServerStatNodeBoardRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[4]
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 ComposeServerStatNodeBoardRequest.ProtoReflect.Descriptor instead.
func (*ComposeServerStatNodeBoardRequest) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{4}
}
func (x *ComposeServerStatNodeBoardRequest) GetNodeId() int64 {
if x != nil {
return x.NodeId
}
return 0
}
type ComposeServerStatNodeBoardResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IsActive bool `protobuf:"varint,1,opt,name=isActive,proto3" json:"isActive,omitempty"`
TrafficInBytes int64 `protobuf:"varint,2,opt,name=trafficInBytes,proto3" json:"trafficInBytes,omitempty"`
TrafficOutBytes int64 `protobuf:"varint,3,opt,name=trafficOutBytes,proto3" json:"trafficOutBytes,omitempty"`
CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
CountAttackRequests int64 `protobuf:"varint,5,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"`
CountConnections int64 `protobuf:"varint,6,opt,name=countConnections,proto3" json:"countConnections,omitempty"`
CacheDiskSize int64 `protobuf:"varint,7,opt,name=cacheDiskSize,proto3" json:"cacheDiskSize,omitempty"`
CacheMemorySize int64 `protobuf:"varint,8,opt,name=cacheMemorySize,proto3" json:"cacheMemorySize,omitempty"`
CpuUsage float32 `protobuf:"fixed32,9,opt,name=cpuUsage,proto3" json:"cpuUsage,omitempty"`
MemoryUsage float32 `protobuf:"fixed32,10,opt,name=memoryUsage,proto3" json:"memoryUsage,omitempty"`
MemoryTotalSize int64 `protobuf:"varint,11,opt,name=memoryTotalSize,proto3" json:"memoryTotalSize,omitempty"`
Load float32 `protobuf:"fixed32,12,opt,name=load,proto3" json:"load,omitempty"`
MonthlyTrafficBytes int64 `protobuf:"varint,13,opt,name=monthlyTrafficBytes,proto3" json:"monthlyTrafficBytes,omitempty"` // 当月流量
DailyTrafficBytes int64 `protobuf:"varint,14,opt,name=dailyTrafficBytes,proto3" json:"dailyTrafficBytes,omitempty"` // 当日流量
LastDailyTrafficBytes int64 `protobuf:"varint,15,opt,name=lastDailyTrafficBytes,proto3" json:"lastDailyTrafficBytes,omitempty"` // 昨日流量
DailyTrafficStats []*ComposeServerStatNodeBoardResponse_DailyTrafficStat `protobuf:"bytes,31,rep,name=dailyTrafficStats,proto3" json:"dailyTrafficStats,omitempty"`
HourlyTrafficStats []*ComposeServerStatNodeBoardResponse_HourlyTrafficStat `protobuf:"bytes,32,rep,name=hourlyTrafficStats,proto3" json:"hourlyTrafficStats,omitempty"`
CpuNodeValues []*NodeValue `protobuf:"bytes,34,rep,name=cpuNodeValues,proto3" json:"cpuNodeValues,omitempty"` // CPU数据
MemoryNodeValues []*NodeValue `protobuf:"bytes,35,rep,name=memoryNodeValues,proto3" json:"memoryNodeValues,omitempty"` // 内存数据
LoadNodeValues []*NodeValue `protobuf:"bytes,36,rep,name=loadNodeValues,proto3" json:"loadNodeValues,omitempty"` // 负载数据
CacheDirsValues []*NodeValue `protobuf:"bytes,38,rep,name=cacheDirsValues,proto3" json:"cacheDirsValues,omitempty"` // 缓存目录数据
NetworkPacketsValues []*NodeValue `protobuf:"bytes,39,rep,name=networkPacketsValues,proto3" json:"networkPacketsValues,omitempty"` // 网络数据包数据
MetricDataCharts []*MetricDataChart `protobuf:"bytes,37,rep,name=metricDataCharts,proto3" json:"metricDataCharts,omitempty"`
}
func (x *ComposeServerStatNodeBoardResponse) Reset() {
*x = ComposeServerStatNodeBoardResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatNodeBoardResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatNodeBoardResponse) ProtoMessage() {}
func (x *ComposeServerStatNodeBoardResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[5]
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 ComposeServerStatNodeBoardResponse.ProtoReflect.Descriptor instead.
func (*ComposeServerStatNodeBoardResponse) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{5}
}
func (x *ComposeServerStatNodeBoardResponse) GetIsActive() bool {
if x != nil {
return x.IsActive
}
return false
}
func (x *ComposeServerStatNodeBoardResponse) GetTrafficInBytes() int64 {
if x != nil {
return x.TrafficInBytes
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetTrafficOutBytes() int64 {
if x != nil {
return x.TrafficOutBytes
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetCountRequests() int64 {
if x != nil {
return x.CountRequests
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetCountAttackRequests() int64 {
if x != nil {
return x.CountAttackRequests
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetCountConnections() int64 {
if x != nil {
return x.CountConnections
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetCacheDiskSize() int64 {
if x != nil {
return x.CacheDiskSize
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetCacheMemorySize() int64 {
if x != nil {
return x.CacheMemorySize
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetCpuUsage() float32 {
if x != nil {
return x.CpuUsage
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetMemoryUsage() float32 {
if x != nil {
return x.MemoryUsage
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetMemoryTotalSize() int64 {
if x != nil {
return x.MemoryTotalSize
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetLoad() float32 {
if x != nil {
return x.Load
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetMonthlyTrafficBytes() int64 {
if x != nil {
return x.MonthlyTrafficBytes
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetDailyTrafficBytes() int64 {
if x != nil {
return x.DailyTrafficBytes
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetLastDailyTrafficBytes() int64 {
if x != nil {
return x.LastDailyTrafficBytes
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse) GetDailyTrafficStats() []*ComposeServerStatNodeBoardResponse_DailyTrafficStat {
if x != nil {
return x.DailyTrafficStats
}
return nil
}
func (x *ComposeServerStatNodeBoardResponse) GetHourlyTrafficStats() []*ComposeServerStatNodeBoardResponse_HourlyTrafficStat {
if x != nil {
return x.HourlyTrafficStats
}
return nil
}
func (x *ComposeServerStatNodeBoardResponse) GetCpuNodeValues() []*NodeValue {
if x != nil {
return x.CpuNodeValues
}
return nil
}
func (x *ComposeServerStatNodeBoardResponse) GetMemoryNodeValues() []*NodeValue {
if x != nil {
return x.MemoryNodeValues
}
return nil
}
func (x *ComposeServerStatNodeBoardResponse) GetLoadNodeValues() []*NodeValue {
if x != nil {
return x.LoadNodeValues
}
return nil
}
func (x *ComposeServerStatNodeBoardResponse) GetCacheDirsValues() []*NodeValue {
if x != nil {
return x.CacheDirsValues
}
return nil
}
func (x *ComposeServerStatNodeBoardResponse) GetNetworkPacketsValues() []*NodeValue {
if x != nil {
return x.NetworkPacketsValues
}
return nil
}
func (x *ComposeServerStatNodeBoardResponse) GetMetricDataCharts() []*MetricDataChart {
if x != nil {
return x.MetricDataCharts
}
return nil
}
// 组合服务看板数据
type ComposeServerStatBoardRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
}
func (x *ComposeServerStatBoardRequest) Reset() {
*x = ComposeServerStatBoardRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatBoardRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatBoardRequest) ProtoMessage() {}
func (x *ComposeServerStatBoardRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[6]
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 ComposeServerStatBoardRequest.ProtoReflect.Descriptor instead.
func (*ComposeServerStatBoardRequest) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{6}
}
func (x *ComposeServerStatBoardRequest) GetServerId() int64 {
if x != nil {
return x.ServerId
}
return 0
}
type ComposeServerStatBoardResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MinutelyPeekBandwidthBytes int64 `protobuf:"varint,5,opt,name=minutelyPeekBandwidthBytes,proto3" json:"minutelyPeekBandwidthBytes,omitempty"` // 当前带宽N分钟峰值
DailyPeekBandwidthBytes int64 `protobuf:"varint,2,opt,name=dailyPeekBandwidthBytes,proto3" json:"dailyPeekBandwidthBytes,omitempty"` // 当天带宽峰值
MonthlyPeekBandwidthBytes int64 `protobuf:"varint,3,opt,name=monthlyPeekBandwidthBytes,proto3" json:"monthlyPeekBandwidthBytes,omitempty"` // 当月带宽峰值
LastMonthlyPeekBandwidthBytes int64 `protobuf:"varint,4,opt,name=lastMonthlyPeekBandwidthBytes,proto3" json:"lastMonthlyPeekBandwidthBytes,omitempty"` // 上个月带宽峰值
DailyCountIPs int64 `protobuf:"varint,9,opt,name=dailyCountIPs,proto3" json:"dailyCountIPs,omitempty"` // 当天独立IP
DailyTrafficBytes int64 `protobuf:"varint,10,opt,name=dailyTrafficBytes,proto3" json:"dailyTrafficBytes,omitempty"` // 当天流量
BandwidthPercentile int32 `protobuf:"varint,7,opt,name=bandwidthPercentile,proto3" json:"bandwidthPercentile,omitempty"`
MinutelyBandwidthStats []*ServerBandwidthStat `protobuf:"bytes,1,rep,name=minutelyBandwidthStats,proto3" json:"minutelyBandwidthStats,omitempty"` // 分钟级的带宽统计
MinutelyNthBandwidthStat *ServerBandwidthStat `protobuf:"bytes,8,opt,name=minutelyNthBandwidthStat,proto3" json:"minutelyNthBandwidthStat,omitempty"`
DailyTrafficStats []*ComposeServerStatBoardResponse_DailyTrafficStat `protobuf:"bytes,30,rep,name=dailyTrafficStats,proto3" json:"dailyTrafficStats,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"`
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"`
}
func (x *ComposeServerStatBoardResponse) Reset() {
*x = ComposeServerStatBoardResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatBoardResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatBoardResponse) ProtoMessage() {}
func (x *ComposeServerStatBoardResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[7]
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.ProtoReflect.Descriptor instead.
func (*ComposeServerStatBoardResponse) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{7}
}
func (x *ComposeServerStatBoardResponse) GetMinutelyPeekBandwidthBytes() int64 {
if x != nil {
return x.MinutelyPeekBandwidthBytes
}
return 0
}
func (x *ComposeServerStatBoardResponse) GetDailyPeekBandwidthBytes() int64 {
if x != nil {
return x.DailyPeekBandwidthBytes
}
return 0
}
func (x *ComposeServerStatBoardResponse) GetMonthlyPeekBandwidthBytes() int64 {
if x != nil {
return x.MonthlyPeekBandwidthBytes
}
return 0
}
func (x *ComposeServerStatBoardResponse) GetLastMonthlyPeekBandwidthBytes() int64 {
if x != nil {
return x.LastMonthlyPeekBandwidthBytes
}
return 0
}
func (x *ComposeServerStatBoardResponse) GetDailyCountIPs() int64 {
if x != nil {
return x.DailyCountIPs
}
return 0
}
func (x *ComposeServerStatBoardResponse) GetDailyTrafficBytes() int64 {
if x != nil {
return x.DailyTrafficBytes
}
return 0
}
func (x *ComposeServerStatBoardResponse) GetBandwidthPercentile() int32 {
if x != nil {
return x.BandwidthPercentile
}
return 0
}
func (x *ComposeServerStatBoardResponse) GetMinutelyBandwidthStats() []*ServerBandwidthStat {
if x != nil {
return x.MinutelyBandwidthStats
}
return nil
}
func (x *ComposeServerStatBoardResponse) GetMinutelyNthBandwidthStat() *ServerBandwidthStat {
if x != nil {
return x.MinutelyNthBandwidthStat
}
return nil
}
func (x *ComposeServerStatBoardResponse) GetDailyTrafficStats() []*ComposeServerStatBoardResponse_DailyTrafficStat {
if x != nil {
return x.DailyTrafficStats
}
return nil
}
func (x *ComposeServerStatBoardResponse) GetHourlyTrafficStats() []*ComposeServerStatBoardResponse_HourlyTrafficStat {
if x != nil {
return x.HourlyTrafficStats
}
return nil
}
func (x *ComposeServerStatBoardResponse) GetTopNodeStats() []*ComposeServerStatBoardResponse_NodeStat {
if x != nil {
return x.TopNodeStats
}
return nil
}
func (x *ComposeServerStatBoardResponse) GetTopCountryStats() []*ComposeServerStatBoardResponse_CountryStat {
if x != nil {
return x.TopCountryStats
}
return nil
}
func (x *ComposeServerStatBoardResponse) GetMetricDataCharts() []*MetricDataChart {
if x != nil {
return x.MetricDataCharts
}
return nil
}
// 矩阵数据
type MetricDataChart struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
MetricChart *MetricChart `protobuf:"bytes,1,opt,name=metricChart,proto3" json:"metricChart,omitempty"`
MetricStats []*MetricStat `protobuf:"bytes,2,rep,name=metricStats,proto3" json:"metricStats,omitempty"`
}
func (x *MetricDataChart) Reset() {
*x = MetricDataChart{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MetricDataChart) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MetricDataChart) ProtoMessage() {}
func (x *MetricDataChart) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[8]
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 MetricDataChart.ProtoReflect.Descriptor instead.
func (*MetricDataChart) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{8}
}
func (x *MetricDataChart) GetMetricChart() *MetricChart {
if x != nil {
return x.MetricChart
}
return nil
}
func (x *MetricDataChart) GetMetricStats() []*MetricStat {
if x != nil {
return x.MetricStats
}
return nil
}
// 日流量统计
type ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Day string `protobuf:"bytes,1,opt,name=day,proto3" json:"day,omitempty"`
Bytes int64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
CachedBytes int64 `protobuf:"varint,3,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"`
CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
CountCachedRequests int64 `protobuf:"varint,5,opt,name=countCachedRequests,proto3" json:"countCachedRequests,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 *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) Reset() {
*x = ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) ProtoMessage() {}
func (x *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[9]
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 ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat.ProtoReflect.Descriptor instead.
func (*ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{3, 0}
}
func (x *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) GetDay() string {
if x != nil {
return x.Day
}
return ""
}
func (x *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) GetBytes() int64 {
if x != nil {
return x.Bytes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) GetCachedBytes() int64 {
if x != nil {
return x.CachedBytes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) GetCountRequests() int64 {
if x != nil {
return x.CountRequests
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) GetCountCachedRequests() int64 {
if x != nil {
return x.CountCachedRequests
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) GetCountAttackRequests() int64 {
if x != nil {
return x.CountAttackRequests
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat) GetAttackBytes() int64 {
if x != nil {
return x.AttackBytes
}
return 0
}
// 小时流量统计
type ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hour string `protobuf:"bytes,1,opt,name=hour,proto3" json:"hour,omitempty"`
Bytes int64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
CachedBytes int64 `protobuf:"varint,3,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"`
CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
CountCachedRequests int64 `protobuf:"varint,5,opt,name=countCachedRequests,proto3" json:"countCachedRequests,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 *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) Reset() {
*x = ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) ProtoMessage() {}
func (x *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[10]
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 ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat.ProtoReflect.Descriptor instead.
func (*ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{3, 1}
}
func (x *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) GetHour() string {
if x != nil {
return x.Hour
}
return ""
}
func (x *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) GetBytes() int64 {
if x != nil {
return x.Bytes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) GetCachedBytes() int64 {
if x != nil {
return x.CachedBytes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) GetCountRequests() int64 {
if x != nil {
return x.CountRequests
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) GetCountCachedRequests() int64 {
if x != nil {
return x.CountCachedRequests
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) GetCountAttackRequests() int64 {
if x != nil {
return x.CountAttackRequests
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat) GetAttackBytes() int64 {
if x != nil {
return x.AttackBytes
}
return 0
}
// 节点统计
type ComposeServerStatNodeClusterBoardResponse_NodeStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
NodeName string `protobuf:"bytes,2,opt,name=nodeName,proto3" json:"nodeName,omitempty"`
CountRequests int64 `protobuf:"varint,3,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
Bytes int64 `protobuf:"varint,4,opt,name=bytes,proto3" json:"bytes,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 *ComposeServerStatNodeClusterBoardResponse_NodeStat) Reset() {
*x = ComposeServerStatNodeClusterBoardResponse_NodeStat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatNodeClusterBoardResponse_NodeStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatNodeClusterBoardResponse_NodeStat) ProtoMessage() {}
func (x *ComposeServerStatNodeClusterBoardResponse_NodeStat) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[11]
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 ComposeServerStatNodeClusterBoardResponse_NodeStat.ProtoReflect.Descriptor instead.
func (*ComposeServerStatNodeClusterBoardResponse_NodeStat) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{3, 2}
}
func (x *ComposeServerStatNodeClusterBoardResponse_NodeStat) GetNodeId() int64 {
if x != nil {
return x.NodeId
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_NodeStat) GetNodeName() string {
if x != nil {
return x.NodeName
}
return ""
}
func (x *ComposeServerStatNodeClusterBoardResponse_NodeStat) GetCountRequests() int64 {
if x != nil {
return x.CountRequests
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_NodeStat) GetBytes() int64 {
if x != nil {
return x.Bytes
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_NodeStat) GetCountAttackRequests() int64 {
if x != nil {
return x.CountAttackRequests
}
return 0
}
func (x *ComposeServerStatNodeClusterBoardResponse_NodeStat) GetAttackBytes() int64 {
if x != nil {
return x.AttackBytes
}
return 0
}
type ComposeServerStatNodeBoardResponse_DailyTrafficStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Day string `protobuf:"bytes,1,opt,name=day,proto3" json:"day,omitempty"`
Bytes int64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
CachedBytes int64 `protobuf:"varint,3,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"`
CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
CountCachedRequests int64 `protobuf:"varint,5,opt,name=countCachedRequests,proto3" json:"countCachedRequests,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 *ComposeServerStatNodeBoardResponse_DailyTrafficStat) Reset() {
*x = ComposeServerStatNodeBoardResponse_DailyTrafficStat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatNodeBoardResponse_DailyTrafficStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatNodeBoardResponse_DailyTrafficStat) ProtoMessage() {}
func (x *ComposeServerStatNodeBoardResponse_DailyTrafficStat) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[12]
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 ComposeServerStatNodeBoardResponse_DailyTrafficStat.ProtoReflect.Descriptor instead.
func (*ComposeServerStatNodeBoardResponse_DailyTrafficStat) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{5, 0}
}
func (x *ComposeServerStatNodeBoardResponse_DailyTrafficStat) GetDay() string {
if x != nil {
return x.Day
}
return ""
}
func (x *ComposeServerStatNodeBoardResponse_DailyTrafficStat) GetBytes() int64 {
if x != nil {
return x.Bytes
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_DailyTrafficStat) GetCachedBytes() int64 {
if x != nil {
return x.CachedBytes
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_DailyTrafficStat) GetCountRequests() int64 {
if x != nil {
return x.CountRequests
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_DailyTrafficStat) GetCountCachedRequests() int64 {
if x != nil {
return x.CountCachedRequests
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_DailyTrafficStat) GetCountAttackRequests() int64 {
if x != nil {
return x.CountAttackRequests
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_DailyTrafficStat) GetAttackBytes() int64 {
if x != nil {
return x.AttackBytes
}
return 0
}
type ComposeServerStatNodeBoardResponse_HourlyTrafficStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hour string `protobuf:"bytes,1,opt,name=hour,proto3" json:"hour,omitempty"`
Bytes int64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
CachedBytes int64 `protobuf:"varint,3,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"`
CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
CountCachedRequests int64 `protobuf:"varint,5,opt,name=countCachedRequests,proto3" json:"countCachedRequests,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 *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) Reset() {
*x = ComposeServerStatNodeBoardResponse_HourlyTrafficStat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatNodeBoardResponse_HourlyTrafficStat) ProtoMessage() {}
func (x *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[13]
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 ComposeServerStatNodeBoardResponse_HourlyTrafficStat.ProtoReflect.Descriptor instead.
func (*ComposeServerStatNodeBoardResponse_HourlyTrafficStat) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{5, 1}
}
func (x *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) GetHour() string {
if x != nil {
return x.Hour
}
return ""
}
func (x *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) GetBytes() int64 {
if x != nil {
return x.Bytes
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) GetCachedBytes() int64 {
if x != nil {
return x.CachedBytes
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) GetCountRequests() int64 {
if x != nil {
return x.CountRequests
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) GetCountCachedRequests() int64 {
if x != nil {
return x.CountCachedRequests
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) GetCountAttackRequests() int64 {
if x != nil {
return x.CountAttackRequests
}
return 0
}
func (x *ComposeServerStatNodeBoardResponse_HourlyTrafficStat) GetAttackBytes() int64 {
if x != nil {
return x.AttackBytes
}
return 0
}
type ComposeServerStatBoardResponse_DailyTrafficStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Day string `protobuf:"bytes,1,opt,name=day,proto3" json:"day,omitempty"`
Bytes int64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
CachedBytes int64 `protobuf:"varint,3,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"`
CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
CountCachedRequests int64 `protobuf:"varint,5,opt,name=countCachedRequests,proto3" json:"countCachedRequests,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_DailyTrafficStat) Reset() {
*x = ComposeServerStatBoardResponse_DailyTrafficStat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatBoardResponse_DailyTrafficStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatBoardResponse_DailyTrafficStat) ProtoMessage() {}
func (x *ComposeServerStatBoardResponse_DailyTrafficStat) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[14]
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_DailyTrafficStat.ProtoReflect.Descriptor instead.
func (*ComposeServerStatBoardResponse_DailyTrafficStat) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{7, 0}
}
func (x *ComposeServerStatBoardResponse_DailyTrafficStat) GetDay() string {
if x != nil {
return x.Day
}
return ""
}
func (x *ComposeServerStatBoardResponse_DailyTrafficStat) GetBytes() int64 {
if x != nil {
return x.Bytes
}
return 0
}
func (x *ComposeServerStatBoardResponse_DailyTrafficStat) GetCachedBytes() int64 {
if x != nil {
return x.CachedBytes
}
return 0
}
func (x *ComposeServerStatBoardResponse_DailyTrafficStat) GetCountRequests() int64 {
if x != nil {
return x.CountRequests
}
return 0
}
func (x *ComposeServerStatBoardResponse_DailyTrafficStat) GetCountCachedRequests() int64 {
if x != nil {
return x.CountCachedRequests
}
return 0
}
func (x *ComposeServerStatBoardResponse_DailyTrafficStat) GetCountAttackRequests() int64 {
if x != nil {
return x.CountAttackRequests
}
return 0
}
func (x *ComposeServerStatBoardResponse_DailyTrafficStat) GetAttackBytes() int64 {
if x != nil {
return x.AttackBytes
}
return 0
}
type ComposeServerStatBoardResponse_HourlyTrafficStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Hour string `protobuf:"bytes,1,opt,name=hour,proto3" json:"hour,omitempty"`
Bytes int64 `protobuf:"varint,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
CachedBytes int64 `protobuf:"varint,3,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"`
CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
CountCachedRequests int64 `protobuf:"varint,5,opt,name=countCachedRequests,proto3" json:"countCachedRequests,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_HourlyTrafficStat) Reset() {
*x = ComposeServerStatBoardResponse_HourlyTrafficStat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatBoardResponse_HourlyTrafficStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatBoardResponse_HourlyTrafficStat) ProtoMessage() {}
func (x *ComposeServerStatBoardResponse_HourlyTrafficStat) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[15]
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_HourlyTrafficStat.ProtoReflect.Descriptor instead.
func (*ComposeServerStatBoardResponse_HourlyTrafficStat) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{7, 1}
}
func (x *ComposeServerStatBoardResponse_HourlyTrafficStat) GetHour() string {
if x != nil {
return x.Hour
}
return ""
}
func (x *ComposeServerStatBoardResponse_HourlyTrafficStat) GetBytes() int64 {
if x != nil {
return x.Bytes
}
return 0
}
func (x *ComposeServerStatBoardResponse_HourlyTrafficStat) GetCachedBytes() int64 {
if x != nil {
return x.CachedBytes
}
return 0
}
func (x *ComposeServerStatBoardResponse_HourlyTrafficStat) GetCountRequests() int64 {
if x != nil {
return x.CountRequests
}
return 0
}
func (x *ComposeServerStatBoardResponse_HourlyTrafficStat) GetCountCachedRequests() int64 {
if x != nil {
return x.CountCachedRequests
}
return 0
}
func (x *ComposeServerStatBoardResponse_HourlyTrafficStat) GetCountAttackRequests() int64 {
if x != nil {
return x.CountAttackRequests
}
return 0
}
func (x *ComposeServerStatBoardResponse_HourlyTrafficStat) GetAttackBytes() int64 {
if x != nil {
return x.AttackBytes
}
return 0
}
type ComposeServerStatBoardResponse_NodeStat struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
NodeName string `protobuf:"bytes,2,opt,name=nodeName,proto3" json:"nodeName,omitempty"`
CountRequests int64 `protobuf:"varint,3,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
Bytes int64 `protobuf:"varint,4,opt,name=bytes,proto3" json:"bytes,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_NodeStat) Reset() {
*x = ComposeServerStatBoardResponse_NodeStat{}
if protoimpl.UnsafeEnabled {
mi := &file_service_server_stat_board_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ComposeServerStatBoardResponse_NodeStat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ComposeServerStatBoardResponse_NodeStat) ProtoMessage() {}
func (x *ComposeServerStatBoardResponse_NodeStat) ProtoReflect() protoreflect.Message {
mi := &file_service_server_stat_board_proto_msgTypes[16]
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_NodeStat.ProtoReflect.Descriptor instead.
func (*ComposeServerStatBoardResponse_NodeStat) Descriptor() ([]byte, []int) {
return file_service_server_stat_board_proto_rawDescGZIP(), []int{7, 2}
}
func (x *ComposeServerStatBoardResponse_NodeStat) GetNodeId() int64 {
if x != nil {
return x.NodeId
}
return 0
}
func (x *ComposeServerStatBoardResponse_NodeStat) GetNodeName() string {
if x != nil {
return x.NodeName
}
return ""
}
func (x *ComposeServerStatBoardResponse_NodeStat) GetCountRequests() int64 {
if x != nil {
return x.CountRequests
}
return 0
}
func (x *ComposeServerStatBoardResponse_NodeStat) GetBytes() int64 {
if x != nil {
return x.Bytes
}
return 0
}
func (x *ComposeServerStatBoardResponse_NodeStat) GetCountAttackRequests() int64 {
if x != nil {
return x.CountAttackRequests
}
return 0
}
func (x *ComposeServerStatBoardResponse_NodeStat) GetAttackBytes() int64 {
if x != nil {
return x.AttackBytes
}
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[17]
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[17]
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, 3}
}
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_rawDesc = []byte{
0x0a, 0x1f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x24, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f,
0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f,
0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65,
0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f,
0x63, 0x68, 0x61, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x6d, 0x6f, 0x64,
0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4d, 0x0a, 0x25, 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, 0x12, 0x24,
0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
0x65, 0x72, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x26, 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, 0x3f,
0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72,
0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x10, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22,
0x50, 0x0a, 0x28, 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, 0x12, 0x24, 0x0a, 0x0d, 0x6e,
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x03, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
0x64, 0x22, 0xee, 0x0c, 0x0a, 0x29, 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,
0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f,
0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65,
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e,
0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12,
0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12,
0x30, 0x0a, 0x13, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x6f,
0x6e, 0x74, 0x68, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65,
0x73, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x61,
0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12,
0x34, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66,
0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15,
0x6c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6c, 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, 0x3e, 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, 0x2e,
0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74,
0x52, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74,
0x61, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61,
0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x3f, 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, 0x2e, 0x48,
0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74,
0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53,
0x74, 0x61, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x0c, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53,
0x74, 0x61, 0x74, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 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, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74,
0x61, 0x74, 0x52, 0x0c, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73,
0x12, 0x33, 0x0a, 0x0d, 0x63, 0x70, 0x75, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64,
0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x63, 0x70, 0x75, 0x4e, 0x6f, 0x64, 0x65, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4e,
0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10,
0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
0x12, 0x35, 0x0a, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64,
0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74,
0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x10, 0x6d, 0x65, 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, 0x22, 0x3b, 0x0a, 0x21, 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, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22,
0xc6, 0x0d, 0x0a, 0x22, 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, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69,
0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69,
0x76, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x6e, 0x42,
0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x66,
0x66, 0x69, 0x63, 0x49, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x74, 0x72,
0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x75, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20,
0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4f, 0x75, 0x74, 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, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x73, 0x18, 0x05, 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, 0x2a, 0x0a, 0x10,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68,
0x65, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x28,
0x0a, 0x0f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a,
0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x65,
0x6d, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x55,
0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x63, 0x70, 0x75, 0x55,
0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73,
0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52,
0x0f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04,
0x6c, 0x6f, 0x61, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x54,
0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x03, 0x52, 0x13, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69,
0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54,
0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x03, 0x52, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42,
0x79, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x69, 0x6c,
0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20,
0x01, 0x28, 0x03, 0x52, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72,
0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x11, 0x64, 0x61,
0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18,
0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 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, 0x2e, 0x44, 0x61,
0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x11,
0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74,
0x73, 0x12, 0x68, 0x0a, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66,
0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 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, 0x2e, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66,
0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54,
0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x0d, 0x63,
0x70, 0x75, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x22, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x52, 0x0d, 0x63, 0x70, 0x75, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
0x12, 0x39, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61,
0x6c, 0x75, 0x65, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e,
0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
0x79, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x0e, 0x6c,
0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x24, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x52, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75,
0x65, 0x73, 0x12, 0x37, 0x0a, 0x0f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x73, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62,
0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x63, 0x61, 0x63, 0x68,
0x65, 0x44, 0x69, 0x72, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x14, 0x6e,
0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x56, 0x61, 0x6c,
0x75, 0x65, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e,
0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3f,
0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72,
0x74, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x10, 0x6d,
0x65, 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, 0x22, 0x3b, 0x0a, 0x1d, 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, 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, 0xc5, 0x0f, 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, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x1a, 0x6d, 0x69, 0x6e, 0x75,
0x74, 0x65, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x6d, 0x69,
0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69,
0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x17, 0x64, 0x61, 0x69, 0x6c,
0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79,
0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x64, 0x61, 0x69, 0x6c, 0x79,
0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74,
0x65, 0x73, 0x12, 0x3c, 0x0a, 0x19, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x65, 0x65,
0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x18,
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x65,
0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65, 0x73,
0x12, 0x44, 0x0a, 0x1d, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50,
0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x79, 0x74, 0x65,
0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x6e,
0x74, 0x68, 0x6c, 0x79, 0x50, 0x65, 0x65, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
0x68, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64,
0x61, 0x69, 0x6c, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x50, 0x73, 0x12, 0x2c, 0x0a, 0x11,
0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65,
0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72,
0x61, 0x66, 0x66, 0x69, 0x63, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x62, 0x61,
0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c,
0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64,
0x74, 0x68, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x4f, 0x0a, 0x16,
0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74,
0x68, 0x53, 0x74, 0x61, 0x74, 0x52, 0x16, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x42,
0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x53, 0x0a,
0x18, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x4e, 0x74, 0x68, 0x42, 0x61, 0x6e, 0x64,
0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x17, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77,
0x69, 0x64, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x52, 0x18, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65,
0x6c, 0x79, 0x4e, 0x74, 0x68, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x53, 0x74,
0x61, 0x74, 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,
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, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74,
0x61, 0x74, 0x52, 0x11, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63,
0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54,
0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x34, 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, 0x2e, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54, 0x72, 0x61, 0x66,
0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x52, 0x12, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x54,
0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x74,
0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x2b, 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, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0c,
0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x0f,
0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18,
0x23, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 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, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72,
0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72,
0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44, 0x61, 0x74, 0x61,
0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x10, 0x6d, 0x65, 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, 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, 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,
0x18, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02,
0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 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, 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 (
file_service_server_stat_board_proto_rawDescOnce sync.Once
file_service_server_stat_board_proto_rawDescData = file_service_server_stat_board_proto_rawDesc
)
func file_service_server_stat_board_proto_rawDescGZIP() []byte {
file_service_server_stat_board_proto_rawDescOnce.Do(func() {
file_service_server_stat_board_proto_rawDescData = protoimpl.X.CompressGZIP(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, 18)
var file_service_server_stat_board_proto_goTypes = []interface{}{
(*FindAllEnabledServerStatBoardsRequest)(nil), // 0: pb.FindAllEnabledServerStatBoardsRequest
(*FindAllEnabledServerStatBoardsResponse)(nil), // 1: pb.FindAllEnabledServerStatBoardsResponse
(*ComposeServerStatNodeClusterBoardRequest)(nil), // 2: pb.ComposeServerStatNodeClusterBoardRequest
(*ComposeServerStatNodeClusterBoardResponse)(nil), // 3: pb.ComposeServerStatNodeClusterBoardResponse
(*ComposeServerStatNodeBoardRequest)(nil), // 4: pb.ComposeServerStatNodeBoardRequest
(*ComposeServerStatNodeBoardResponse)(nil), // 5: pb.ComposeServerStatNodeBoardResponse
(*ComposeServerStatBoardRequest)(nil), // 6: pb.ComposeServerStatBoardRequest
(*ComposeServerStatBoardResponse)(nil), // 7: pb.ComposeServerStatBoardResponse
(*MetricDataChart)(nil), // 8: pb.MetricDataChart
(*ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat)(nil), // 9: pb.ComposeServerStatNodeClusterBoardResponse.DailyTrafficStat
(*ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat)(nil), // 10: pb.ComposeServerStatNodeClusterBoardResponse.HourlyTrafficStat
(*ComposeServerStatNodeClusterBoardResponse_NodeStat)(nil), // 11: pb.ComposeServerStatNodeClusterBoardResponse.NodeStat
(*ComposeServerStatNodeBoardResponse_DailyTrafficStat)(nil), // 12: pb.ComposeServerStatNodeBoardResponse.DailyTrafficStat
(*ComposeServerStatNodeBoardResponse_HourlyTrafficStat)(nil), // 13: pb.ComposeServerStatNodeBoardResponse.HourlyTrafficStat
(*ComposeServerStatBoardResponse_DailyTrafficStat)(nil), // 14: pb.ComposeServerStatBoardResponse.DailyTrafficStat
(*ComposeServerStatBoardResponse_HourlyTrafficStat)(nil), // 15: pb.ComposeServerStatBoardResponse.HourlyTrafficStat
(*ComposeServerStatBoardResponse_NodeStat)(nil), // 16: pb.ComposeServerStatBoardResponse.NodeStat
(*ComposeServerStatBoardResponse_CountryStat)(nil), // 17: pb.ComposeServerStatBoardResponse.CountryStat
(*ServerStatBoard)(nil), // 18: pb.ServerStatBoard
(*NodeValue)(nil), // 19: pb.NodeValue
(*ServerBandwidthStat)(nil), // 20: pb.ServerBandwidthStat
(*MetricChart)(nil), // 21: pb.MetricChart
(*MetricStat)(nil), // 22: pb.MetricStat
}
var file_service_server_stat_board_proto_depIdxs = []int32{
18, // 0: pb.FindAllEnabledServerStatBoardsResponse.serverStatBoards:type_name -> pb.ServerStatBoard
9, // 1: pb.ComposeServerStatNodeClusterBoardResponse.dailyTrafficStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.DailyTrafficStat
10, // 2: pb.ComposeServerStatNodeClusterBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.HourlyTrafficStat
11, // 3: pb.ComposeServerStatNodeClusterBoardResponse.topNodeStats:type_name -> pb.ComposeServerStatNodeClusterBoardResponse.NodeStat
19, // 4: pb.ComposeServerStatNodeClusterBoardResponse.cpuNodeValues:type_name -> pb.NodeValue
19, // 5: pb.ComposeServerStatNodeClusterBoardResponse.memoryNodeValues:type_name -> pb.NodeValue
19, // 6: pb.ComposeServerStatNodeClusterBoardResponse.loadNodeValues:type_name -> pb.NodeValue
8, // 7: pb.ComposeServerStatNodeClusterBoardResponse.metricDataCharts:type_name -> pb.MetricDataChart
12, // 8: pb.ComposeServerStatNodeBoardResponse.dailyTrafficStats:type_name -> pb.ComposeServerStatNodeBoardResponse.DailyTrafficStat
13, // 9: pb.ComposeServerStatNodeBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeServerStatNodeBoardResponse.HourlyTrafficStat
19, // 10: pb.ComposeServerStatNodeBoardResponse.cpuNodeValues:type_name -> pb.NodeValue
19, // 11: pb.ComposeServerStatNodeBoardResponse.memoryNodeValues:type_name -> pb.NodeValue
19, // 12: pb.ComposeServerStatNodeBoardResponse.loadNodeValues:type_name -> pb.NodeValue
19, // 13: pb.ComposeServerStatNodeBoardResponse.cacheDirsValues:type_name -> pb.NodeValue
19, // 14: pb.ComposeServerStatNodeBoardResponse.networkPacketsValues:type_name -> pb.NodeValue
8, // 15: pb.ComposeServerStatNodeBoardResponse.metricDataCharts:type_name -> pb.MetricDataChart
20, // 16: pb.ComposeServerStatBoardResponse.minutelyBandwidthStats:type_name -> pb.ServerBandwidthStat
20, // 17: pb.ComposeServerStatBoardResponse.minutelyNthBandwidthStat:type_name -> pb.ServerBandwidthStat
14, // 18: pb.ComposeServerStatBoardResponse.dailyTrafficStats:type_name -> pb.ComposeServerStatBoardResponse.DailyTrafficStat
15, // 19: pb.ComposeServerStatBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeServerStatBoardResponse.HourlyTrafficStat
16, // 20: pb.ComposeServerStatBoardResponse.topNodeStats:type_name -> pb.ComposeServerStatBoardResponse.NodeStat
17, // 21: pb.ComposeServerStatBoardResponse.topCountryStats:type_name -> pb.ComposeServerStatBoardResponse.CountryStat
8, // 22: pb.ComposeServerStatBoardResponse.metricDataCharts:type_name -> pb.MetricDataChart
21, // 23: pb.MetricDataChart.metricChart:type_name -> pb.MetricChart
22, // 24: pb.MetricDataChart.metricStats:type_name -> pb.MetricStat
0, // 25: pb.ServerStatBoardService.findAllEnabledServerStatBoards:input_type -> pb.FindAllEnabledServerStatBoardsRequest
2, // 26: pb.ServerStatBoardService.composeServerStatNodeClusterBoard:input_type -> pb.ComposeServerStatNodeClusterBoardRequest
4, // 27: pb.ServerStatBoardService.composeServerStatNodeBoard:input_type -> pb.ComposeServerStatNodeBoardRequest
6, // 28: pb.ServerStatBoardService.composeServerStatBoard:input_type -> pb.ComposeServerStatBoardRequest
1, // 29: pb.ServerStatBoardService.findAllEnabledServerStatBoards:output_type -> pb.FindAllEnabledServerStatBoardsResponse
3, // 30: pb.ServerStatBoardService.composeServerStatNodeClusterBoard:output_type -> pb.ComposeServerStatNodeClusterBoardResponse
5, // 31: pb.ServerStatBoardService.composeServerStatNodeBoard:output_type -> pb.ComposeServerStatNodeBoardResponse
7, // 32: pb.ServerStatBoardService.composeServerStatBoard:output_type -> pb.ComposeServerStatBoardResponse
29, // [29:33] is the sub-list for method output_type
25, // [25:29] is the sub-list for method input_type
25, // [25:25] is the sub-list for extension 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 file_service_server_stat_board_proto_init() {
if File_service_server_stat_board_proto != nil {
return
}
file_models_model_server_stat_board_proto_init()
file_models_model_node_value_proto_init()
file_models_model_metric_chart_proto_init()
file_models_model_metric_stat_proto_init()
file_models_model_server_bandwidth_stat_proto_init()
if !protoimpl.UnsafeEnabled {
file_service_server_stat_board_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllEnabledServerStatBoardsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindAllEnabledServerStatBoardsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatNodeClusterBoardRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatNodeClusterBoardResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatNodeBoardRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatNodeBoardResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatBoardRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatBoardResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MetricDataChart); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatNodeClusterBoardResponse_DailyTrafficStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatNodeClusterBoardResponse_HourlyTrafficStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatNodeClusterBoardResponse_NodeStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatNodeBoardResponse_DailyTrafficStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatNodeBoardResponse_HourlyTrafficStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatBoardResponse_DailyTrafficStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatBoardResponse_HourlyTrafficStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ComposeServerStatBoardResponse_NodeStat); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_server_stat_board_proto_msgTypes[17].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{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_server_stat_board_proto_rawDesc,
NumEnums: 0,
NumMessages: 18,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_server_stat_board_proto_goTypes,
DependencyIndexes: file_service_server_stat_board_proto_depIdxs,
MessageInfos: file_service_server_stat_board_proto_msgTypes,
}.Build()
File_service_server_stat_board_proto = out.File
file_service_server_stat_board_proto_rawDesc = nil
file_service_server_stat_board_proto_goTypes = nil
file_service_server_stat_board_proto_depIdxs = nil
}