Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5ae86305f9 | ||
|
|
f83be52482 | ||
|
|
a241b9a9df | ||
|
|
b9e01b7738 | ||
|
|
587cd4484a | ||
|
|
8fd93ffbbe | ||
|
|
616b855d61 | ||
|
|
3a12813da3 | ||
|
|
66f04de8c1 | ||
|
|
b4c72dc8f4 | ||
|
|
4e84c7b376 | ||
|
|
50d8a575a6 | ||
|
|
499ec2306c | ||
|
|
aa150a1ae1 | ||
|
|
0ad1782d42 | ||
|
|
4ceac4d9c9 | ||
|
|
30f8bfe703 | ||
|
|
be9bde507a | ||
|
|
53ee50fa38 | ||
|
|
8cde433c37 | ||
|
|
fe88c581c7 | ||
|
|
32cb66db4c |
5
go.mod
5
go.mod
@@ -6,7 +6,10 @@ require (
|
||||
github.com/cespare/xxhash/v2 v2.1.1
|
||||
github.com/go-yaml/yaml v2.1.0+incompatible
|
||||
github.com/golang/protobuf v1.4.2
|
||||
github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f
|
||||
github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060
|
||||
github.com/json-iterator/go v1.1.11 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.1 // indirect
|
||||
google.golang.org/grpc v1.32.0
|
||||
google.golang.org/protobuf v1.25.0
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
|
||||
8
go.sum
8
go.sum
@@ -46,13 +46,21 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f h1:r2O8PONj/KiuZjJHVHn7KlCePUIjNtgAmvLfgRafQ8o=
|
||||
github.com/iwind/TeaGo v0.0.0-20210411134150-ddf57e240c2f/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
|
||||
github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060 h1:qdLtK4PDXxk2vMKkTWl5Fl9xqYuRCukzWAgJbLHdfOo=
|
||||
github.com/iwind/TeaGo v0.0.0-20210628135026-38575a4ab060/go.mod h1:KU4mS7QNiZ7QWEuDBk1zw0/Q2LrAPZv3tycEFBsuUwc=
|
||||
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ=
|
||||
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||
|
||||
@@ -24,3 +24,17 @@ func IP2Long(ip string) uint64 {
|
||||
}
|
||||
return uint64(binary.BigEndian.Uint32(s.To4()))
|
||||
}
|
||||
|
||||
// QuoteIP 为IPv6加上括号
|
||||
func QuoteIP(ip string) string {
|
||||
if len(ip) == 0 {
|
||||
return ip
|
||||
}
|
||||
if !strings.Contains(ip, ":") {
|
||||
return ip
|
||||
}
|
||||
if ip[0] != '[' {
|
||||
return "[" + ip + "]"
|
||||
}
|
||||
return ip
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ var sharedNodeConfig *NodeConfig = nil
|
||||
type NodeConfig struct {
|
||||
Id int64 `yaml:"id" json:"id"`
|
||||
NodeId string `yaml:"nodeId" json:"nodeId"`
|
||||
Secret string `yaml:"secret" json:"secret"`
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
Servers []*serverconfigs.ServerConfig `yaml:"servers" json:"servers"`
|
||||
Version int64 `yaml:"version" json:"version"`
|
||||
@@ -42,7 +43,11 @@ type NodeConfig struct {
|
||||
|
||||
paddedId string
|
||||
|
||||
// firewall
|
||||
firewallPolicies []*firewallconfigs.HTTPFirewallPolicy
|
||||
|
||||
// metrics
|
||||
hasHTTPConnectionMetrics bool
|
||||
}
|
||||
|
||||
// SharedNodeConfig 取得当前节点配置单例
|
||||
@@ -144,11 +149,15 @@ func (this *NodeConfig) Init() error {
|
||||
}
|
||||
|
||||
// metric items
|
||||
this.hasHTTPConnectionMetrics = false
|
||||
for _, item := range this.MetricItems {
|
||||
err := item.Init()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if item.IsOn && item.HasHTTPConnectionValue() {
|
||||
this.hasHTTPConnectionMetrics = true
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
@@ -202,6 +211,11 @@ func (this *NodeConfig) PaddedId() string {
|
||||
return this.paddedId
|
||||
}
|
||||
|
||||
// HasHTTPConnectionMetrics 是否含有HTTP连接数的指标
|
||||
func (this *NodeConfig) HasHTTPConnectionMetrics() bool {
|
||||
return this.hasHTTPConnectionMetrics
|
||||
}
|
||||
|
||||
// 搜索WAF策略
|
||||
func (this *NodeConfig) lookupWeb(web *serverconfigs.HTTPWebConfig) {
|
||||
if web == nil || !web.IsOn {
|
||||
|
||||
@@ -25,6 +25,9 @@ type NodeStatus struct {
|
||||
Load15m float64 `json:"load15m"`
|
||||
ConnectionCount int `json:"connectionCount"` // 连接数
|
||||
|
||||
TrafficInBytes uint64 `json:"trafficInBytes"`
|
||||
TrafficOutBytes uint64 `json:"trafficOutBytes"`
|
||||
|
||||
CacheTotalDiskSize int64 `json:"cacheTotalDiskSize"`
|
||||
CacheTotalMemorySize int64 `json:"cacheTotalMemorySize"`
|
||||
|
||||
|
||||
@@ -8,13 +8,16 @@ import "encoding/json"
|
||||
type NodeValueItem = string
|
||||
|
||||
const (
|
||||
NodeValueItemCPU NodeValueItem = "cpu" // CPU
|
||||
NodeValueItemMemory NodeValueItem = "memory" // 内存
|
||||
NodeValueItemLoad NodeValueItem = "load" // 负载
|
||||
NodeValueItemTrafficIn NodeValueItem = "trafficIn" // 上行流量
|
||||
NodeValueItemTrafficOut NodeValueItem = "trafficOut" // 下行流量
|
||||
NodeValueItemConnections NodeValueItem = "connections" // 连接数
|
||||
NodeValueItemDisk NodeValueItem = "disk" // 磁盘
|
||||
NodeValueItemCPU NodeValueItem = "cpu" // CPU
|
||||
NodeValueItemMemory NodeValueItem = "memory" // 内存
|
||||
NodeValueItemLoad NodeValueItem = "load" // 负载
|
||||
NodeValueItemTrafficIn NodeValueItem = "trafficIn" // 上行流量
|
||||
NodeValueItemTrafficOut NodeValueItem = "trafficOut" // 下行流量
|
||||
NodeValueItemConnections NodeValueItem = "connections" // 连接数
|
||||
NodeValueItemRequests NodeValueItem = "requests" // 请求访问量
|
||||
NodeValueItemAttackRequests NodeValueItem = "attackRequests" // 攻击请求访问量
|
||||
NodeValueItemDisk NodeValueItem = "disk" // 磁盘
|
||||
NodeValueItemCacheDir NodeValueItem = "cacheDir" // 缓存目录
|
||||
)
|
||||
|
||||
type nodeValueItemDefinition struct {
|
||||
@@ -109,6 +112,28 @@ var nodeValueItemDefinitions = []*nodeValueItemDefinition{
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Code: NodeValueItemRequests,
|
||||
Name: "请求数",
|
||||
Params: []*nodeValueItemParamDefinition{
|
||||
{
|
||||
Code: "total",
|
||||
Name: "总数",
|
||||
Description: "请求总数",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Code: NodeValueItemAttackRequests,
|
||||
Name: "攻击请求数",
|
||||
Params: []*nodeValueItemParamDefinition{
|
||||
{
|
||||
Code: "total",
|
||||
Name: "总数",
|
||||
Description: "攻击请求总数",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
Code: NodeValueItemDisk,
|
||||
Name: "硬盘空间",
|
||||
|
||||
@@ -7,16 +7,17 @@ import (
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs"
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ipconfigs"
|
||||
"github.com/iwind/TeaGo/maps"
|
||||
)
|
||||
|
||||
var SharedHTTPFirewallPolicyDAO = new(HTTPFirewallPolicyDAO)
|
||||
|
||||
// WAF策略相关
|
||||
// HTTPFirewallPolicyDAO WAF策略相关
|
||||
type HTTPFirewallPolicyDAO struct {
|
||||
BaseDAO
|
||||
}
|
||||
|
||||
// 查找WAF策略基本信息
|
||||
// FindEnabledHTTPFirewallPolicy 查找WAF策略基本信息
|
||||
func (this *HTTPFirewallPolicyDAO) FindEnabledHTTPFirewallPolicy(ctx context.Context, policyId int64) (*pb.HTTPFirewallPolicy, error) {
|
||||
resp, err := this.RPC().HTTPFirewallPolicyRPC().FindEnabledHTTPFirewallPolicy(ctx, &pb.FindEnabledHTTPFirewallPolicyRequest{HttpFirewallPolicyId: policyId})
|
||||
if err != nil {
|
||||
@@ -25,7 +26,7 @@ func (this *HTTPFirewallPolicyDAO) FindEnabledHTTPFirewallPolicy(ctx context.Con
|
||||
return resp.HttpFirewallPolicy, nil
|
||||
}
|
||||
|
||||
// 查找WAF策略配置
|
||||
// FindEnabledHTTPFirewallPolicyConfig 查找WAF策略配置
|
||||
func (this *HTTPFirewallPolicyDAO) FindEnabledHTTPFirewallPolicyConfig(ctx context.Context, policyId int64) (*firewallconfigs.HTTPFirewallPolicy, error) {
|
||||
resp, err := this.RPC().HTTPFirewallPolicyRPC().FindEnabledHTTPFirewallPolicyConfig(ctx, &pb.FindEnabledHTTPFirewallPolicyConfigRequest{HttpFirewallPolicyId: policyId})
|
||||
if err != nil {
|
||||
@@ -42,7 +43,7 @@ func (this *HTTPFirewallPolicyDAO) FindEnabledHTTPFirewallPolicyConfig(ctx conte
|
||||
return firewallPolicy, nil
|
||||
}
|
||||
|
||||
// 查找WAF的Inbound
|
||||
// FindEnabledHTTPFirewallPolicyInboundConfig 查找WAF的Inbound
|
||||
func (this *HTTPFirewallPolicyDAO) FindEnabledHTTPFirewallPolicyInboundConfig(ctx context.Context, policyId int64) (*firewallconfigs.HTTPFirewallInboundConfig, error) {
|
||||
config, err := this.FindEnabledHTTPFirewallPolicyConfig(ctx, policyId)
|
||||
if err != nil {
|
||||
@@ -54,7 +55,7 @@ func (this *HTTPFirewallPolicyDAO) FindEnabledHTTPFirewallPolicyInboundConfig(ct
|
||||
return config.Inbound, nil
|
||||
}
|
||||
|
||||
// 根据类型查找WAF的IP名单
|
||||
// FindEnabledPolicyIPListIdWithType 根据类型查找WAF的IP名单
|
||||
func (this *HTTPFirewallPolicyDAO) FindEnabledPolicyIPListIdWithType(ctx context.Context, policyId int64, listType ipconfigs.IPListType) (int64, error) {
|
||||
switch listType {
|
||||
case ipconfigs.IPListTypeWhite:
|
||||
@@ -66,7 +67,7 @@ func (this *HTTPFirewallPolicyDAO) FindEnabledPolicyIPListIdWithType(ctx context
|
||||
}
|
||||
}
|
||||
|
||||
// 查找WAF的白名单
|
||||
// FindEnabledPolicyWhiteIPListId 查找WAF的白名单
|
||||
func (this *HTTPFirewallPolicyDAO) FindEnabledPolicyWhiteIPListId(ctx context.Context, policyId int64) (int64, error) {
|
||||
config, err := this.FindEnabledHTTPFirewallPolicyConfig(ctx, policyId)
|
||||
if err != nil {
|
||||
@@ -110,7 +111,7 @@ func (this *HTTPFirewallPolicyDAO) FindEnabledPolicyWhiteIPListId(ctx context.Co
|
||||
return config.Inbound.AllowListRef.ListId, nil
|
||||
}
|
||||
|
||||
// 查找WAF的黑名单
|
||||
// FindEnabledPolicyBlackIPListId 查找WAF的黑名单
|
||||
func (this *HTTPFirewallPolicyDAO) FindEnabledPolicyBlackIPListId(ctx context.Context, policyId int64) (int64, error) {
|
||||
config, err := this.FindEnabledHTTPFirewallPolicyConfig(ctx, policyId)
|
||||
if err != nil {
|
||||
@@ -154,7 +155,7 @@ func (this *HTTPFirewallPolicyDAO) FindEnabledPolicyBlackIPListId(ctx context.Co
|
||||
return config.Inbound.DenyListRef.ListId, nil
|
||||
}
|
||||
|
||||
// 根据服务Id查找WAF策略
|
||||
// FindEnabledHTTPFirewallPolicyWithServerId 根据服务Id查找WAF策略
|
||||
func (this *HTTPFirewallPolicyDAO) FindEnabledHTTPFirewallPolicyWithServerId(ctx context.Context, serverId int64) (*pb.HTTPFirewallPolicy, error) {
|
||||
serverResp, err := this.RPC().ServerRPC().FindEnabledServer(ctx, &pb.FindEnabledServerRequest{ServerId: serverId})
|
||||
if err != nil {
|
||||
@@ -180,3 +181,72 @@ func (this *HTTPFirewallPolicyDAO) FindEnabledHTTPFirewallPolicyWithServerId(ctx
|
||||
}
|
||||
return SharedHTTPFirewallPolicyDAO.FindEnabledHTTPFirewallPolicy(ctx, cluster.HttpFirewallPolicyId)
|
||||
}
|
||||
|
||||
// FindHTTPFirewallActionConfigs 查找动作相关信息
|
||||
func (this *HTTPFirewallPolicyDAO) FindHTTPFirewallActionConfigs(ctx context.Context, actions []*firewallconfigs.HTTPFirewallActionConfig) ([]maps.Map, error) {
|
||||
var actionConfigs = []maps.Map{}
|
||||
for _, action := range actions {
|
||||
def := firewallconfigs.FindActionDefinition(action.Code)
|
||||
if def == nil {
|
||||
continue
|
||||
}
|
||||
if action.Options == nil {
|
||||
action.Options = maps.Map{}
|
||||
}
|
||||
|
||||
switch action.Code {
|
||||
case firewallconfigs.HTTPFirewallActionRecordIP:
|
||||
listId := action.Options.GetInt64("ipListId")
|
||||
listResp, err := this.RPC().IPListRPC().FindEnabledIPList(ctx, &pb.FindEnabledIPListRequest{IpListId: listId})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if listResp.IpList != nil {
|
||||
action.Options["ipListName"] = listResp.IpList.Name
|
||||
} else {
|
||||
action.Options["ipListName"] = action.Options.GetString("ipListName") + "(已删除)"
|
||||
}
|
||||
case firewallconfigs.HTTPFirewallActionGoGroup:
|
||||
groupId := action.Options.GetInt64("groupId")
|
||||
groupResp, err := this.RPC().HTTPFirewallRuleGroupRPC().FindEnabledHTTPFirewallRuleGroup(ctx, &pb.FindEnabledHTTPFirewallRuleGroupRequest{FirewallRuleGroupId: groupId})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if groupResp.FirewallRuleGroup != nil {
|
||||
action.Options["groupName"] = groupResp.FirewallRuleGroup.Name
|
||||
} else {
|
||||
action.Options["groupName"] = action.Options.GetString("groupName") + "(已删除)"
|
||||
}
|
||||
case firewallconfigs.HTTPFirewallActionGoSet:
|
||||
groupId := action.Options.GetInt64("groupId")
|
||||
groupResp, err := this.RPC().HTTPFirewallRuleGroupRPC().FindEnabledHTTPFirewallRuleGroup(ctx, &pb.FindEnabledHTTPFirewallRuleGroupRequest{FirewallRuleGroupId: groupId})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if groupResp.FirewallRuleGroup != nil {
|
||||
action.Options["groupName"] = groupResp.FirewallRuleGroup.Name
|
||||
} else {
|
||||
action.Options["groupName"] = action.Options.GetString("groupName") + "(已删除)"
|
||||
}
|
||||
|
||||
setId := action.Options.GetInt64("setId")
|
||||
setResp, err := this.RPC().HTTPFirewallRuleSetRPC().FindEnabledHTTPFirewallRuleSet(ctx, &pb.FindEnabledHTTPFirewallRuleSetRequest{FirewallRuleSetId: setId})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if setResp.FirewallRuleSet != nil {
|
||||
action.Options["setName"] = setResp.FirewallRuleSet.Name
|
||||
} else {
|
||||
action.Options["setName"] = action.Options.GetString("setName") + "(已删除)"
|
||||
}
|
||||
}
|
||||
|
||||
actionConfigs = append(actionConfigs, maps.Map{
|
||||
"name": def.Name,
|
||||
"code": def.Code,
|
||||
"category": def.Category,
|
||||
"options": action.Options,
|
||||
})
|
||||
}
|
||||
return actionConfigs, nil
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ type IPListDAO struct {
|
||||
BaseDAO
|
||||
}
|
||||
|
||||
// 查找服务的允许IP列表
|
||||
// FindAllowIPListIdWithServerId 查找服务的允许IP列表
|
||||
func (this *IPListDAO) FindAllowIPListIdWithServerId(ctx context.Context, serverId int64) (int64, error) {
|
||||
webConfig, err := SharedHTTPWebDAO.FindWebConfigWithServerId(ctx, serverId)
|
||||
if err != nil {
|
||||
@@ -30,7 +30,7 @@ func (this *IPListDAO) FindAllowIPListIdWithServerId(ctx context.Context, server
|
||||
return webConfig.FirewallPolicy.Inbound.AllowListRef.ListId, nil
|
||||
}
|
||||
|
||||
// 查找服务的禁止IP列表
|
||||
// FindDenyIPListIdWithServerId 查找服务的禁止IP列表
|
||||
func (this *IPListDAO) FindDenyIPListIdWithServerId(ctx context.Context, serverId int64) (int64, error) {
|
||||
webConfig, err := SharedHTTPWebDAO.FindWebConfigWithServerId(ctx, serverId)
|
||||
if err != nil {
|
||||
@@ -45,7 +45,7 @@ func (this *IPListDAO) FindDenyIPListIdWithServerId(ctx context.Context, serverI
|
||||
return webConfig.FirewallPolicy.Inbound.DenyListRef.ListId, nil
|
||||
}
|
||||
|
||||
// 为服务创建IP名单
|
||||
// CreateIPListForServerId 为服务创建IP名单
|
||||
func (this *IPListDAO) CreateIPListForServerId(ctx context.Context, serverId int64, listType string) (int64, error) {
|
||||
webConfig, err := SharedHTTPWebDAO.FindWebConfigWithServerId(ctx, serverId)
|
||||
if err != nil {
|
||||
|
||||
@@ -34,6 +34,7 @@ type AdminModuleList struct {
|
||||
IsSuper bool `protobuf:"varint,2,opt,name=isSuper,proto3" json:"isSuper,omitempty"`
|
||||
Modules []*AdminModule `protobuf:"bytes,3,rep,name=Modules,proto3" json:"Modules,omitempty"`
|
||||
Fullname string `protobuf:"bytes,4,opt,name=fullname,proto3" json:"fullname,omitempty"`
|
||||
Theme string `protobuf:"bytes,5,opt,name=theme,proto3" json:"theme,omitempty"`
|
||||
}
|
||||
|
||||
func (x *AdminModuleList) Reset() {
|
||||
@@ -96,6 +97,13 @@ func (x *AdminModuleList) GetFullname() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *AdminModuleList) GetTheme() string {
|
||||
if x != nil {
|
||||
return x.Theme
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_models_model_admin_list_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_admin_list_proto_rawDesc = []byte{
|
||||
@@ -103,7 +111,7 @@ var file_models_model_admin_list_proto_rawDesc = []byte{
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||
0x02, 0x70, 0x62, 0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65,
|
||||
0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x01, 0x0a, 0x0f, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x01, 0x0a, 0x0f, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f,
|
||||
0x64, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x64, 0x6d, 0x69, 0x6e,
|
||||
0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x53, 0x75, 0x70, 0x65, 0x72, 0x18, 0x02, 0x20,
|
||||
@@ -112,8 +120,9 @@ var file_models_model_admin_list_proto_rawDesc = []byte{
|
||||
0x70, 0x62, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x07,
|
||||
0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x05, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
|
||||
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
176
pkg/rpc/pb/model_api_token.pb.go
Normal file
176
pkg/rpc/pb/model_api_token.pb.go
Normal file
@@ -0,0 +1,176 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: models/model_api_token.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// API令牌
|
||||
type APIToken struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
NodeId string `protobuf:"bytes,2,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
|
||||
Secret string `protobuf:"bytes,3,opt,name=secret,proto3" json:"secret,omitempty"`
|
||||
Role string `protobuf:"bytes,4,opt,name=role,proto3" json:"role,omitempty"`
|
||||
}
|
||||
|
||||
func (x *APIToken) Reset() {
|
||||
*x = APIToken{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_model_api_token_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *APIToken) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*APIToken) ProtoMessage() {}
|
||||
|
||||
func (x *APIToken) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_model_api_token_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 APIToken.ProtoReflect.Descriptor instead.
|
||||
func (*APIToken) Descriptor() ([]byte, []int) {
|
||||
return file_models_model_api_token_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *APIToken) GetId() int64 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *APIToken) GetNodeId() string {
|
||||
if x != nil {
|
||||
return x.NodeId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *APIToken) GetSecret() string {
|
||||
if x != nil {
|
||||
return x.Secret
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *APIToken) GetRole() string {
|
||||
if x != nil {
|
||||
return x.Role
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_models_model_api_token_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_api_token_proto_rawDesc = []byte{
|
||||
0x0a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61,
|
||||
0x70, 0x69, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02,
|
||||
0x70, 0x62, 0x22, 0x5e, 0x0a, 0x08, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
||||
0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f,
|
||||
0x6c, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_models_model_api_token_proto_rawDescOnce sync.Once
|
||||
file_models_model_api_token_proto_rawDescData = file_models_model_api_token_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_models_model_api_token_proto_rawDescGZIP() []byte {
|
||||
file_models_model_api_token_proto_rawDescOnce.Do(func() {
|
||||
file_models_model_api_token_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_api_token_proto_rawDescData)
|
||||
})
|
||||
return file_models_model_api_token_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_models_model_api_token_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_models_model_api_token_proto_goTypes = []interface{}{
|
||||
(*APIToken)(nil), // 0: pb.APIToken
|
||||
}
|
||||
var file_models_model_api_token_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_models_model_api_token_proto_init() }
|
||||
func file_models_model_api_token_proto_init() {
|
||||
if File_models_model_api_token_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_models_model_api_token_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*APIToken); 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_models_model_api_token_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_models_model_api_token_proto_goTypes,
|
||||
DependencyIndexes: file_models_model_api_token_proto_depIdxs,
|
||||
MessageInfos: file_models_model_api_token_proto_msgTypes,
|
||||
}.Build()
|
||||
File_models_model_api_token_proto = out.File
|
||||
file_models_model_api_token_proto_rawDesc = nil
|
||||
file_models_model_api_token_proto_goTypes = nil
|
||||
file_models_model_api_token_proto_depIdxs = nil
|
||||
}
|
||||
@@ -78,10 +78,12 @@ type HTTPAccessLog struct {
|
||||
// 扩展
|
||||
Attrs map[string]string `protobuf:"bytes,43,rep,name=attrs,proto3" json:"attrs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
// WAF相关
|
||||
FirewallPolicyId int64 `protobuf:"varint,44,opt,name=firewallPolicyId,proto3" json:"firewallPolicyId,omitempty"`
|
||||
FirewallRuleGroupId int64 `protobuf:"varint,45,opt,name=firewallRuleGroupId,proto3" json:"firewallRuleGroupId,omitempty"`
|
||||
FirewallRuleSetId int64 `protobuf:"varint,46,opt,name=firewallRuleSetId,proto3" json:"firewallRuleSetId,omitempty"`
|
||||
FirewallRuleId int64 `protobuf:"varint,47,opt,name=firewallRuleId,proto3" json:"firewallRuleId,omitempty"`
|
||||
FirewallPolicyId int64 `protobuf:"varint,44,opt,name=firewallPolicyId,proto3" json:"firewallPolicyId,omitempty"`
|
||||
FirewallRuleGroupId int64 `protobuf:"varint,45,opt,name=firewallRuleGroupId,proto3" json:"firewallRuleGroupId,omitempty"`
|
||||
FirewallRuleSetId int64 `protobuf:"varint,46,opt,name=firewallRuleSetId,proto3" json:"firewallRuleSetId,omitempty"`
|
||||
FirewallRuleId int64 `protobuf:"varint,47,opt,name=firewallRuleId,proto3" json:"firewallRuleId,omitempty"`
|
||||
FirewallActions []string `protobuf:"bytes,49,rep,name=firewallActions,proto3" json:"firewallActions,omitempty"`
|
||||
Tags []string `protobuf:"bytes,50,rep,name=tags,proto3" json:"tags,omitempty"`
|
||||
}
|
||||
|
||||
func (x *HTTPAccessLog) Reset() {
|
||||
@@ -445,6 +447,20 @@ func (x *HTTPAccessLog) GetFirewallRuleId() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *HTTPAccessLog) GetFirewallActions() []string {
|
||||
if x != nil {
|
||||
return x.FirewallActions
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *HTTPAccessLog) GetTags() []string {
|
||||
if x != nil {
|
||||
return x.Tags
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Strings struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -497,7 +513,7 @@ var File_models_model_http_access_log_proto protoreflect.FileDescriptor
|
||||
var file_models_model_http_access_log_proto_rawDesc = []byte{
|
||||
0x0a, 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68,
|
||||
0x74, 0x74, 0x70, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xdf, 0x0e, 0x0a, 0x0d, 0x48, 0x54, 0x54,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x9d, 0x0f, 0x0a, 0x0d, 0x48, 0x54, 0x54,
|
||||
0x50, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x30, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76,
|
||||
@@ -599,26 +615,30 @@ var file_models_model_http_access_log_proto_rawDesc = []byte{
|
||||
0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x66, 0x69, 0x72,
|
||||
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x2f, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x49,
|
||||
0x64, 0x1a, 0x4a, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e,
|
||||
0x67, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a,
|
||||
0x0b, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
|
||||
0x64, 0x12, 0x28, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x41, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x31, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x65,
|
||||
0x77, 0x61, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74,
|
||||
0x61, 0x67, 0x73, 0x18, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x1a,
|
||||
0x4a, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73,
|
||||
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x43,
|
||||
0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72, 0x69,
|
||||
0x6e, 0x67, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x38,
|
||||
0x0a, 0x0a, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
|
||||
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x64,
|
||||
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74,
|
||||
0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
|
||||
0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
||||
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x21, 0x0a, 0x07, 0x53, 0x74,
|
||||
0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x06, 0x5a,
|
||||
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x21, 0x0a, 0x07, 0x53, 0x74, 0x72, 0x69,
|
||||
0x6e, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20,
|
||||
0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e,
|
||||
0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@@ -1,159 +0,0 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: models/model_message_node_value.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 节点监控值
|
||||
type NodeValue struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ValueJSON []byte `protobuf:"bytes,1,opt,name=valueJSON,proto3" json:"valueJSON,omitempty"`
|
||||
CreatedAt int64 `protobuf:"varint,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
|
||||
}
|
||||
|
||||
func (x *NodeValue) Reset() {
|
||||
*x = NodeValue{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_model_message_node_value_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *NodeValue) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*NodeValue) ProtoMessage() {}
|
||||
|
||||
func (x *NodeValue) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_model_message_node_value_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 NodeValue.ProtoReflect.Descriptor instead.
|
||||
func (*NodeValue) Descriptor() ([]byte, []int) {
|
||||
return file_models_model_message_node_value_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *NodeValue) GetValueJSON() []byte {
|
||||
if x != nil {
|
||||
return x.ValueJSON
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *NodeValue) GetCreatedAt() int64 {
|
||||
if x != nil {
|
||||
return x.CreatedAt
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_models_model_message_node_value_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_message_node_value_proto_rawDesc = []byte{
|
||||
0x0a, 0x25, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d,
|
||||
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x47, 0x0a, 0x09, 0x4e,
|
||||
0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x76, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x64, 0x41, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_models_model_message_node_value_proto_rawDescOnce sync.Once
|
||||
file_models_model_message_node_value_proto_rawDescData = file_models_model_message_node_value_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_models_model_message_node_value_proto_rawDescGZIP() []byte {
|
||||
file_models_model_message_node_value_proto_rawDescOnce.Do(func() {
|
||||
file_models_model_message_node_value_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_message_node_value_proto_rawDescData)
|
||||
})
|
||||
return file_models_model_message_node_value_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_models_model_message_node_value_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_models_model_message_node_value_proto_goTypes = []interface{}{
|
||||
(*NodeValue)(nil), // 0: pb.NodeValue
|
||||
}
|
||||
var file_models_model_message_node_value_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_models_model_message_node_value_proto_init() }
|
||||
func file_models_model_message_node_value_proto_init() {
|
||||
if File_models_model_message_node_value_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_models_model_message_node_value_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*NodeValue); 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_models_model_message_node_value_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_models_model_message_node_value_proto_goTypes,
|
||||
DependencyIndexes: file_models_model_message_node_value_proto_depIdxs,
|
||||
MessageInfos: file_models_model_message_node_value_proto_msgTypes,
|
||||
}.Build()
|
||||
File_models_model_message_node_value_proto = out.File
|
||||
file_models_model_message_node_value_proto_rawDesc = nil
|
||||
file_models_model_message_node_value_proto_goTypes = nil
|
||||
file_models_model_message_node_value_proto_depIdxs = nil
|
||||
}
|
||||
221
pkg/rpc/pb/model_metric_chart.pb.go
Normal file
221
pkg/rpc/pb/model_metric_chart.pb.go
Normal file
@@ -0,0 +1,221 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: models/model_metric_chart.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 指标图表
|
||||
type MetricChart struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
|
||||
WidthDiv int32 `protobuf:"varint,4,opt,name=widthDiv,proto3" json:"widthDiv,omitempty"`
|
||||
ParamsJSON []byte `protobuf:"bytes,5,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
|
||||
IsOn bool `protobuf:"varint,6,opt,name=isOn,proto3" json:"isOn,omitempty"`
|
||||
MaxItems int32 `protobuf:"varint,7,opt,name=maxItems,proto3" json:"maxItems,omitempty"`
|
||||
MetricItem *MetricItem `protobuf:"bytes,30,opt,name=metricItem,proto3" json:"metricItem,omitempty"`
|
||||
}
|
||||
|
||||
func (x *MetricChart) Reset() {
|
||||
*x = MetricChart{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_model_metric_chart_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *MetricChart) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*MetricChart) ProtoMessage() {}
|
||||
|
||||
func (x *MetricChart) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_model_metric_chart_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 MetricChart.ProtoReflect.Descriptor instead.
|
||||
func (*MetricChart) Descriptor() ([]byte, []int) {
|
||||
return file_models_model_metric_chart_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *MetricChart) GetId() int64 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MetricChart) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *MetricChart) GetType() string {
|
||||
if x != nil {
|
||||
return x.Type
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *MetricChart) GetWidthDiv() int32 {
|
||||
if x != nil {
|
||||
return x.WidthDiv
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MetricChart) GetParamsJSON() []byte {
|
||||
if x != nil {
|
||||
return x.ParamsJSON
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *MetricChart) GetIsOn() bool {
|
||||
if x != nil {
|
||||
return x.IsOn
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *MetricChart) GetMaxItems() int32 {
|
||||
if x != nil {
|
||||
return x.MaxItems
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MetricChart) GetMetricItem() *MetricItem {
|
||||
if x != nil {
|
||||
return x.MetricItem
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_models_model_metric_chart_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_metric_chart_proto_rawDesc = []byte{
|
||||
0x0a, 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, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f,
|
||||
0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe1, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
|
||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x77, 0x69, 0x64, 0x74, 0x68, 0x44, 0x69, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x08, 0x77, 0x69, 0x64, 0x74, 0x68, 0x44, 0x69, 0x76, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72,
|
||||
0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70,
|
||||
0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f,
|
||||
0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x6d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x6d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
|
||||
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_models_model_metric_chart_proto_rawDescOnce sync.Once
|
||||
file_models_model_metric_chart_proto_rawDescData = file_models_model_metric_chart_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_models_model_metric_chart_proto_rawDescGZIP() []byte {
|
||||
file_models_model_metric_chart_proto_rawDescOnce.Do(func() {
|
||||
file_models_model_metric_chart_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_metric_chart_proto_rawDescData)
|
||||
})
|
||||
return file_models_model_metric_chart_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_models_model_metric_chart_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_models_model_metric_chart_proto_goTypes = []interface{}{
|
||||
(*MetricChart)(nil), // 0: pb.MetricChart
|
||||
(*MetricItem)(nil), // 1: pb.MetricItem
|
||||
}
|
||||
var file_models_model_metric_chart_proto_depIdxs = []int32{
|
||||
1, // 0: pb.MetricChart.metricItem:type_name -> pb.MetricItem
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_models_model_metric_chart_proto_init() }
|
||||
func file_models_model_metric_chart_proto_init() {
|
||||
if File_models_model_metric_chart_proto != nil {
|
||||
return
|
||||
}
|
||||
file_models_model_metric_item_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_models_model_metric_chart_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*MetricChart); 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_models_model_metric_chart_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_models_model_metric_chart_proto_goTypes,
|
||||
DependencyIndexes: file_models_model_metric_chart_proto_depIdxs,
|
||||
MessageInfos: file_models_model_metric_chart_proto_msgTypes,
|
||||
}.Build()
|
||||
File_models_model_metric_chart_proto = out.File
|
||||
file_models_model_metric_chart_proto_rawDesc = nil
|
||||
file_models_model_metric_chart_proto_goTypes = nil
|
||||
file_models_model_metric_chart_proto_depIdxs = nil
|
||||
}
|
||||
@@ -40,6 +40,7 @@ type MetricItem struct {
|
||||
Period int32 `protobuf:"varint,7,opt,name=period,proto3" json:"period,omitempty"`
|
||||
PeriodUnit string `protobuf:"bytes,8,opt,name=periodUnit,proto3" json:"periodUnit,omitempty"`
|
||||
Value string `protobuf:"bytes,10,opt,name=value,proto3" json:"value,omitempty"`
|
||||
IsPublic bool `protobuf:"varint,11,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
|
||||
}
|
||||
|
||||
func (x *MetricItem) Reset() {
|
||||
@@ -137,12 +138,19 @@ func (x *MetricItem) GetValue() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *MetricItem) GetIsPublic() bool {
|
||||
if x != nil {
|
||||
return x.IsPublic
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var File_models_model_metric_item_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_metric_item_proto_rawDesc = []byte{
|
||||
0x0a, 0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x12, 0x02, 0x70, 0x62, 0x22, 0xd6, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
|
||||
0x12, 0x02, 0x70, 0x62, 0x22, 0xf2, 0x01, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
|
||||
@@ -155,8 +163,10 @@ var file_models_model_metric_item_proto_rawDesc = []byte{
|
||||
0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f,
|
||||
0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72,
|
||||
0x69, 0x6f, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x5a,
|
||||
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
|
||||
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
370
pkg/rpc/pb/model_metric_stat.pb.go
Normal file
370
pkg/rpc/pb/model_metric_stat.pb.go
Normal file
@@ -0,0 +1,370 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: models/model_metric_stat.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 统计数据
|
||||
type MetricStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
|
||||
ServerId int64 `protobuf:"varint,3,opt,name=serverId,proto3" json:"serverId,omitempty"`
|
||||
ItemId int64 `protobuf:"varint,4,opt,name=itemId,proto3" json:"itemId,omitempty"`
|
||||
Keys []string `protobuf:"bytes,5,rep,name=keys,proto3" json:"keys,omitempty"`
|
||||
Value float32 `protobuf:"fixed32,6,opt,name=value,proto3" json:"value,omitempty"`
|
||||
Time string `protobuf:"bytes,7,opt,name=time,proto3" json:"time,omitempty"`
|
||||
Version int32 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"`
|
||||
NodeCluster *NodeCluster `protobuf:"bytes,30,opt,name=nodeCluster,proto3" json:"nodeCluster,omitempty"`
|
||||
Node *Node `protobuf:"bytes,31,opt,name=node,proto3" json:"node,omitempty"`
|
||||
Server *Server `protobuf:"bytes,32,opt,name=server,proto3" json:"server,omitempty"`
|
||||
SumCount int64 `protobuf:"varint,40,opt,name=sumCount,proto3" json:"sumCount,omitempty"`
|
||||
SumTotal float32 `protobuf:"fixed32,41,opt,name=sumTotal,proto3" json:"sumTotal,omitempty"`
|
||||
}
|
||||
|
||||
func (x *MetricStat) Reset() {
|
||||
*x = MetricStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_model_metric_stat_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *MetricStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*MetricStat) ProtoMessage() {}
|
||||
|
||||
func (x *MetricStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_model_metric_stat_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 MetricStat.ProtoReflect.Descriptor instead.
|
||||
func (*MetricStat) Descriptor() ([]byte, []int) {
|
||||
return file_models_model_metric_stat_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetId() int64 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetHash() string {
|
||||
if x != nil {
|
||||
return x.Hash
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetServerId() int64 {
|
||||
if x != nil {
|
||||
return x.ServerId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetItemId() int64 {
|
||||
if x != nil {
|
||||
return x.ItemId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetKeys() []string {
|
||||
if x != nil {
|
||||
return x.Keys
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetValue() float32 {
|
||||
if x != nil {
|
||||
return x.Value
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetTime() string {
|
||||
if x != nil {
|
||||
return x.Time
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetVersion() int32 {
|
||||
if x != nil {
|
||||
return x.Version
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetNodeCluster() *NodeCluster {
|
||||
if x != nil {
|
||||
return x.NodeCluster
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetNode() *Node {
|
||||
if x != nil {
|
||||
return x.Node
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetServer() *Server {
|
||||
if x != nil {
|
||||
return x.Server
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetSumCount() int64 {
|
||||
if x != nil {
|
||||
return x.SumCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MetricStat) GetSumTotal() float32 {
|
||||
if x != nil {
|
||||
return x.SumTotal
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 需要上传的统计数据
|
||||
type UploadingMetricStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Hash string `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
|
||||
Keys []string `protobuf:"bytes,3,rep,name=keys,proto3" json:"keys,omitempty"`
|
||||
Value float32 `protobuf:"fixed32,4,opt,name=value,proto3" json:"value,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UploadingMetricStat) Reset() {
|
||||
*x = UploadingMetricStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_model_metric_stat_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UploadingMetricStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UploadingMetricStat) ProtoMessage() {}
|
||||
|
||||
func (x *UploadingMetricStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_model_metric_stat_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 UploadingMetricStat.ProtoReflect.Descriptor instead.
|
||||
func (*UploadingMetricStat) Descriptor() ([]byte, []int) {
|
||||
return file_models_model_metric_stat_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *UploadingMetricStat) GetId() int64 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadingMetricStat) GetHash() string {
|
||||
if x != nil {
|
||||
return x.Hash
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UploadingMetricStat) GetKeys() []string {
|
||||
if x != nil {
|
||||
return x.Keys
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *UploadingMetricStat) GetValue() float32 {
|
||||
if x != nil {
|
||||
return x.Value
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_models_model_metric_stat_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_metric_stat_proto_rawDesc = []byte{
|
||||
0x0a, 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,
|
||||
0x12, 0x02, 0x70, 0x62, 0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64,
|
||||
0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f,
|
||||
0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
|
||||
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x02, 0x0a, 0x0a, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08,
|
||||
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
|
||||
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d,
|
||||
0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04,
|
||||
0x6b, 0x65, 0x79, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65,
|
||||
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b,
|
||||
0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x04, 0x6e,
|
||||
0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x4e,
|
||||
0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x73, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x53,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x73, 0x75, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x28, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x08, 0x73, 0x75, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x6d,
|
||||
0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x29, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x73, 0x75, 0x6d,
|
||||
0x54, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x63, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69,
|
||||
0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04,
|
||||
0x6b, 0x65, 0x79, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
|
||||
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_models_model_metric_stat_proto_rawDescOnce sync.Once
|
||||
file_models_model_metric_stat_proto_rawDescData = file_models_model_metric_stat_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_models_model_metric_stat_proto_rawDescGZIP() []byte {
|
||||
file_models_model_metric_stat_proto_rawDescOnce.Do(func() {
|
||||
file_models_model_metric_stat_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_metric_stat_proto_rawDescData)
|
||||
})
|
||||
return file_models_model_metric_stat_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_models_model_metric_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_models_model_metric_stat_proto_goTypes = []interface{}{
|
||||
(*MetricStat)(nil), // 0: pb.MetricStat
|
||||
(*UploadingMetricStat)(nil), // 1: pb.UploadingMetricStat
|
||||
(*NodeCluster)(nil), // 2: pb.NodeCluster
|
||||
(*Node)(nil), // 3: pb.Node
|
||||
(*Server)(nil), // 4: pb.Server
|
||||
}
|
||||
var file_models_model_metric_stat_proto_depIdxs = []int32{
|
||||
2, // 0: pb.MetricStat.nodeCluster:type_name -> pb.NodeCluster
|
||||
3, // 1: pb.MetricStat.node:type_name -> pb.Node
|
||||
4, // 2: pb.MetricStat.server:type_name -> pb.Server
|
||||
3, // [3:3] is the sub-list for method output_type
|
||||
3, // [3:3] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
3, // [3:3] is the sub-list for extension extendee
|
||||
0, // [0:3] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_models_model_metric_stat_proto_init() }
|
||||
func file_models_model_metric_stat_proto_init() {
|
||||
if File_models_model_metric_stat_proto != nil {
|
||||
return
|
||||
}
|
||||
file_models_model_node_cluster_proto_init()
|
||||
file_models_model_node_proto_init()
|
||||
file_models_model_server_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_models_model_metric_stat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*MetricStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_models_model_metric_stat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UploadingMetricStat); 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_models_model_metric_stat_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_models_model_metric_stat_proto_goTypes,
|
||||
DependencyIndexes: file_models_model_metric_stat_proto_depIdxs,
|
||||
MessageInfos: file_models_model_metric_stat_proto_msgTypes,
|
||||
}.Build()
|
||||
File_models_model_metric_stat_proto = out.File
|
||||
file_models_model_metric_stat_proto_rawDesc = nil
|
||||
file_models_model_metric_stat_proto_goTypes = nil
|
||||
file_models_model_metric_stat_proto_depIdxs = nil
|
||||
}
|
||||
158
pkg/rpc/pb/model_node_value.pb.go
Normal file
158
pkg/rpc/pb/model_node_value.pb.go
Normal file
@@ -0,0 +1,158 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: models/model_node_value.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 节点监控值
|
||||
type NodeValue struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ValueJSON []byte `protobuf:"bytes,1,opt,name=valueJSON,proto3" json:"valueJSON,omitempty"`
|
||||
CreatedAt int64 `protobuf:"varint,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
|
||||
}
|
||||
|
||||
func (x *NodeValue) Reset() {
|
||||
*x = NodeValue{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_model_node_value_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *NodeValue) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*NodeValue) ProtoMessage() {}
|
||||
|
||||
func (x *NodeValue) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_model_node_value_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 NodeValue.ProtoReflect.Descriptor instead.
|
||||
func (*NodeValue) Descriptor() ([]byte, []int) {
|
||||
return file_models_model_node_value_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *NodeValue) GetValueJSON() []byte {
|
||||
if x != nil {
|
||||
return x.ValueJSON
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *NodeValue) GetCreatedAt() int64 {
|
||||
if x != nil {
|
||||
return x.CreatedAt
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_models_model_node_value_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_node_value_proto_rawDesc = []byte{
|
||||
0x0a, 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, 0x12,
|
||||
0x02, 0x70, 0x62, 0x22, 0x47, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0c, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c,
|
||||
0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, 0x06, 0x5a, 0x04,
|
||||
0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_models_model_node_value_proto_rawDescOnce sync.Once
|
||||
file_models_model_node_value_proto_rawDescData = file_models_model_node_value_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_models_model_node_value_proto_rawDescGZIP() []byte {
|
||||
file_models_model_node_value_proto_rawDescOnce.Do(func() {
|
||||
file_models_model_node_value_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_node_value_proto_rawDescData)
|
||||
})
|
||||
return file_models_model_node_value_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_models_model_node_value_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_models_model_node_value_proto_goTypes = []interface{}{
|
||||
(*NodeValue)(nil), // 0: pb.NodeValue
|
||||
}
|
||||
var file_models_model_node_value_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_models_model_node_value_proto_init() }
|
||||
func file_models_model_node_value_proto_init() {
|
||||
if File_models_model_node_value_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_models_model_node_value_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*NodeValue); 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_models_model_node_value_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_models_model_node_value_proto_goTypes,
|
||||
DependencyIndexes: file_models_model_node_value_proto_depIdxs,
|
||||
MessageInfos: file_models_model_node_value_proto_msgTypes,
|
||||
}.Build()
|
||||
File_models_model_node_value_proto = out.File
|
||||
file_models_model_node_value_proto_rawDesc = nil
|
||||
file_models_model_node_value_proto_goTypes = nil
|
||||
file_models_model_node_value_proto_depIdxs = nil
|
||||
}
|
||||
208
pkg/rpc/pb/model_ns_record_hourly_stat.pb.go
Normal file
208
pkg/rpc/pb/model_ns_record_hourly_stat.pb.go
Normal file
@@ -0,0 +1,208 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: models/model_ns_record_hourly_stat.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
type NSRecordHourlyStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
NsClusterId int64 `protobuf:"varint,1,opt,name=nsClusterId,proto3" json:"nsClusterId,omitempty"`
|
||||
NsNodeId int64 `protobuf:"varint,2,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
|
||||
NsDomainId int64 `protobuf:"varint,3,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"`
|
||||
NsRecordId int64 `protobuf:"varint,4,opt,name=nsRecordId,proto3" json:"nsRecordId,omitempty"`
|
||||
Bytes int64 `protobuf:"varint,5,opt,name=bytes,proto3" json:"bytes,omitempty"`
|
||||
CountRequests int64 `protobuf:"varint,6,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
|
||||
CreatedAt int64 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
|
||||
}
|
||||
|
||||
func (x *NSRecordHourlyStat) Reset() {
|
||||
*x = NSRecordHourlyStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_model_ns_record_hourly_stat_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *NSRecordHourlyStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*NSRecordHourlyStat) ProtoMessage() {}
|
||||
|
||||
func (x *NSRecordHourlyStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_model_ns_record_hourly_stat_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 NSRecordHourlyStat.ProtoReflect.Descriptor instead.
|
||||
func (*NSRecordHourlyStat) Descriptor() ([]byte, []int) {
|
||||
return file_models_model_ns_record_hourly_stat_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *NSRecordHourlyStat) GetNsClusterId() int64 {
|
||||
if x != nil {
|
||||
return x.NsClusterId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NSRecordHourlyStat) GetNsNodeId() int64 {
|
||||
if x != nil {
|
||||
return x.NsNodeId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NSRecordHourlyStat) GetNsDomainId() int64 {
|
||||
if x != nil {
|
||||
return x.NsDomainId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NSRecordHourlyStat) GetNsRecordId() int64 {
|
||||
if x != nil {
|
||||
return x.NsRecordId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NSRecordHourlyStat) GetBytes() int64 {
|
||||
if x != nil {
|
||||
return x.Bytes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NSRecordHourlyStat) GetCountRequests() int64 {
|
||||
if x != nil {
|
||||
return x.CountRequests
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NSRecordHourlyStat) GetCreatedAt() int64 {
|
||||
if x != nil {
|
||||
return x.CreatedAt
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_models_model_ns_record_hourly_stat_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_ns_record_hourly_stat_proto_rawDesc = []byte{
|
||||
0x0a, 0x28, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
|
||||
0x73, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f,
|
||||
0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xec,
|
||||
0x01, 0x0a, 0x12, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x6f, 0x75, 0x72, 0x6c,
|
||||
0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x73, 0x43, 0x6c,
|
||||
0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64,
|
||||
0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64,
|
||||
0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
|
||||
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69,
|
||||
0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49,
|
||||
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 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, 0x06, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12,
|
||||
0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x42, 0x06, 0x5a,
|
||||
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_models_model_ns_record_hourly_stat_proto_rawDescOnce sync.Once
|
||||
file_models_model_ns_record_hourly_stat_proto_rawDescData = file_models_model_ns_record_hourly_stat_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_models_model_ns_record_hourly_stat_proto_rawDescGZIP() []byte {
|
||||
file_models_model_ns_record_hourly_stat_proto_rawDescOnce.Do(func() {
|
||||
file_models_model_ns_record_hourly_stat_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_ns_record_hourly_stat_proto_rawDescData)
|
||||
})
|
||||
return file_models_model_ns_record_hourly_stat_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_models_model_ns_record_hourly_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_models_model_ns_record_hourly_stat_proto_goTypes = []interface{}{
|
||||
(*NSRecordHourlyStat)(nil), // 0: pb.NSRecordHourlyStat
|
||||
}
|
||||
var file_models_model_ns_record_hourly_stat_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_models_model_ns_record_hourly_stat_proto_init() }
|
||||
func file_models_model_ns_record_hourly_stat_proto_init() {
|
||||
if File_models_model_ns_record_hourly_stat_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_models_model_ns_record_hourly_stat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*NSRecordHourlyStat); 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_models_model_ns_record_hourly_stat_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_models_model_ns_record_hourly_stat_proto_goTypes,
|
||||
DependencyIndexes: file_models_model_ns_record_hourly_stat_proto_depIdxs,
|
||||
MessageInfos: file_models_model_ns_record_hourly_stat_proto_msgTypes,
|
||||
}.Build()
|
||||
File_models_model_ns_record_hourly_stat_proto = out.File
|
||||
file_models_model_ns_record_hourly_stat_proto_rawDesc = nil
|
||||
file_models_model_ns_record_hourly_stat_proto_goTypes = nil
|
||||
file_models_model_ns_record_hourly_stat_proto_depIdxs = nil
|
||||
}
|
||||
@@ -38,6 +38,8 @@ type ServerDailyStat struct {
|
||||
CountRequests int64 `protobuf:"varint,6,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
|
||||
CountCachedRequests int64 `protobuf:"varint,7,opt,name=countCachedRequests,proto3" json:"countCachedRequests,omitempty"`
|
||||
CreatedAt int64 `protobuf:"varint,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
|
||||
CountAttackRequests int64 `protobuf:"varint,8,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"`
|
||||
AttackBytes int64 `protobuf:"varint,9,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ServerDailyStat) Reset() {
|
||||
@@ -121,12 +123,26 @@ func (x *ServerDailyStat) GetCreatedAt() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ServerDailyStat) GetCountAttackRequests() int64 {
|
||||
if x != nil {
|
||||
return x.CountAttackRequests
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ServerDailyStat) GetAttackBytes() int64 {
|
||||
if x != nil {
|
||||
return x.AttackBytes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_models_model_server_daily_stat_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_server_daily_stat_proto_rawDesc = []byte{
|
||||
0x0a, 0x24, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x73,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xf7, 0x01, 0x0a, 0x0f, 0x53,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xcb, 0x02, 0x0a, 0x0f, 0x53,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1a,
|
||||
0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65,
|
||||
@@ -142,8 +158,13 @@ var file_models_model_server_daily_stat_proto_rawDesc = []byte{
|
||||
0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x64, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x64, 0x41, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x33,
|
||||
0x65, 0x64, 0x41, 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, 0x08, 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, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x74, 0x74,
|
||||
0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
167
pkg/rpc/pb/model_server_stat_board.pb.go
Normal file
167
pkg/rpc/pb/model_server_stat_board.pb.go
Normal file
@@ -0,0 +1,167 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: models/model_server_stat_board.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 统计看板
|
||||
type ServerStatBoard struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
IsOn bool `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ServerStatBoard) Reset() {
|
||||
*x = ServerStatBoard{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_model_server_stat_board_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ServerStatBoard) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ServerStatBoard) ProtoMessage() {}
|
||||
|
||||
func (x *ServerStatBoard) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_model_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 ServerStatBoard.ProtoReflect.Descriptor instead.
|
||||
func (*ServerStatBoard) Descriptor() ([]byte, []int) {
|
||||
return file_models_model_server_stat_board_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *ServerStatBoard) GetId() int64 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ServerStatBoard) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ServerStatBoard) GetIsOn() bool {
|
||||
if x != nil {
|
||||
return x.IsOn
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var File_models_model_server_stat_board_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_server_stat_board_proto_rawDesc = []byte{
|
||||
0x0a, 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, 0x12, 0x02, 0x70, 0x62, 0x22, 0x49, 0x0a, 0x0f, 0x53, 0x65,
|
||||
0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x04, 0x69, 0x73, 0x4f, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_models_model_server_stat_board_proto_rawDescOnce sync.Once
|
||||
file_models_model_server_stat_board_proto_rawDescData = file_models_model_server_stat_board_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_models_model_server_stat_board_proto_rawDescGZIP() []byte {
|
||||
file_models_model_server_stat_board_proto_rawDescOnce.Do(func() {
|
||||
file_models_model_server_stat_board_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_server_stat_board_proto_rawDescData)
|
||||
})
|
||||
return file_models_model_server_stat_board_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_models_model_server_stat_board_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_models_model_server_stat_board_proto_goTypes = []interface{}{
|
||||
(*ServerStatBoard)(nil), // 0: pb.ServerStatBoard
|
||||
}
|
||||
var file_models_model_server_stat_board_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
0, // [0:0] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_models_model_server_stat_board_proto_init() }
|
||||
func file_models_model_server_stat_board_proto_init() {
|
||||
if File_models_model_server_stat_board_proto != nil {
|
||||
return
|
||||
}
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_models_model_server_stat_board_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ServerStatBoard); 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_models_model_server_stat_board_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_models_model_server_stat_board_proto_goTypes,
|
||||
DependencyIndexes: file_models_model_server_stat_board_proto_depIdxs,
|
||||
MessageInfos: file_models_model_server_stat_board_proto_msgTypes,
|
||||
}.Build()
|
||||
File_models_model_server_stat_board_proto = out.File
|
||||
file_models_model_server_stat_board_proto_rawDesc = nil
|
||||
file_models_model_server_stat_board_proto_goTypes = nil
|
||||
file_models_model_server_stat_board_proto_depIdxs = nil
|
||||
}
|
||||
165
pkg/rpc/pb/model_server_stat_board_chart.pb.go
Normal file
165
pkg/rpc/pb/model_server_stat_board_chart.pb.go
Normal file
@@ -0,0 +1,165 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: models/model_server_stat_board_chart.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 统计看板条目
|
||||
type ServerStatBoardChart struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
MetricChart *MetricChart `protobuf:"bytes,30,opt,name=metricChart,proto3" json:"metricChart,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ServerStatBoardChart) Reset() {
|
||||
*x = ServerStatBoardChart{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_model_server_stat_board_chart_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ServerStatBoardChart) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ServerStatBoardChart) ProtoMessage() {}
|
||||
|
||||
func (x *ServerStatBoardChart) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_model_server_stat_board_chart_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 ServerStatBoardChart.ProtoReflect.Descriptor instead.
|
||||
func (*ServerStatBoardChart) Descriptor() ([]byte, []int) {
|
||||
return file_models_model_server_stat_board_chart_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *ServerStatBoardChart) GetId() int64 {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ServerStatBoardChart) GetMetricChart() *MetricChart {
|
||||
if x != nil {
|
||||
return x.MetricChart
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_models_model_server_stat_board_chart_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_model_server_stat_board_chart_proto_rawDesc = []byte{
|
||||
0x0a, 0x2a, 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,
|
||||
0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
|
||||
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, 0x22, 0x59, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42,
|
||||
0x6f, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x6d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x18, 0x1e, 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, 0x42, 0x06, 0x5a, 0x04,
|
||||
0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_models_model_server_stat_board_chart_proto_rawDescOnce sync.Once
|
||||
file_models_model_server_stat_board_chart_proto_rawDescData = file_models_model_server_stat_board_chart_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_models_model_server_stat_board_chart_proto_rawDescGZIP() []byte {
|
||||
file_models_model_server_stat_board_chart_proto_rawDescOnce.Do(func() {
|
||||
file_models_model_server_stat_board_chart_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_server_stat_board_chart_proto_rawDescData)
|
||||
})
|
||||
return file_models_model_server_stat_board_chart_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_models_model_server_stat_board_chart_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_models_model_server_stat_board_chart_proto_goTypes = []interface{}{
|
||||
(*ServerStatBoardChart)(nil), // 0: pb.ServerStatBoardChart
|
||||
(*MetricChart)(nil), // 1: pb.MetricChart
|
||||
}
|
||||
var file_models_model_server_stat_board_chart_proto_depIdxs = []int32{
|
||||
1, // 0: pb.ServerStatBoardChart.metricChart:type_name -> pb.MetricChart
|
||||
1, // [1:1] is the sub-list for method output_type
|
||||
1, // [1:1] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_models_model_server_stat_board_chart_proto_init() }
|
||||
func file_models_model_server_stat_board_chart_proto_init() {
|
||||
if File_models_model_server_stat_board_chart_proto != nil {
|
||||
return
|
||||
}
|
||||
file_models_model_metric_chart_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_models_model_server_stat_board_chart_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ServerStatBoardChart); 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_models_model_server_stat_board_chart_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
GoTypes: file_models_model_server_stat_board_chart_proto_goTypes,
|
||||
DependencyIndexes: file_models_model_server_stat_board_chart_proto_depIdxs,
|
||||
MessageInfos: file_models_model_server_stat_board_chart_proto_msgTypes,
|
||||
}.Build()
|
||||
File_models_model_server_stat_board_chart_proto = out.File
|
||||
file_models_model_server_stat_board_chart_proto_rawDesc = nil
|
||||
file_models_model_server_stat_board_chart_proto_goTypes = nil
|
||||
file_models_model_server_stat_board_chart_proto_depIdxs = nil
|
||||
}
|
||||
@@ -112,6 +112,54 @@ func (x *RPCCountResponse) GetCount() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
// 是否存在
|
||||
type RPCExists struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Exists bool `protobuf:"varint,1,opt,name=exists,proto3" json:"exists,omitempty"`
|
||||
}
|
||||
|
||||
func (x *RPCExists) Reset() {
|
||||
*x = RPCExists{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_models_rpc_messages_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *RPCExists) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*RPCExists) ProtoMessage() {}
|
||||
|
||||
func (x *RPCExists) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_models_rpc_messages_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 RPCExists.ProtoReflect.Descriptor instead.
|
||||
func (*RPCExists) Descriptor() ([]byte, []int) {
|
||||
return file_models_rpc_messages_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *RPCExists) GetExists() bool {
|
||||
if x != nil {
|
||||
return x.Exists
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
var File_models_rpc_messages_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_models_rpc_messages_proto_rawDesc = []byte{
|
||||
@@ -120,8 +168,10 @@ var file_models_rpc_messages_proto_rawDesc = []byte{
|
||||
0x0c, 0x0a, 0x0a, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x28, 0x0a,
|
||||
0x10, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x23, 0x0a, 0x09, 0x52, 0x50, 0x43, 0x45, 0x78,
|
||||
0x69, 0x73, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x69, 0x73, 0x74, 0x73, 0x42, 0x06, 0x5a, 0x04,
|
||||
0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -136,10 +186,11 @@ func file_models_rpc_messages_proto_rawDescGZIP() []byte {
|
||||
return file_models_rpc_messages_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_models_rpc_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_models_rpc_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
|
||||
var file_models_rpc_messages_proto_goTypes = []interface{}{
|
||||
(*RPCSuccess)(nil), // 0: pb.RPCSuccess
|
||||
(*RPCCountResponse)(nil), // 1: pb.RPCCountResponse
|
||||
(*RPCExists)(nil), // 2: pb.RPCExists
|
||||
}
|
||||
var file_models_rpc_messages_proto_depIdxs = []int32{
|
||||
0, // [0:0] is the sub-list for method output_type
|
||||
@@ -179,6 +230,18 @@ func file_models_rpc_messages_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_models_rpc_messages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*RPCExists); 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{
|
||||
@@ -186,7 +249,7 @@ func file_models_rpc_messages_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_models_rpc_messages_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumMessages: 3,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
314
pkg/rpc/pb/service_api_token.pb.go
Normal file
314
pkg/rpc/pb/service_api_token.pb.go
Normal file
@@ -0,0 +1,314 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: service_api_token.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
context "context"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 获取API令牌
|
||||
type FindAllEnabledAPITokensRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledAPITokensRequest) Reset() {
|
||||
*x = FindAllEnabledAPITokensRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_api_token_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledAPITokensRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*FindAllEnabledAPITokensRequest) ProtoMessage() {}
|
||||
|
||||
func (x *FindAllEnabledAPITokensRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_api_token_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 FindAllEnabledAPITokensRequest.ProtoReflect.Descriptor instead.
|
||||
func (*FindAllEnabledAPITokensRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_api_token_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledAPITokensRequest) GetRole() string {
|
||||
if x != nil {
|
||||
return x.Role
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type FindAllEnabledAPITokensResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ApiTokens []*APIToken `protobuf:"bytes,1,rep,name=apiTokens,proto3" json:"apiTokens,omitempty"`
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledAPITokensResponse) Reset() {
|
||||
*x = FindAllEnabledAPITokensResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_api_token_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledAPITokensResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*FindAllEnabledAPITokensResponse) ProtoMessage() {}
|
||||
|
||||
func (x *FindAllEnabledAPITokensResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_api_token_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 FindAllEnabledAPITokensResponse.ProtoReflect.Descriptor instead.
|
||||
func (*FindAllEnabledAPITokensResponse) Descriptor() ([]byte, []int) {
|
||||
return file_service_api_token_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledAPITokensResponse) GetApiTokens() []*APIToken {
|
||||
if x != nil {
|
||||
return x.ApiTokens
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_service_api_token_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_service_api_token_proto_rawDesc = []byte{
|
||||
0x0a, 0x17, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x74, 0x6f,
|
||||
0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x1c, 0x6d,
|
||||
0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x61, 0x70, 0x69, 0x5f,
|
||||
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x1e, 0x46,
|
||||
0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49,
|
||||
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c,
|
||||
0x65, 0x22, 0x4d, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62,
|
||||
0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
|
||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x50, 0x49,
|
||||
0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x09, 0x61, 0x70, 0x69, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
|
||||
0x32, 0x75, 0x0a, 0x0f, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x17, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x22,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x64, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 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_api_token_proto_rawDescOnce sync.Once
|
||||
file_service_api_token_proto_rawDescData = file_service_api_token_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_service_api_token_proto_rawDescGZIP() []byte {
|
||||
file_service_api_token_proto_rawDescOnce.Do(func() {
|
||||
file_service_api_token_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_api_token_proto_rawDescData)
|
||||
})
|
||||
return file_service_api_token_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_api_token_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_service_api_token_proto_goTypes = []interface{}{
|
||||
(*FindAllEnabledAPITokensRequest)(nil), // 0: pb.FindAllEnabledAPITokensRequest
|
||||
(*FindAllEnabledAPITokensResponse)(nil), // 1: pb.FindAllEnabledAPITokensResponse
|
||||
(*APIToken)(nil), // 2: pb.APIToken
|
||||
}
|
||||
var file_service_api_token_proto_depIdxs = []int32{
|
||||
2, // 0: pb.FindAllEnabledAPITokensResponse.apiTokens:type_name -> pb.APIToken
|
||||
0, // 1: pb.APITokenService.findAllEnabledAPITokens:input_type -> pb.FindAllEnabledAPITokensRequest
|
||||
1, // 2: pb.APITokenService.findAllEnabledAPITokens:output_type -> pb.FindAllEnabledAPITokensResponse
|
||||
2, // [2:3] is the sub-list for method output_type
|
||||
1, // [1:2] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_service_api_token_proto_init() }
|
||||
func file_service_api_token_proto_init() {
|
||||
if File_service_api_token_proto != nil {
|
||||
return
|
||||
}
|
||||
file_models_model_api_token_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_service_api_token_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindAllEnabledAPITokensRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_api_token_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindAllEnabledAPITokensResponse); 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_api_token_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_service_api_token_proto_goTypes,
|
||||
DependencyIndexes: file_service_api_token_proto_depIdxs,
|
||||
MessageInfos: file_service_api_token_proto_msgTypes,
|
||||
}.Build()
|
||||
File_service_api_token_proto = out.File
|
||||
file_service_api_token_proto_rawDesc = nil
|
||||
file_service_api_token_proto_goTypes = nil
|
||||
file_service_api_token_proto_depIdxs = nil
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ context.Context
|
||||
var _ grpc.ClientConnInterface
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc.SupportPackageIsVersion6
|
||||
|
||||
// APITokenServiceClient is the client API for APITokenService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type APITokenServiceClient interface {
|
||||
// 获取API令牌
|
||||
FindAllEnabledAPITokens(ctx context.Context, in *FindAllEnabledAPITokensRequest, opts ...grpc.CallOption) (*FindAllEnabledAPITokensResponse, error)
|
||||
}
|
||||
|
||||
type aPITokenServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewAPITokenServiceClient(cc grpc.ClientConnInterface) APITokenServiceClient {
|
||||
return &aPITokenServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *aPITokenServiceClient) FindAllEnabledAPITokens(ctx context.Context, in *FindAllEnabledAPITokensRequest, opts ...grpc.CallOption) (*FindAllEnabledAPITokensResponse, error) {
|
||||
out := new(FindAllEnabledAPITokensResponse)
|
||||
err := c.cc.Invoke(ctx, "/pb.APITokenService/findAllEnabledAPITokens", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// APITokenServiceServer is the server API for APITokenService service.
|
||||
type APITokenServiceServer interface {
|
||||
// 获取API令牌
|
||||
FindAllEnabledAPITokens(context.Context, *FindAllEnabledAPITokensRequest) (*FindAllEnabledAPITokensResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedAPITokenServiceServer can be embedded to have forward compatible implementations.
|
||||
type UnimplementedAPITokenServiceServer struct {
|
||||
}
|
||||
|
||||
func (*UnimplementedAPITokenServiceServer) FindAllEnabledAPITokens(context.Context, *FindAllEnabledAPITokensRequest) (*FindAllEnabledAPITokensResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledAPITokens not implemented")
|
||||
}
|
||||
|
||||
func RegisterAPITokenServiceServer(s *grpc.Server, srv APITokenServiceServer) {
|
||||
s.RegisterService(&_APITokenService_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _APITokenService_FindAllEnabledAPITokens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(FindAllEnabledAPITokensRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(APITokenServiceServer).FindAllEnabledAPITokens(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.APITokenService/FindAllEnabledAPITokens",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(APITokenServiceServer).FindAllEnabledAPITokens(ctx, req.(*FindAllEnabledAPITokensRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _APITokenService_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "pb.APITokenService",
|
||||
HandlerType: (*APITokenServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "findAllEnabledAPITokens",
|
||||
Handler: _APITokenService_FindAllEnabledAPITokens_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "service_api_token.proto",
|
||||
}
|
||||
802
pkg/rpc/pb/service_firewall.pb.go
Normal file
802
pkg/rpc/pb/service_firewall.pb.go
Normal file
@@ -0,0 +1,802 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: service_firewall.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
context "context"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 组合看板数据
|
||||
type ComposeFirewallGlobalBoardRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardRequest) Reset() {
|
||||
*x = ComposeFirewallGlobalBoardRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_firewall_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeFirewallGlobalBoardRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_firewall_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 ComposeFirewallGlobalBoardRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeFirewallGlobalBoardRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_firewall_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type ComposeFirewallGlobalBoardResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
CountDailyLogs int64 `protobuf:"varint,1,opt,name=countDailyLogs,proto3" json:"countDailyLogs,omitempty"`
|
||||
CountDailyBlocks int64 `protobuf:"varint,2,opt,name=countDailyBlocks,proto3" json:"countDailyBlocks,omitempty"`
|
||||
CountDailyCaptcha int64 `protobuf:"varint,3,opt,name=countDailyCaptcha,proto3" json:"countDailyCaptcha,omitempty"`
|
||||
CountWeeklyBlocks int64 `protobuf:"varint,4,opt,name=countWeeklyBlocks,proto3" json:"countWeeklyBlocks,omitempty"`
|
||||
HttpFirewallRuleGroups []*ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat `protobuf:"bytes,30,rep,name=httpFirewallRuleGroups,proto3" json:"httpFirewallRuleGroups,omitempty"`
|
||||
DailyStats []*ComposeFirewallGlobalBoardResponse_DailyStat `protobuf:"bytes,31,rep,name=dailyStats,proto3" json:"dailyStats,omitempty"`
|
||||
HourlyStats []*ComposeFirewallGlobalBoardResponse_HourlyStat `protobuf:"bytes,32,rep,name=hourlyStats,proto3" json:"hourlyStats,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) Reset() {
|
||||
*x = ComposeFirewallGlobalBoardResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_firewall_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeFirewallGlobalBoardResponse) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_firewall_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 ComposeFirewallGlobalBoardResponse.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeFirewallGlobalBoardResponse) Descriptor() ([]byte, []int) {
|
||||
return file_service_firewall_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) GetCountDailyLogs() int64 {
|
||||
if x != nil {
|
||||
return x.CountDailyLogs
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) GetCountDailyBlocks() int64 {
|
||||
if x != nil {
|
||||
return x.CountDailyBlocks
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) GetCountDailyCaptcha() int64 {
|
||||
if x != nil {
|
||||
return x.CountDailyCaptcha
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) GetCountWeeklyBlocks() int64 {
|
||||
if x != nil {
|
||||
return x.CountWeeklyBlocks
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) GetHttpFirewallRuleGroups() []*ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat {
|
||||
if x != nil {
|
||||
return x.HttpFirewallRuleGroups
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) GetDailyStats() []*ComposeFirewallGlobalBoardResponse_DailyStat {
|
||||
if x != nil {
|
||||
return x.DailyStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse) GetHourlyStats() []*ComposeFirewallGlobalBoardResponse_HourlyStat {
|
||||
if x != nil {
|
||||
return x.HourlyStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 发送告警(notify)消息
|
||||
type NotifyHTTPFirewallEventRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
|
||||
HttpFirewallPolicyId int64 `protobuf:"varint,2,opt,name=httpFirewallPolicyId,proto3" json:"httpFirewallPolicyId,omitempty"`
|
||||
HttpFirewallRuleGroupId int64 `protobuf:"varint,3,opt,name=httpFirewallRuleGroupId,proto3" json:"httpFirewallRuleGroupId,omitempty"`
|
||||
HttpFirewallRuleSetId int64 `protobuf:"varint,4,opt,name=httpFirewallRuleSetId,proto3" json:"httpFirewallRuleSetId,omitempty"`
|
||||
CreatedAt int64 `protobuf:"varint,5,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
|
||||
}
|
||||
|
||||
func (x *NotifyHTTPFirewallEventRequest) Reset() {
|
||||
*x = NotifyHTTPFirewallEventRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_firewall_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *NotifyHTTPFirewallEventRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*NotifyHTTPFirewallEventRequest) ProtoMessage() {}
|
||||
|
||||
func (x *NotifyHTTPFirewallEventRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_firewall_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 NotifyHTTPFirewallEventRequest.ProtoReflect.Descriptor instead.
|
||||
func (*NotifyHTTPFirewallEventRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_firewall_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *NotifyHTTPFirewallEventRequest) GetServerId() int64 {
|
||||
if x != nil {
|
||||
return x.ServerId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NotifyHTTPFirewallEventRequest) GetHttpFirewallPolicyId() int64 {
|
||||
if x != nil {
|
||||
return x.HttpFirewallPolicyId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NotifyHTTPFirewallEventRequest) GetHttpFirewallRuleGroupId() int64 {
|
||||
if x != nil {
|
||||
return x.HttpFirewallRuleGroupId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NotifyHTTPFirewallEventRequest) GetHttpFirewallRuleSetId() int64 {
|
||||
if x != nil {
|
||||
return x.HttpFirewallRuleSetId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *NotifyHTTPFirewallEventRequest) GetCreatedAt() int64 {
|
||||
if x != nil {
|
||||
return x.CreatedAt
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
HttpFirewallRuleGroup *HTTPFirewallRuleGroup `protobuf:"bytes,1,opt,name=httpFirewallRuleGroup,proto3" json:"httpFirewallRuleGroup,omitempty"`
|
||||
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat) Reset() {
|
||||
*x = ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_firewall_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_firewall_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 ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat) Descriptor() ([]byte, []int) {
|
||||
return file_service_firewall_proto_rawDescGZIP(), []int{1, 0}
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat) GetHttpFirewallRuleGroup() *HTTPFirewallRuleGroup {
|
||||
if x != nil {
|
||||
return x.HttpFirewallRuleGroup
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat) GetCount() int64 {
|
||||
if x != nil {
|
||||
return x.Count
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ComposeFirewallGlobalBoardResponse_HourlyStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Hour string `protobuf:"bytes,1,opt,name=hour,proto3" json:"hour,omitempty"`
|
||||
CountLogs int64 `protobuf:"varint,2,opt,name=countLogs,proto3" json:"countLogs,omitempty"`
|
||||
CountCaptcha int64 `protobuf:"varint,3,opt,name=countCaptcha,proto3" json:"countCaptcha,omitempty"`
|
||||
CountBlocks int64 `protobuf:"varint,4,opt,name=countBlocks,proto3" json:"countBlocks,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HourlyStat) Reset() {
|
||||
*x = ComposeFirewallGlobalBoardResponse_HourlyStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_firewall_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HourlyStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeFirewallGlobalBoardResponse_HourlyStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HourlyStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_firewall_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 ComposeFirewallGlobalBoardResponse_HourlyStat.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeFirewallGlobalBoardResponse_HourlyStat) Descriptor() ([]byte, []int) {
|
||||
return file_service_firewall_proto_rawDescGZIP(), []int{1, 1}
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HourlyStat) GetHour() string {
|
||||
if x != nil {
|
||||
return x.Hour
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HourlyStat) GetCountLogs() int64 {
|
||||
if x != nil {
|
||||
return x.CountLogs
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HourlyStat) GetCountCaptcha() int64 {
|
||||
if x != nil {
|
||||
return x.CountCaptcha
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_HourlyStat) GetCountBlocks() int64 {
|
||||
if x != nil {
|
||||
return x.CountBlocks
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ComposeFirewallGlobalBoardResponse_DailyStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Day string `protobuf:"bytes,1,opt,name=day,proto3" json:"day,omitempty"`
|
||||
CountLogs int64 `protobuf:"varint,2,opt,name=countLogs,proto3" json:"countLogs,omitempty"`
|
||||
CountCaptcha int64 `protobuf:"varint,3,opt,name=countCaptcha,proto3" json:"countCaptcha,omitempty"`
|
||||
CountBlocks int64 `protobuf:"varint,4,opt,name=countBlocks,proto3" json:"countBlocks,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_DailyStat) Reset() {
|
||||
*x = ComposeFirewallGlobalBoardResponse_DailyStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_firewall_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_DailyStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeFirewallGlobalBoardResponse_DailyStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_DailyStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_firewall_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 ComposeFirewallGlobalBoardResponse_DailyStat.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeFirewallGlobalBoardResponse_DailyStat) Descriptor() ([]byte, []int) {
|
||||
return file_service_firewall_proto_rawDescGZIP(), []int{1, 2}
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_DailyStat) GetDay() string {
|
||||
if x != nil {
|
||||
return x.Day
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_DailyStat) GetCountLogs() int64 {
|
||||
if x != nil {
|
||||
return x.CountLogs
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_DailyStat) GetCountCaptcha() int64 {
|
||||
if x != nil {
|
||||
return x.CountCaptcha
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeFirewallGlobalBoardResponse_DailyStat) GetCountBlocks() int64 {
|
||||
if x != nil {
|
||||
return x.CountBlocks
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_service_firewall_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_service_firewall_proto_rawDesc = []byte{
|
||||
0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61,
|
||||
0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x19, 0x6d, 0x6f,
|
||||
0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
||||
0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f,
|
||||
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77,
|
||||
0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x23, 0x0a, 0x21, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x46,
|
||||
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61,
|
||||
0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x85, 0x07, 0x0a, 0x22, 0x43, 0x6f,
|
||||
0x6d, 0x70, 0x6f, 0x73, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x6c, 0x6f,
|
||||
0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x4c, 0x6f,
|
||||
0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44,
|
||||
0x61, 0x69, 0x6c, 0x79, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x10, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, 0x6c,
|
||||
0x6f, 0x63, 0x6b, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69,
|
||||
0x6c, 0x79, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x43, 0x61, 0x70, 0x74, 0x63,
|
||||
0x68, 0x61, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x65, 0x6b, 0x6c,
|
||||
0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73,
|
||||
0x12, 0x78, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||
0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x40, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x46, 0x69, 0x72,
|
||||
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72,
|
||||
0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74,
|
||||
0x61, 0x74, 0x52, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||
0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x50, 0x0a, 0x0a, 0x64, 0x61,
|
||||
0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77,
|
||||
0x61, 0x6c, 0x6c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74,
|
||||
0x52, 0x0a, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x0b,
|
||||
0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x31, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x46, 0x69,
|
||||
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72,
|
||||
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79,
|
||||
0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x1a, 0x82, 0x01, 0x0a, 0x19, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61,
|
||||
0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x12,
|
||||
0x4f, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52,
|
||||
0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||
0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x15, 0x68, 0x74, 0x74, 0x70, 0x46,
|
||||
0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x84, 0x01, 0x0a, 0x0a, 0x48, 0x6f, 0x75, 0x72, 0x6c,
|
||||
0x79, 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, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x1a, 0x81, 0x01,
|
||||
0x0a, 0x09, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64,
|
||||
0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x1c, 0x0a,
|
||||
0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x09, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x12,
|
||||
0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b,
|
||||
0x73, 0x22, 0xfe, 0x01, 0x0a, 0x1e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x54, 0x54, 0x50,
|
||||
0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 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,
|
||||
0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14,
|
||||
0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69,
|
||||
0x63, 0x79, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65,
|
||||
0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77,
|
||||
0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x34,
|
||||
0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75,
|
||||
0x6c, 0x65, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x68,
|
||||
0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x53,
|
||||
0x65, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
|
||||
0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
|
||||
0x41, 0x74, 0x32, 0xcd, 0x01, 0x0a, 0x0f, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x53,
|
||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
|
||||
0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42,
|
||||
0x6f, 0x61, 0x72, 0x64, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
|
||||
0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 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, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c,
|
||||
0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x17, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x54, 0x54,
|
||||
0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69,
|
||||
0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
|
||||
0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_service_firewall_proto_rawDescOnce sync.Once
|
||||
file_service_firewall_proto_rawDescData = file_service_firewall_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_service_firewall_proto_rawDescGZIP() []byte {
|
||||
file_service_firewall_proto_rawDescOnce.Do(func() {
|
||||
file_service_firewall_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_firewall_proto_rawDescData)
|
||||
})
|
||||
return file_service_firewall_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_firewall_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||
var file_service_firewall_proto_goTypes = []interface{}{
|
||||
(*ComposeFirewallGlobalBoardRequest)(nil), // 0: pb.ComposeFirewallGlobalBoardRequest
|
||||
(*ComposeFirewallGlobalBoardResponse)(nil), // 1: pb.ComposeFirewallGlobalBoardResponse
|
||||
(*NotifyHTTPFirewallEventRequest)(nil), // 2: pb.NotifyHTTPFirewallEventRequest
|
||||
(*ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat)(nil), // 3: pb.ComposeFirewallGlobalBoardResponse.HTTPFirewallRuleGroupStat
|
||||
(*ComposeFirewallGlobalBoardResponse_HourlyStat)(nil), // 4: pb.ComposeFirewallGlobalBoardResponse.HourlyStat
|
||||
(*ComposeFirewallGlobalBoardResponse_DailyStat)(nil), // 5: pb.ComposeFirewallGlobalBoardResponse.DailyStat
|
||||
(*HTTPFirewallRuleGroup)(nil), // 6: pb.HTTPFirewallRuleGroup
|
||||
(*RPCSuccess)(nil), // 7: pb.RPCSuccess
|
||||
}
|
||||
var file_service_firewall_proto_depIdxs = []int32{
|
||||
3, // 0: pb.ComposeFirewallGlobalBoardResponse.httpFirewallRuleGroups:type_name -> pb.ComposeFirewallGlobalBoardResponse.HTTPFirewallRuleGroupStat
|
||||
5, // 1: pb.ComposeFirewallGlobalBoardResponse.dailyStats:type_name -> pb.ComposeFirewallGlobalBoardResponse.DailyStat
|
||||
4, // 2: pb.ComposeFirewallGlobalBoardResponse.hourlyStats:type_name -> pb.ComposeFirewallGlobalBoardResponse.HourlyStat
|
||||
6, // 3: pb.ComposeFirewallGlobalBoardResponse.HTTPFirewallRuleGroupStat.httpFirewallRuleGroup:type_name -> pb.HTTPFirewallRuleGroup
|
||||
0, // 4: pb.FirewallService.composeFirewallGlobalBoard:input_type -> pb.ComposeFirewallGlobalBoardRequest
|
||||
2, // 5: pb.FirewallService.notifyHTTPFirewallEvent:input_type -> pb.NotifyHTTPFirewallEventRequest
|
||||
1, // 6: pb.FirewallService.composeFirewallGlobalBoard:output_type -> pb.ComposeFirewallGlobalBoardResponse
|
||||
7, // 7: pb.FirewallService.notifyHTTPFirewallEvent:output_type -> pb.RPCSuccess
|
||||
6, // [6:8] is the sub-list for method output_type
|
||||
4, // [4:6] is the sub-list for method input_type
|
||||
4, // [4:4] is the sub-list for extension type_name
|
||||
4, // [4:4] is the sub-list for extension extendee
|
||||
0, // [0:4] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_service_firewall_proto_init() }
|
||||
func file_service_firewall_proto_init() {
|
||||
if File_service_firewall_proto != nil {
|
||||
return
|
||||
}
|
||||
file_models_rpc_messages_proto_init()
|
||||
file_models_model_http_firewall_rule_group_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_service_firewall_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeFirewallGlobalBoardRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_firewall_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeFirewallGlobalBoardResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_firewall_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*NotifyHTTPFirewallEventRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_firewall_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeFirewallGlobalBoardResponse_HTTPFirewallRuleGroupStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_firewall_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeFirewallGlobalBoardResponse_HourlyStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_firewall_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeFirewallGlobalBoardResponse_DailyStat); 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_firewall_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 6,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_service_firewall_proto_goTypes,
|
||||
DependencyIndexes: file_service_firewall_proto_depIdxs,
|
||||
MessageInfos: file_service_firewall_proto_msgTypes,
|
||||
}.Build()
|
||||
File_service_firewall_proto = out.File
|
||||
file_service_firewall_proto_rawDesc = nil
|
||||
file_service_firewall_proto_goTypes = nil
|
||||
file_service_firewall_proto_depIdxs = nil
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ context.Context
|
||||
var _ grpc.ClientConnInterface
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc.SupportPackageIsVersion6
|
||||
|
||||
// FirewallServiceClient is the client API for FirewallService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type FirewallServiceClient interface {
|
||||
// 组合看板数据
|
||||
ComposeFirewallGlobalBoard(ctx context.Context, in *ComposeFirewallGlobalBoardRequest, opts ...grpc.CallOption) (*ComposeFirewallGlobalBoardResponse, error)
|
||||
// 发送告警(notify)消息
|
||||
NotifyHTTPFirewallEvent(ctx context.Context, in *NotifyHTTPFirewallEventRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||
}
|
||||
|
||||
type firewallServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewFirewallServiceClient(cc grpc.ClientConnInterface) FirewallServiceClient {
|
||||
return &firewallServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *firewallServiceClient) ComposeFirewallGlobalBoard(ctx context.Context, in *ComposeFirewallGlobalBoardRequest, opts ...grpc.CallOption) (*ComposeFirewallGlobalBoardResponse, error) {
|
||||
out := new(ComposeFirewallGlobalBoardResponse)
|
||||
err := c.cc.Invoke(ctx, "/pb.FirewallService/composeFirewallGlobalBoard", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *firewallServiceClient) NotifyHTTPFirewallEvent(ctx context.Context, in *NotifyHTTPFirewallEventRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
|
||||
out := new(RPCSuccess)
|
||||
err := c.cc.Invoke(ctx, "/pb.FirewallService/notifyHTTPFirewallEvent", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// FirewallServiceServer is the server API for FirewallService service.
|
||||
type FirewallServiceServer interface {
|
||||
// 组合看板数据
|
||||
ComposeFirewallGlobalBoard(context.Context, *ComposeFirewallGlobalBoardRequest) (*ComposeFirewallGlobalBoardResponse, error)
|
||||
// 发送告警(notify)消息
|
||||
NotifyHTTPFirewallEvent(context.Context, *NotifyHTTPFirewallEventRequest) (*RPCSuccess, error)
|
||||
}
|
||||
|
||||
// UnimplementedFirewallServiceServer can be embedded to have forward compatible implementations.
|
||||
type UnimplementedFirewallServiceServer struct {
|
||||
}
|
||||
|
||||
func (*UnimplementedFirewallServiceServer) ComposeFirewallGlobalBoard(context.Context, *ComposeFirewallGlobalBoardRequest) (*ComposeFirewallGlobalBoardResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ComposeFirewallGlobalBoard not implemented")
|
||||
}
|
||||
func (*UnimplementedFirewallServiceServer) NotifyHTTPFirewallEvent(context.Context, *NotifyHTTPFirewallEventRequest) (*RPCSuccess, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method NotifyHTTPFirewallEvent not implemented")
|
||||
}
|
||||
|
||||
func RegisterFirewallServiceServer(s *grpc.Server, srv FirewallServiceServer) {
|
||||
s.RegisterService(&_FirewallService_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _FirewallService_ComposeFirewallGlobalBoard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ComposeFirewallGlobalBoardRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(FirewallServiceServer).ComposeFirewallGlobalBoard(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.FirewallService/ComposeFirewallGlobalBoard",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(FirewallServiceServer).ComposeFirewallGlobalBoard(ctx, req.(*ComposeFirewallGlobalBoardRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _FirewallService_NotifyHTTPFirewallEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(NotifyHTTPFirewallEventRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(FirewallServiceServer).NotifyHTTPFirewallEvent(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.FirewallService/NotifyHTTPFirewallEvent",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(FirewallServiceServer).NotifyHTTPFirewallEvent(ctx, req.(*NotifyHTTPFirewallEventRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _FirewallService_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "pb.FirewallService",
|
||||
HandlerType: (*FirewallServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "composeFirewallGlobalBoard",
|
||||
Handler: _FirewallService_ComposeFirewallGlobalBoard_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "notifyHTTPFirewallEvent",
|
||||
Handler: _FirewallService_NotifyHTTPFirewallEvent_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "service_firewall.proto",
|
||||
}
|
||||
1127
pkg/rpc/pb/service_metric_chart.pb.go
Normal file
1127
pkg/rpc/pb/service_metric_chart.pb.go
Normal file
File diff suppressed because it is too large
Load Diff
@@ -42,6 +42,7 @@ type CreateMetricItemRequest struct {
|
||||
Period int32 `protobuf:"varint,5,opt,name=period,proto3" json:"period,omitempty"`
|
||||
PeriodUnit string `protobuf:"bytes,6,opt,name=periodUnit,proto3" json:"periodUnit,omitempty"`
|
||||
Value string `protobuf:"bytes,7,opt,name=value,proto3" json:"value,omitempty"`
|
||||
IsPublic bool `protobuf:"varint,8,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
|
||||
}
|
||||
|
||||
func (x *CreateMetricItemRequest) Reset() {
|
||||
@@ -125,6 +126,13 @@ func (x *CreateMetricItemRequest) GetValue() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateMetricItemRequest) GetIsPublic() bool {
|
||||
if x != nil {
|
||||
return x.IsPublic
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type CreateMetricItemResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -185,6 +193,7 @@ type UpdateMetricItemRequest struct {
|
||||
PeriodUnit string `protobuf:"bytes,5,opt,name=periodUnit,proto3" json:"periodUnit,omitempty"`
|
||||
Value string `protobuf:"bytes,6,opt,name=value,proto3" json:"value,omitempty"`
|
||||
IsOn bool `protobuf:"varint,7,opt,name=isOn,proto3" json:"isOn,omitempty"`
|
||||
IsPublic bool `protobuf:"varint,8,opt,name=isPublic,proto3" json:"isPublic,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UpdateMetricItemRequest) Reset() {
|
||||
@@ -268,6 +277,13 @@ func (x *UpdateMetricItemRequest) GetIsOn() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (x *UpdateMetricItemRequest) GetIsPublic() bool {
|
||||
if x != nil {
|
||||
return x.IsPublic
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// 查找单个指标信息
|
||||
type FindEnabledMetricItemRequest struct {
|
||||
state protoimpl.MessageState
|
||||
@@ -578,7 +594,7 @@ var file_service_metric_item_proto_rawDesc = []byte{
|
||||
0x1e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||
0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73,
|
||||
0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x17, 0x43,
|
||||
0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdb, 0x01, 0x0a, 0x17, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61,
|
||||
@@ -590,86 +606,90 @@ var file_service_metric_item_proto_rawDesc = []byte{
|
||||
0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64,
|
||||
0x55, 0x6e, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69,
|
||||
0x6f, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
||||
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x3e, 0x0a, 0x18,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xc7, 0x01, 0x0a,
|
||||
0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04,
|
||||
0x6b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
|
||||
0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
|
||||
0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x42, 0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x1d, 0x46, 0x69,
|
||||
0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x6d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52,
|
||||
0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x3f, 0x0a, 0x21, 0x43,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x67, 0x0a, 0x1d,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
|
||||
0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x52, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x6d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3d, 0x0a, 0x17, 0x44, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71,
|
||||
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08,
|
||||
0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
|
||||
0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x22, 0x3e, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x32, 0xfe, 0x03, 0x0a, 0x11, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4d,
|
||||
0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a,
|
||||
0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5c,
|
||||
0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
|
||||
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
||||
0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x1a,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x45,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x69,
|
||||
0x6f, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65,
|
||||
0x72, 0x69, 0x6f, 0x64, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73,
|
||||
0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x08,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x22, 0x42,
|
||||
0x0a, 0x1c, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22,
|
||||
0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x49, 0x64, 0x22, 0x4f, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x22, 0x3f, 0x0a, 0x21, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
|
||||
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70,
|
||||
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65,
|
||||
0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65,
|
||||
0x67, 0x6f, 0x72, 0x79, 0x22, 0x67, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62,
|
||||
0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
|
||||
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
|
||||
0x79, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
|
||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x52, 0x0a,
|
||||
0x1e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x73, 0x22, 0x3d, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
|
||||
0x32, 0xfe, 0x03, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x53,
|
||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
|
||||
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5c, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12,
|
||||
0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x1a, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52,
|
||||
0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x5f, 0x0a, 0x16, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x3f, 0x0a, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
|
||||
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
|
||||
0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
616
pkg/rpc/pb/service_metric_stat.pb.go
Normal file
616
pkg/rpc/pb/service_metric_stat.pb.go
Normal file
@@ -0,0 +1,616 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: service_metric_stat.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
context "context"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 上传统计数据
|
||||
type UploadMetricStatsRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
|
||||
Time string `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
|
||||
Count int64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
|
||||
Total float32 `protobuf:"fixed32,4,opt,name=total,proto3" json:"total,omitempty"`
|
||||
Version int32 `protobuf:"varint,5,opt,name=version,proto3" json:"version,omitempty"`
|
||||
ItemId int64 `protobuf:"varint,6,opt,name=itemId,proto3" json:"itemId,omitempty"`
|
||||
MetricStats []*UploadingMetricStat `protobuf:"bytes,7,rep,name=metricStats,proto3" json:"metricStats,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UploadMetricStatsRequest) Reset() {
|
||||
*x = UploadMetricStatsRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_metric_stat_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UploadMetricStatsRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UploadMetricStatsRequest) ProtoMessage() {}
|
||||
|
||||
func (x *UploadMetricStatsRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_metric_stat_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 UploadMetricStatsRequest.ProtoReflect.Descriptor instead.
|
||||
func (*UploadMetricStatsRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_metric_stat_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *UploadMetricStatsRequest) GetServerId() int64 {
|
||||
if x != nil {
|
||||
return x.ServerId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadMetricStatsRequest) GetTime() string {
|
||||
if x != nil {
|
||||
return x.Time
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UploadMetricStatsRequest) GetCount() int64 {
|
||||
if x != nil {
|
||||
return x.Count
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadMetricStatsRequest) GetTotal() float32 {
|
||||
if x != nil {
|
||||
return x.Total
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadMetricStatsRequest) GetVersion() int32 {
|
||||
if x != nil {
|
||||
return x.Version
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadMetricStatsRequest) GetItemId() int64 {
|
||||
if x != nil {
|
||||
return x.ItemId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadMetricStatsRequest) GetMetricStats() []*UploadingMetricStat {
|
||||
if x != nil {
|
||||
return x.MetricStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 计算指标数据数量
|
||||
type CountMetricStatsRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MetricItemId int64 `protobuf:"varint,1,opt,name=metricItemId,proto3" json:"metricItemId,omitempty"`
|
||||
}
|
||||
|
||||
func (x *CountMetricStatsRequest) Reset() {
|
||||
*x = CountMetricStatsRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_metric_stat_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *CountMetricStatsRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*CountMetricStatsRequest) ProtoMessage() {}
|
||||
|
||||
func (x *CountMetricStatsRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_metric_stat_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 CountMetricStatsRequest.ProtoReflect.Descriptor instead.
|
||||
func (*CountMetricStatsRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_metric_stat_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *CountMetricStatsRequest) GetMetricItemId() int64 {
|
||||
if x != nil {
|
||||
return x.MetricItemId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 读取单页指标数据
|
||||
type ListMetricStatsRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MetricItemId int64 `protobuf:"varint,1,opt,name=metricItemId,proto3" json:"metricItemId,omitempty"`
|
||||
Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ListMetricStatsRequest) Reset() {
|
||||
*x = ListMetricStatsRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_metric_stat_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ListMetricStatsRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ListMetricStatsRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ListMetricStatsRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_metric_stat_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 ListMetricStatsRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ListMetricStatsRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_metric_stat_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *ListMetricStatsRequest) GetMetricItemId() int64 {
|
||||
if x != nil {
|
||||
return x.MetricItemId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ListMetricStatsRequest) GetOffset() int64 {
|
||||
if x != nil {
|
||||
return x.Offset
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ListMetricStatsRequest) GetSize() int64 {
|
||||
if x != nil {
|
||||
return x.Size
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ListMetricStatsResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MetricStats []*MetricStat `protobuf:"bytes,1,rep,name=metricStats,proto3" json:"metricStats,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ListMetricStatsResponse) Reset() {
|
||||
*x = ListMetricStatsResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_metric_stat_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ListMetricStatsResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ListMetricStatsResponse) ProtoMessage() {}
|
||||
|
||||
func (x *ListMetricStatsResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_metric_stat_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 ListMetricStatsResponse.ProtoReflect.Descriptor instead.
|
||||
func (*ListMetricStatsResponse) Descriptor() ([]byte, []int) {
|
||||
return file_service_metric_stat_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *ListMetricStatsResponse) GetMetricStats() []*MetricStat {
|
||||
if x != nil {
|
||||
return x.MetricStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_service_metric_stat_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_service_metric_stat_proto_rawDesc = []byte{
|
||||
0x0a, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 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,
|
||||
0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73,
|
||||
0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x01, 0x0a, 0x18, 0x55,
|
||||
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
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, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x74, 0x6f,
|
||||
0x74, 0x61, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69,
|
||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
|
||||
0x74, 0x61, 0x74, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x22, 0x3d, 0x0a, 0x17, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22,
|
||||
0x68, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f,
|
||||
0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4b, 0x0a, 0x17, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x18, 0x01, 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, 0xe9, 0x01, 0x0a, 0x11, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x53, 0x74, 0x61, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x11,
|
||||
0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
|
||||
0x45, 0x0a, 0x10, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x74, 0x61, 0x74, 0x73, 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_metric_stat_proto_rawDescOnce sync.Once
|
||||
file_service_metric_stat_proto_rawDescData = file_service_metric_stat_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_service_metric_stat_proto_rawDescGZIP() []byte {
|
||||
file_service_metric_stat_proto_rawDescOnce.Do(func() {
|
||||
file_service_metric_stat_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_metric_stat_proto_rawDescData)
|
||||
})
|
||||
return file_service_metric_stat_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_metric_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_service_metric_stat_proto_goTypes = []interface{}{
|
||||
(*UploadMetricStatsRequest)(nil), // 0: pb.UploadMetricStatsRequest
|
||||
(*CountMetricStatsRequest)(nil), // 1: pb.CountMetricStatsRequest
|
||||
(*ListMetricStatsRequest)(nil), // 2: pb.ListMetricStatsRequest
|
||||
(*ListMetricStatsResponse)(nil), // 3: pb.ListMetricStatsResponse
|
||||
(*UploadingMetricStat)(nil), // 4: pb.UploadingMetricStat
|
||||
(*MetricStat)(nil), // 5: pb.MetricStat
|
||||
(*RPCSuccess)(nil), // 6: pb.RPCSuccess
|
||||
(*RPCCountResponse)(nil), // 7: pb.RPCCountResponse
|
||||
}
|
||||
var file_service_metric_stat_proto_depIdxs = []int32{
|
||||
4, // 0: pb.UploadMetricStatsRequest.metricStats:type_name -> pb.UploadingMetricStat
|
||||
5, // 1: pb.ListMetricStatsResponse.metricStats:type_name -> pb.MetricStat
|
||||
0, // 2: pb.MetricStatService.uploadMetricStats:input_type -> pb.UploadMetricStatsRequest
|
||||
1, // 3: pb.MetricStatService.countMetricStats:input_type -> pb.CountMetricStatsRequest
|
||||
2, // 4: pb.MetricStatService.listMetricStats:input_type -> pb.ListMetricStatsRequest
|
||||
6, // 5: pb.MetricStatService.uploadMetricStats:output_type -> pb.RPCSuccess
|
||||
7, // 6: pb.MetricStatService.countMetricStats:output_type -> pb.RPCCountResponse
|
||||
3, // 7: pb.MetricStatService.listMetricStats:output_type -> pb.ListMetricStatsResponse
|
||||
5, // [5:8] is the sub-list for method output_type
|
||||
2, // [2:5] is the sub-list for method input_type
|
||||
2, // [2:2] is the sub-list for extension type_name
|
||||
2, // [2:2] is the sub-list for extension extendee
|
||||
0, // [0:2] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_service_metric_stat_proto_init() }
|
||||
func file_service_metric_stat_proto_init() {
|
||||
if File_service_metric_stat_proto != nil {
|
||||
return
|
||||
}
|
||||
file_models_model_metric_stat_proto_init()
|
||||
file_models_rpc_messages_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_service_metric_stat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UploadMetricStatsRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_metric_stat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*CountMetricStatsRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_metric_stat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ListMetricStatsRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_metric_stat_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ListMetricStatsResponse); 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_metric_stat_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 4,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_service_metric_stat_proto_goTypes,
|
||||
DependencyIndexes: file_service_metric_stat_proto_depIdxs,
|
||||
MessageInfos: file_service_metric_stat_proto_msgTypes,
|
||||
}.Build()
|
||||
File_service_metric_stat_proto = out.File
|
||||
file_service_metric_stat_proto_rawDesc = nil
|
||||
file_service_metric_stat_proto_goTypes = nil
|
||||
file_service_metric_stat_proto_depIdxs = nil
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ context.Context
|
||||
var _ grpc.ClientConnInterface
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc.SupportPackageIsVersion6
|
||||
|
||||
// MetricStatServiceClient is the client API for MetricStatService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type MetricStatServiceClient interface {
|
||||
// 上传统计数据
|
||||
UploadMetricStats(ctx context.Context, in *UploadMetricStatsRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||
// 计算指标数据数量
|
||||
CountMetricStats(ctx context.Context, in *CountMetricStatsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
|
||||
// 读取单页指标数据
|
||||
ListMetricStats(ctx context.Context, in *ListMetricStatsRequest, opts ...grpc.CallOption) (*ListMetricStatsResponse, error)
|
||||
}
|
||||
|
||||
type metricStatServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewMetricStatServiceClient(cc grpc.ClientConnInterface) MetricStatServiceClient {
|
||||
return &metricStatServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *metricStatServiceClient) UploadMetricStats(ctx context.Context, in *UploadMetricStatsRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
|
||||
out := new(RPCSuccess)
|
||||
err := c.cc.Invoke(ctx, "/pb.MetricStatService/uploadMetricStats", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *metricStatServiceClient) CountMetricStats(ctx context.Context, in *CountMetricStatsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
|
||||
out := new(RPCCountResponse)
|
||||
err := c.cc.Invoke(ctx, "/pb.MetricStatService/countMetricStats", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *metricStatServiceClient) ListMetricStats(ctx context.Context, in *ListMetricStatsRequest, opts ...grpc.CallOption) (*ListMetricStatsResponse, error) {
|
||||
out := new(ListMetricStatsResponse)
|
||||
err := c.cc.Invoke(ctx, "/pb.MetricStatService/listMetricStats", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// MetricStatServiceServer is the server API for MetricStatService service.
|
||||
type MetricStatServiceServer interface {
|
||||
// 上传统计数据
|
||||
UploadMetricStats(context.Context, *UploadMetricStatsRequest) (*RPCSuccess, error)
|
||||
// 计算指标数据数量
|
||||
CountMetricStats(context.Context, *CountMetricStatsRequest) (*RPCCountResponse, error)
|
||||
// 读取单页指标数据
|
||||
ListMetricStats(context.Context, *ListMetricStatsRequest) (*ListMetricStatsResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedMetricStatServiceServer can be embedded to have forward compatible implementations.
|
||||
type UnimplementedMetricStatServiceServer struct {
|
||||
}
|
||||
|
||||
func (*UnimplementedMetricStatServiceServer) UploadMetricStats(context.Context, *UploadMetricStatsRequest) (*RPCSuccess, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UploadMetricStats not implemented")
|
||||
}
|
||||
func (*UnimplementedMetricStatServiceServer) CountMetricStats(context.Context, *CountMetricStatsRequest) (*RPCCountResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CountMetricStats not implemented")
|
||||
}
|
||||
func (*UnimplementedMetricStatServiceServer) ListMetricStats(context.Context, *ListMetricStatsRequest) (*ListMetricStatsResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ListMetricStats not implemented")
|
||||
}
|
||||
|
||||
func RegisterMetricStatServiceServer(s *grpc.Server, srv MetricStatServiceServer) {
|
||||
s.RegisterService(&_MetricStatService_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _MetricStatService_UploadMetricStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UploadMetricStatsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MetricStatServiceServer).UploadMetricStats(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.MetricStatService/UploadMetricStats",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MetricStatServiceServer).UploadMetricStats(ctx, req.(*UploadMetricStatsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _MetricStatService_CountMetricStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(CountMetricStatsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MetricStatServiceServer).CountMetricStats(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.MetricStatService/CountMetricStats",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MetricStatServiceServer).CountMetricStats(ctx, req.(*CountMetricStatsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _MetricStatService_ListMetricStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ListMetricStatsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(MetricStatServiceServer).ListMetricStats(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.MetricStatService/ListMetricStats",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(MetricStatServiceServer).ListMetricStats(ctx, req.(*ListMetricStatsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _MetricStatService_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "pb.MetricStatService",
|
||||
HandlerType: (*MetricStatServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "uploadMetricStats",
|
||||
Handler: _MetricStatService_UploadMetricStats_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "countMetricStats",
|
||||
Handler: _MetricStatService_CountMetricStats_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "listMetricStats",
|
||||
Handler: _MetricStatService_ListMetricStats_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "service_metric_stat.proto",
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -147,7 +147,8 @@ type FindAllNodeClusterMetricItemsRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
|
||||
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
|
||||
Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"`
|
||||
}
|
||||
|
||||
func (x *FindAllNodeClusterMetricItemsRequest) Reset() {
|
||||
@@ -189,6 +190,13 @@ func (x *FindAllNodeClusterMetricItemsRequest) GetNodeClusterId() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *FindAllNodeClusterMetricItemsRequest) GetCategory() string {
|
||||
if x != nil {
|
||||
return x.Category
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type FindAllNodeClusterMetricItemsResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -236,6 +244,157 @@ func (x *FindAllNodeClusterMetricItemsResponse) GetMetricItems() []*MetricItem {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 检查是否已添加某个指标
|
||||
type ExistsNodeClusterMetricItemRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
NodeClusterId int64 `protobuf:"varint,1,opt,name=nodeClusterId,proto3" json:"nodeClusterId,omitempty"`
|
||||
MetricItemId int64 `protobuf:"varint,2,opt,name=metricItemId,proto3" json:"metricItemId,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ExistsNodeClusterMetricItemRequest) Reset() {
|
||||
*x = ExistsNodeClusterMetricItemRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_node_cluster_metric_item_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ExistsNodeClusterMetricItemRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ExistsNodeClusterMetricItemRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ExistsNodeClusterMetricItemRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_node_cluster_metric_item_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 ExistsNodeClusterMetricItemRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ExistsNodeClusterMetricItemRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_node_cluster_metric_item_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *ExistsNodeClusterMetricItemRequest) GetNodeClusterId() int64 {
|
||||
if x != nil {
|
||||
return x.NodeClusterId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ExistsNodeClusterMetricItemRequest) GetMetricItemId() int64 {
|
||||
if x != nil {
|
||||
return x.MetricItemId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 查找使用指标的集群
|
||||
type FindAllNodeClustersWithMetricItemIdRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MetricItemId int64 `protobuf:"varint,1,opt,name=metricItemId,proto3" json:"metricItemId,omitempty"`
|
||||
}
|
||||
|
||||
func (x *FindAllNodeClustersWithMetricItemIdRequest) Reset() {
|
||||
*x = FindAllNodeClustersWithMetricItemIdRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_node_cluster_metric_item_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *FindAllNodeClustersWithMetricItemIdRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*FindAllNodeClustersWithMetricItemIdRequest) ProtoMessage() {}
|
||||
|
||||
func (x *FindAllNodeClustersWithMetricItemIdRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_node_cluster_metric_item_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 FindAllNodeClustersWithMetricItemIdRequest.ProtoReflect.Descriptor instead.
|
||||
func (*FindAllNodeClustersWithMetricItemIdRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_node_cluster_metric_item_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *FindAllNodeClustersWithMetricItemIdRequest) GetMetricItemId() int64 {
|
||||
if x != nil {
|
||||
return x.MetricItemId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type FindAllNodeClustersWithMetricItemIdResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
NodeClusters []*NodeCluster `protobuf:"bytes,1,rep,name=nodeClusters,proto3" json:"nodeClusters,omitempty"`
|
||||
}
|
||||
|
||||
func (x *FindAllNodeClustersWithMetricItemIdResponse) Reset() {
|
||||
*x = FindAllNodeClustersWithMetricItemIdResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_node_cluster_metric_item_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *FindAllNodeClustersWithMetricItemIdResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*FindAllNodeClustersWithMetricItemIdResponse) ProtoMessage() {}
|
||||
|
||||
func (x *FindAllNodeClustersWithMetricItemIdResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_node_cluster_metric_item_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 FindAllNodeClustersWithMetricItemIdResponse.ProtoReflect.Descriptor instead.
|
||||
func (*FindAllNodeClustersWithMetricItemIdResponse) Descriptor() ([]byte, []int) {
|
||||
return file_service_node_cluster_metric_item_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
func (x *FindAllNodeClustersWithMetricItemIdResponse) GetNodeClusters() []*NodeCluster {
|
||||
if x != nil {
|
||||
return x.NodeClusters
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_service_node_cluster_metric_item_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_service_node_cluster_metric_item_proto_rawDesc = []byte{
|
||||
@@ -245,53 +404,89 @@ var file_service_node_cluster_metric_item_proto_rawDesc = []byte{
|
||||
0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
||||
0x73, 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, 0x69, 0x74, 0x65,
|
||||
0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x22, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 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, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61, 0x62,
|
||||
0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f,
|
||||
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x22, 0x45, 0x6e, 0x61, 0x62,
|
||||
0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 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, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 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, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x24, 0x46, 0x69, 0x6e,
|
||||
0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 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, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
|
||||
0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
|
||||
0x6f, 0x72, 0x79, 0x22, 0x59, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f,
|
||||
0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x0b,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x6e,
|
||||
0x0a, 0x22, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 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, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x50,
|
||||
0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0c,
|
||||
0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64,
|
||||
0x22, 0x62, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x33, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43,
|
||||
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x73, 0x32, 0xa3, 0x04, 0x0a, 0x1c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x65,
|
||||
0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e,
|
||||
0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c,
|
||||
0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x27, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
|
||||
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
|
||||
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
|
||||
0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 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, 0x59, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c,
|
||||
0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x30, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x52, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x73, 0x32, 0xc4, 0x02, 0x0a, 0x1c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||
0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69,
|
||||
0x63, 0x65, 0x12, 0x55, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65,
|
||||
0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64,
|
||||
0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64,
|
||||
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
|
||||
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x57, 0x0a, 0x1c, 0x64, 0x69, 0x73,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d,
|
||||
0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x44,
|
||||
0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||
0x65, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x1b, 0x65,
|
||||
0x78, 0x69, 0x73, 0x74, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
|
||||
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||
0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65,
|
||||
0x73, 0x73, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64,
|
||||
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
|
||||
0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||
0x63, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c,
|
||||
0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x78, 0x69, 0x73, 0x74,
|
||||
0x73, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64,
|
||||
0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74,
|
||||
0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
||||
0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||
0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
||||
0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
|
||||
0x72, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x49, 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 (
|
||||
@@ -306,28 +501,38 @@ func file_service_node_cluster_metric_item_proto_rawDescGZIP() []byte {
|
||||
return file_service_node_cluster_metric_item_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_node_cluster_metric_item_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_service_node_cluster_metric_item_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
|
||||
var file_service_node_cluster_metric_item_proto_goTypes = []interface{}{
|
||||
(*EnableNodeClusterMetricItemRequest)(nil), // 0: pb.EnableNodeClusterMetricItemRequest
|
||||
(*DisableNodeClusterMetricItemRequest)(nil), // 1: pb.DisableNodeClusterMetricItemRequest
|
||||
(*FindAllNodeClusterMetricItemsRequest)(nil), // 2: pb.FindAllNodeClusterMetricItemsRequest
|
||||
(*FindAllNodeClusterMetricItemsResponse)(nil), // 3: pb.FindAllNodeClusterMetricItemsResponse
|
||||
(*MetricItem)(nil), // 4: pb.MetricItem
|
||||
(*RPCSuccess)(nil), // 5: pb.RPCSuccess
|
||||
(*EnableNodeClusterMetricItemRequest)(nil), // 0: pb.EnableNodeClusterMetricItemRequest
|
||||
(*DisableNodeClusterMetricItemRequest)(nil), // 1: pb.DisableNodeClusterMetricItemRequest
|
||||
(*FindAllNodeClusterMetricItemsRequest)(nil), // 2: pb.FindAllNodeClusterMetricItemsRequest
|
||||
(*FindAllNodeClusterMetricItemsResponse)(nil), // 3: pb.FindAllNodeClusterMetricItemsResponse
|
||||
(*ExistsNodeClusterMetricItemRequest)(nil), // 4: pb.ExistsNodeClusterMetricItemRequest
|
||||
(*FindAllNodeClustersWithMetricItemIdRequest)(nil), // 5: pb.FindAllNodeClustersWithMetricItemIdRequest
|
||||
(*FindAllNodeClustersWithMetricItemIdResponse)(nil), // 6: pb.FindAllNodeClustersWithMetricItemIdResponse
|
||||
(*MetricItem)(nil), // 7: pb.MetricItem
|
||||
(*NodeCluster)(nil), // 8: pb.NodeCluster
|
||||
(*RPCSuccess)(nil), // 9: pb.RPCSuccess
|
||||
(*RPCExists)(nil), // 10: pb.RPCExists
|
||||
}
|
||||
var file_service_node_cluster_metric_item_proto_depIdxs = []int32{
|
||||
4, // 0: pb.FindAllNodeClusterMetricItemsResponse.metricItems:type_name -> pb.MetricItem
|
||||
0, // 1: pb.NodeClusterMetricItemService.enableNodeClusterMetricItem:input_type -> pb.EnableNodeClusterMetricItemRequest
|
||||
1, // 2: pb.NodeClusterMetricItemService.disableNodeClusterMetricItem:input_type -> pb.DisableNodeClusterMetricItemRequest
|
||||
2, // 3: pb.NodeClusterMetricItemService.findAllNodeClusterMetricItems:input_type -> pb.FindAllNodeClusterMetricItemsRequest
|
||||
5, // 4: pb.NodeClusterMetricItemService.enableNodeClusterMetricItem:output_type -> pb.RPCSuccess
|
||||
5, // 5: pb.NodeClusterMetricItemService.disableNodeClusterMetricItem:output_type -> pb.RPCSuccess
|
||||
3, // 6: pb.NodeClusterMetricItemService.findAllNodeClusterMetricItems:output_type -> pb.FindAllNodeClusterMetricItemsResponse
|
||||
4, // [4:7] is the sub-list for method output_type
|
||||
1, // [1:4] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
7, // 0: pb.FindAllNodeClusterMetricItemsResponse.metricItems:type_name -> pb.MetricItem
|
||||
8, // 1: pb.FindAllNodeClustersWithMetricItemIdResponse.nodeClusters:type_name -> pb.NodeCluster
|
||||
0, // 2: pb.NodeClusterMetricItemService.enableNodeClusterMetricItem:input_type -> pb.EnableNodeClusterMetricItemRequest
|
||||
1, // 3: pb.NodeClusterMetricItemService.disableNodeClusterMetricItem:input_type -> pb.DisableNodeClusterMetricItemRequest
|
||||
2, // 4: pb.NodeClusterMetricItemService.findAllNodeClusterMetricItems:input_type -> pb.FindAllNodeClusterMetricItemsRequest
|
||||
4, // 5: pb.NodeClusterMetricItemService.existsNodeClusterMetricItem:input_type -> pb.ExistsNodeClusterMetricItemRequest
|
||||
5, // 6: pb.NodeClusterMetricItemService.findAllNodeClustersWithMetricItemId:input_type -> pb.FindAllNodeClustersWithMetricItemIdRequest
|
||||
9, // 7: pb.NodeClusterMetricItemService.enableNodeClusterMetricItem:output_type -> pb.RPCSuccess
|
||||
9, // 8: pb.NodeClusterMetricItemService.disableNodeClusterMetricItem:output_type -> pb.RPCSuccess
|
||||
3, // 9: pb.NodeClusterMetricItemService.findAllNodeClusterMetricItems:output_type -> pb.FindAllNodeClusterMetricItemsResponse
|
||||
10, // 10: pb.NodeClusterMetricItemService.existsNodeClusterMetricItem:output_type -> pb.RPCExists
|
||||
6, // 11: pb.NodeClusterMetricItemService.findAllNodeClustersWithMetricItemId:output_type -> pb.FindAllNodeClustersWithMetricItemIdResponse
|
||||
7, // [7:12] is the sub-list for method output_type
|
||||
2, // [2:7] is the sub-list for method input_type
|
||||
2, // [2:2] is the sub-list for extension type_name
|
||||
2, // [2:2] is the sub-list for extension extendee
|
||||
0, // [0:2] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_service_node_cluster_metric_item_proto_init() }
|
||||
@@ -337,6 +542,7 @@ func file_service_node_cluster_metric_item_proto_init() {
|
||||
}
|
||||
file_models_rpc_messages_proto_init()
|
||||
file_models_model_metric_item_proto_init()
|
||||
file_models_model_node_cluster_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_service_node_cluster_metric_item_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*EnableNodeClusterMetricItemRequest); i {
|
||||
@@ -386,6 +592,42 @@ func file_service_node_cluster_metric_item_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_node_cluster_metric_item_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ExistsNodeClusterMetricItemRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_node_cluster_metric_item_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindAllNodeClustersWithMetricItemIdRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_node_cluster_metric_item_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindAllNodeClustersWithMetricItemIdResponse); 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{
|
||||
@@ -393,7 +635,7 @@ func file_service_node_cluster_metric_item_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_service_node_cluster_metric_item_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 4,
|
||||
NumMessages: 7,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
@@ -425,6 +667,10 @@ type NodeClusterMetricItemServiceClient interface {
|
||||
DisableNodeClusterMetricItem(ctx context.Context, in *DisableNodeClusterMetricItemRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||
// 查找集群中所有指标
|
||||
FindAllNodeClusterMetricItems(ctx context.Context, in *FindAllNodeClusterMetricItemsRequest, opts ...grpc.CallOption) (*FindAllNodeClusterMetricItemsResponse, error)
|
||||
// 检查是否已添加某个指标
|
||||
ExistsNodeClusterMetricItem(ctx context.Context, in *ExistsNodeClusterMetricItemRequest, opts ...grpc.CallOption) (*RPCExists, error)
|
||||
// 查找使用指标的集群
|
||||
FindAllNodeClustersWithMetricItemId(ctx context.Context, in *FindAllNodeClustersWithMetricItemIdRequest, opts ...grpc.CallOption) (*FindAllNodeClustersWithMetricItemIdResponse, error)
|
||||
}
|
||||
|
||||
type nodeClusterMetricItemServiceClient struct {
|
||||
@@ -462,6 +708,24 @@ func (c *nodeClusterMetricItemServiceClient) FindAllNodeClusterMetricItems(ctx c
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *nodeClusterMetricItemServiceClient) ExistsNodeClusterMetricItem(ctx context.Context, in *ExistsNodeClusterMetricItemRequest, opts ...grpc.CallOption) (*RPCExists, error) {
|
||||
out := new(RPCExists)
|
||||
err := c.cc.Invoke(ctx, "/pb.NodeClusterMetricItemService/existsNodeClusterMetricItem", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *nodeClusterMetricItemServiceClient) FindAllNodeClustersWithMetricItemId(ctx context.Context, in *FindAllNodeClustersWithMetricItemIdRequest, opts ...grpc.CallOption) (*FindAllNodeClustersWithMetricItemIdResponse, error) {
|
||||
out := new(FindAllNodeClustersWithMetricItemIdResponse)
|
||||
err := c.cc.Invoke(ctx, "/pb.NodeClusterMetricItemService/findAllNodeClustersWithMetricItemId", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// NodeClusterMetricItemServiceServer is the server API for NodeClusterMetricItemService service.
|
||||
type NodeClusterMetricItemServiceServer interface {
|
||||
// 启用某个指标
|
||||
@@ -470,6 +734,10 @@ type NodeClusterMetricItemServiceServer interface {
|
||||
DisableNodeClusterMetricItem(context.Context, *DisableNodeClusterMetricItemRequest) (*RPCSuccess, error)
|
||||
// 查找集群中所有指标
|
||||
FindAllNodeClusterMetricItems(context.Context, *FindAllNodeClusterMetricItemsRequest) (*FindAllNodeClusterMetricItemsResponse, error)
|
||||
// 检查是否已添加某个指标
|
||||
ExistsNodeClusterMetricItem(context.Context, *ExistsNodeClusterMetricItemRequest) (*RPCExists, error)
|
||||
// 查找使用指标的集群
|
||||
FindAllNodeClustersWithMetricItemId(context.Context, *FindAllNodeClustersWithMetricItemIdRequest) (*FindAllNodeClustersWithMetricItemIdResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedNodeClusterMetricItemServiceServer can be embedded to have forward compatible implementations.
|
||||
@@ -485,6 +753,12 @@ func (*UnimplementedNodeClusterMetricItemServiceServer) DisableNodeClusterMetric
|
||||
func (*UnimplementedNodeClusterMetricItemServiceServer) FindAllNodeClusterMetricItems(context.Context, *FindAllNodeClusterMetricItemsRequest) (*FindAllNodeClusterMetricItemsResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method FindAllNodeClusterMetricItems not implemented")
|
||||
}
|
||||
func (*UnimplementedNodeClusterMetricItemServiceServer) ExistsNodeClusterMetricItem(context.Context, *ExistsNodeClusterMetricItemRequest) (*RPCExists, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ExistsNodeClusterMetricItem not implemented")
|
||||
}
|
||||
func (*UnimplementedNodeClusterMetricItemServiceServer) FindAllNodeClustersWithMetricItemId(context.Context, *FindAllNodeClustersWithMetricItemIdRequest) (*FindAllNodeClustersWithMetricItemIdResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method FindAllNodeClustersWithMetricItemId not implemented")
|
||||
}
|
||||
|
||||
func RegisterNodeClusterMetricItemServiceServer(s *grpc.Server, srv NodeClusterMetricItemServiceServer) {
|
||||
s.RegisterService(&_NodeClusterMetricItemService_serviceDesc, srv)
|
||||
@@ -544,6 +818,42 @@ func _NodeClusterMetricItemService_FindAllNodeClusterMetricItems_Handler(srv int
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NodeClusterMetricItemService_ExistsNodeClusterMetricItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ExistsNodeClusterMetricItemRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeClusterMetricItemServiceServer).ExistsNodeClusterMetricItem(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.NodeClusterMetricItemService/ExistsNodeClusterMetricItem",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeClusterMetricItemServiceServer).ExistsNodeClusterMetricItem(ctx, req.(*ExistsNodeClusterMetricItemRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _NodeClusterMetricItemService_FindAllNodeClustersWithMetricItemId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(FindAllNodeClustersWithMetricItemIdRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NodeClusterMetricItemServiceServer).FindAllNodeClustersWithMetricItemId(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.NodeClusterMetricItemService/FindAllNodeClustersWithMetricItemId",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NodeClusterMetricItemServiceServer).FindAllNodeClustersWithMetricItemId(ctx, req.(*FindAllNodeClustersWithMetricItemIdRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _NodeClusterMetricItemService_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "pb.NodeClusterMetricItemService",
|
||||
HandlerType: (*NodeClusterMetricItemServiceServer)(nil),
|
||||
@@ -560,6 +870,14 @@ var _NodeClusterMetricItemService_serviceDesc = grpc.ServiceDesc{
|
||||
MethodName: "findAllNodeClusterMetricItems",
|
||||
Handler: _NodeClusterMetricItemService_FindAllNodeClusterMetricItems_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "existsNodeClusterMetricItem",
|
||||
Handler: _NodeClusterMetricItemService_ExistsNodeClusterMetricItem_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "findAllNodeClustersWithMetricItemId",
|
||||
Handler: _NodeClusterMetricItemService_FindAllNodeClustersWithMetricItemId_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "service_node_cluster_metric_item.proto",
|
||||
|
||||
@@ -218,38 +218,38 @@ var file_service_node_value_proto_rawDesc = []byte{
|
||||
0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x76,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x19,
|
||||
0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
|
||||
0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
|
||||
0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f,
|
||||
0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x22, 0x68, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74,
|
||||
0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x1c,
|
||||
0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x0c, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09,
|
||||
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x6d, 0x0a, 0x15, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
|
||||
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69,
|
||||
0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x47, 0x0a, 0x16, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64,
|
||||
0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75,
|
||||
0x65, 0x73, 0x32, 0x9a, 0x01, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
|
||||
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f,
|
||||
0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64,
|
||||
0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42,
|
||||
0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x67, 0x65, 0x73, 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, 0x22, 0x68, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a,
|
||||
0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
||||
0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
|
||||
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
|
||||
0x41, 0x74, 0x22, 0x6d, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72,
|
||||
0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x72,
|
||||
0x61, 0x6e, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67,
|
||||
0x65, 0x22, 0x47, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x6e,
|
||||
0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a,
|
||||
0x6e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x32, 0x9a, 0x01, 0x0a, 0x10, 0x4e,
|
||||
0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
|
||||
0x3d, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c,
|
||||
0x75, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f,
|
||||
0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x47,
|
||||
0x0a, 0x0e, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
|
||||
0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 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 (
|
||||
@@ -291,7 +291,7 @@ func file_service_node_value_proto_init() {
|
||||
return
|
||||
}
|
||||
file_models_rpc_messages_proto_init()
|
||||
file_models_model_message_node_value_proto_init()
|
||||
file_models_model_node_value_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_service_node_value_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*CreateNodeValueRequest); i {
|
||||
|
||||
796
pkg/rpc/pb/service_ns.pb.go
Normal file
796
pkg/rpc/pb/service_ns.pb.go
Normal file
@@ -0,0 +1,796 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: service_ns.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
context "context"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 组合看板数据
|
||||
type ComposeNSBoardRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardRequest) Reset() {
|
||||
*x = ComposeNSBoardRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_ns_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeNSBoardRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeNSBoardRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_ns_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 ComposeNSBoardRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeNSBoardRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_ns_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type ComposeNSBoardResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
CountNSDomains int64 `protobuf:"varint,1,opt,name=countNSDomains,proto3" json:"countNSDomains,omitempty"`
|
||||
CountNSRecords int64 `protobuf:"varint,2,opt,name=countNSRecords,proto3" json:"countNSRecords,omitempty"`
|
||||
CountNSClusters int64 `protobuf:"varint,3,opt,name=countNSClusters,proto3" json:"countNSClusters,omitempty"`
|
||||
CountNSNodes int64 `protobuf:"varint,4,opt,name=countNSNodes,proto3" json:"countNSNodes,omitempty"`
|
||||
CountOfflineNSNodes int64 `protobuf:"varint,5,opt,name=countOfflineNSNodes,proto3" json:"countOfflineNSNodes,omitempty"`
|
||||
DailyTrafficStats []*ComposeNSBoardResponse_DailyTrafficStat `protobuf:"bytes,30,rep,name=dailyTrafficStats,proto3" json:"dailyTrafficStats,omitempty"`
|
||||
HourlyTrafficStats []*ComposeNSBoardResponse_HourlyTrafficStat `protobuf:"bytes,31,rep,name=hourlyTrafficStats,proto3" json:"hourlyTrafficStats,omitempty"`
|
||||
TopNSNodeStats []*ComposeNSBoardResponse_NodeStat `protobuf:"bytes,32,rep,name=topNSNodeStats,proto3" json:"topNSNodeStats,omitempty"`
|
||||
TopNSDomainStats []*ComposeNSBoardResponse_DomainStat `protobuf:"bytes,33,rep,name=topNSDomainStats,proto3" json:"topNSDomainStats,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"`
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) Reset() {
|
||||
*x = ComposeNSBoardResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_ns_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeNSBoardResponse) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeNSBoardResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_ns_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 ComposeNSBoardResponse.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeNSBoardResponse) Descriptor() ([]byte, []int) {
|
||||
return file_service_ns_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetCountNSDomains() int64 {
|
||||
if x != nil {
|
||||
return x.CountNSDomains
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetCountNSRecords() int64 {
|
||||
if x != nil {
|
||||
return x.CountNSRecords
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetCountNSClusters() int64 {
|
||||
if x != nil {
|
||||
return x.CountNSClusters
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetCountNSNodes() int64 {
|
||||
if x != nil {
|
||||
return x.CountNSNodes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetCountOfflineNSNodes() int64 {
|
||||
if x != nil {
|
||||
return x.CountOfflineNSNodes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetDailyTrafficStats() []*ComposeNSBoardResponse_DailyTrafficStat {
|
||||
if x != nil {
|
||||
return x.DailyTrafficStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetHourlyTrafficStats() []*ComposeNSBoardResponse_HourlyTrafficStat {
|
||||
if x != nil {
|
||||
return x.HourlyTrafficStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetTopNSNodeStats() []*ComposeNSBoardResponse_NodeStat {
|
||||
if x != nil {
|
||||
return x.TopNSNodeStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetTopNSDomainStats() []*ComposeNSBoardResponse_DomainStat {
|
||||
if x != nil {
|
||||
return x.TopNSDomainStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetCpuNodeValues() []*NodeValue {
|
||||
if x != nil {
|
||||
return x.CpuNodeValues
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetMemoryNodeValues() []*NodeValue {
|
||||
if x != nil {
|
||||
return x.MemoryNodeValues
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse) GetLoadNodeValues() []*NodeValue {
|
||||
if x != nil {
|
||||
return x.LoadNodeValues
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type ComposeNSBoardResponse_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"`
|
||||
CountRequests int64 `protobuf:"varint,3,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DailyTrafficStat) Reset() {
|
||||
*x = ComposeNSBoardResponse_DailyTrafficStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_ns_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DailyTrafficStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeNSBoardResponse_DailyTrafficStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DailyTrafficStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_ns_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 ComposeNSBoardResponse_DailyTrafficStat.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeNSBoardResponse_DailyTrafficStat) Descriptor() ([]byte, []int) {
|
||||
return file_service_ns_proto_rawDescGZIP(), []int{1, 0}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DailyTrafficStat) GetDay() string {
|
||||
if x != nil {
|
||||
return x.Day
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DailyTrafficStat) GetBytes() int64 {
|
||||
if x != nil {
|
||||
return x.Bytes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DailyTrafficStat) GetCountRequests() int64 {
|
||||
if x != nil {
|
||||
return x.CountRequests
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ComposeNSBoardResponse_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"`
|
||||
CountRequests int64 `protobuf:"varint,3,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_HourlyTrafficStat) Reset() {
|
||||
*x = ComposeNSBoardResponse_HourlyTrafficStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_ns_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_HourlyTrafficStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeNSBoardResponse_HourlyTrafficStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeNSBoardResponse_HourlyTrafficStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_ns_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 ComposeNSBoardResponse_HourlyTrafficStat.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeNSBoardResponse_HourlyTrafficStat) Descriptor() ([]byte, []int) {
|
||||
return file_service_ns_proto_rawDescGZIP(), []int{1, 1}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_HourlyTrafficStat) GetHour() string {
|
||||
if x != nil {
|
||||
return x.Hour
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_HourlyTrafficStat) GetBytes() int64 {
|
||||
if x != nil {
|
||||
return x.Bytes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_HourlyTrafficStat) GetCountRequests() int64 {
|
||||
if x != nil {
|
||||
return x.CountRequests
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ComposeNSBoardResponse_NodeStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
NsClusterId int64 `protobuf:"varint,1,opt,name=nsClusterId,proto3" json:"nsClusterId,omitempty"`
|
||||
NsNodeId int64 `protobuf:"varint,2,opt,name=nsNodeId,proto3" json:"nsNodeId,omitempty"`
|
||||
NsNodeName string `protobuf:"bytes,3,opt,name=nsNodeName,proto3" json:"nsNodeName,omitempty"`
|
||||
CountRequests int64 `protobuf:"varint,4,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
|
||||
Bytes int64 `protobuf:"varint,5,opt,name=bytes,proto3" json:"bytes,omitempty"`
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_NodeStat) Reset() {
|
||||
*x = ComposeNSBoardResponse_NodeStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_ns_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_NodeStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeNSBoardResponse_NodeStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeNSBoardResponse_NodeStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_ns_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 ComposeNSBoardResponse_NodeStat.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeNSBoardResponse_NodeStat) Descriptor() ([]byte, []int) {
|
||||
return file_service_ns_proto_rawDescGZIP(), []int{1, 2}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_NodeStat) GetNsClusterId() int64 {
|
||||
if x != nil {
|
||||
return x.NsClusterId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_NodeStat) GetNsNodeId() int64 {
|
||||
if x != nil {
|
||||
return x.NsNodeId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_NodeStat) GetNsNodeName() string {
|
||||
if x != nil {
|
||||
return x.NsNodeName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_NodeStat) GetCountRequests() int64 {
|
||||
if x != nil {
|
||||
return x.CountRequests
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_NodeStat) GetBytes() int64 {
|
||||
if x != nil {
|
||||
return x.Bytes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ComposeNSBoardResponse_DomainStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
NsDomainId int64 `protobuf:"varint,1,opt,name=nsDomainId,proto3" json:"nsDomainId,omitempty"`
|
||||
NsDomainName string `protobuf:"bytes,2,opt,name=nsDomainName,proto3" json:"nsDomainName,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"`
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DomainStat) Reset() {
|
||||
*x = ComposeNSBoardResponse_DomainStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_ns_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DomainStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ComposeNSBoardResponse_DomainStat) ProtoMessage() {}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DomainStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_ns_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 ComposeNSBoardResponse_DomainStat.ProtoReflect.Descriptor instead.
|
||||
func (*ComposeNSBoardResponse_DomainStat) Descriptor() ([]byte, []int) {
|
||||
return file_service_ns_proto_rawDescGZIP(), []int{1, 3}
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DomainStat) GetNsDomainId() int64 {
|
||||
if x != nil {
|
||||
return x.NsDomainId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DomainStat) GetNsDomainName() string {
|
||||
if x != nil {
|
||||
return x.NsDomainName
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DomainStat) GetCountRequests() int64 {
|
||||
if x != nil {
|
||||
return x.CountRequests
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ComposeNSBoardResponse_DomainStat) GetBytes() int64 {
|
||||
if x != nil {
|
||||
return x.Bytes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
var File_service_ns_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_service_ns_proto_rawDesc = []byte{
|
||||
0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 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, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65,
|
||||
0x4e, 0x53, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe5,
|
||||
0x09, 0x0a, 0x16, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x53, 0x42, 0x6f, 0x61, 0x72,
|
||||
0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
|
||||
0x73, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x75,
|
||||
0x6e, 0x74, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x53, 0x4e, 0x6f,
|
||||
0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69,
|
||||
0x6e, 0x65, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x59, 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, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73,
|
||||
0x65, 0x4e, 0x53, 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, 0x5c, 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, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x53, 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, 0x4b, 0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x53, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x52,
|
||||
0x0e, 0x74, 0x6f, 0x70, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
|
||||
0x51, 0x0a, 0x10, 0x74, 0x6f, 0x70, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x43,
|
||||
0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x53, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74,
|
||||
0x52, 0x10, 0x74, 0x6f, 0x70, 0x4e, 0x53, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 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, 0x1a, 0x60, 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, 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, 0x1a, 0x63, 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, 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,
|
||||
0x1a, 0xa4, 0x01, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x12, 0x20, 0x0a,
|
||||
0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0b, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12,
|
||||
0x1a, 0x0a, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x08, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6e,
|
||||
0x73, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0a, 0x6e, 0x73, 0x4e, 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, 0x04, 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, 0x05, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x8c, 0x01, 0x0a, 0x0a, 0x44, 0x6f, 0x6d, 0x61,
|
||||
0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61,
|
||||
0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f,
|
||||
0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61,
|
||||
0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x73,
|
||||
0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 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, 0x32, 0x54, 0x0a, 0x09, 0x4e, 0x53, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x53,
|
||||
0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f,
|
||||
0x73, 0x65, 0x4e, 0x53, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4e, 0x53, 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_ns_proto_rawDescOnce sync.Once
|
||||
file_service_ns_proto_rawDescData = file_service_ns_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_service_ns_proto_rawDescGZIP() []byte {
|
||||
file_service_ns_proto_rawDescOnce.Do(func() {
|
||||
file_service_ns_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_ns_proto_rawDescData)
|
||||
})
|
||||
return file_service_ns_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_ns_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||
var file_service_ns_proto_goTypes = []interface{}{
|
||||
(*ComposeNSBoardRequest)(nil), // 0: pb.ComposeNSBoardRequest
|
||||
(*ComposeNSBoardResponse)(nil), // 1: pb.ComposeNSBoardResponse
|
||||
(*ComposeNSBoardResponse_DailyTrafficStat)(nil), // 2: pb.ComposeNSBoardResponse.DailyTrafficStat
|
||||
(*ComposeNSBoardResponse_HourlyTrafficStat)(nil), // 3: pb.ComposeNSBoardResponse.HourlyTrafficStat
|
||||
(*ComposeNSBoardResponse_NodeStat)(nil), // 4: pb.ComposeNSBoardResponse.NodeStat
|
||||
(*ComposeNSBoardResponse_DomainStat)(nil), // 5: pb.ComposeNSBoardResponse.DomainStat
|
||||
(*NodeValue)(nil), // 6: pb.NodeValue
|
||||
}
|
||||
var file_service_ns_proto_depIdxs = []int32{
|
||||
2, // 0: pb.ComposeNSBoardResponse.dailyTrafficStats:type_name -> pb.ComposeNSBoardResponse.DailyTrafficStat
|
||||
3, // 1: pb.ComposeNSBoardResponse.hourlyTrafficStats:type_name -> pb.ComposeNSBoardResponse.HourlyTrafficStat
|
||||
4, // 2: pb.ComposeNSBoardResponse.topNSNodeStats:type_name -> pb.ComposeNSBoardResponse.NodeStat
|
||||
5, // 3: pb.ComposeNSBoardResponse.topNSDomainStats:type_name -> pb.ComposeNSBoardResponse.DomainStat
|
||||
6, // 4: pb.ComposeNSBoardResponse.cpuNodeValues:type_name -> pb.NodeValue
|
||||
6, // 5: pb.ComposeNSBoardResponse.memoryNodeValues:type_name -> pb.NodeValue
|
||||
6, // 6: pb.ComposeNSBoardResponse.loadNodeValues:type_name -> pb.NodeValue
|
||||
0, // 7: pb.NSService.composeNSBoard:input_type -> pb.ComposeNSBoardRequest
|
||||
1, // 8: pb.NSService.composeNSBoard:output_type -> pb.ComposeNSBoardResponse
|
||||
8, // [8:9] is the sub-list for method output_type
|
||||
7, // [7:8] is the sub-list for method input_type
|
||||
7, // [7:7] is the sub-list for extension type_name
|
||||
7, // [7:7] is the sub-list for extension extendee
|
||||
0, // [0:7] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_service_ns_proto_init() }
|
||||
func file_service_ns_proto_init() {
|
||||
if File_service_ns_proto != nil {
|
||||
return
|
||||
}
|
||||
file_models_model_node_value_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_service_ns_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeNSBoardRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_ns_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeNSBoardResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_ns_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeNSBoardResponse_DailyTrafficStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_ns_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeNSBoardResponse_HourlyTrafficStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_ns_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeNSBoardResponse_NodeStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_ns_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ComposeNSBoardResponse_DomainStat); 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_ns_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 6,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_service_ns_proto_goTypes,
|
||||
DependencyIndexes: file_service_ns_proto_depIdxs,
|
||||
MessageInfos: file_service_ns_proto_msgTypes,
|
||||
}.Build()
|
||||
File_service_ns_proto = out.File
|
||||
file_service_ns_proto_rawDesc = nil
|
||||
file_service_ns_proto_goTypes = nil
|
||||
file_service_ns_proto_depIdxs = nil
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ context.Context
|
||||
var _ grpc.ClientConnInterface
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc.SupportPackageIsVersion6
|
||||
|
||||
// NSServiceClient is the client API for NSService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type NSServiceClient interface {
|
||||
// 组合看板数据
|
||||
ComposeNSBoard(ctx context.Context, in *ComposeNSBoardRequest, opts ...grpc.CallOption) (*ComposeNSBoardResponse, error)
|
||||
}
|
||||
|
||||
type nSServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewNSServiceClient(cc grpc.ClientConnInterface) NSServiceClient {
|
||||
return &nSServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *nSServiceClient) ComposeNSBoard(ctx context.Context, in *ComposeNSBoardRequest, opts ...grpc.CallOption) (*ComposeNSBoardResponse, error) {
|
||||
out := new(ComposeNSBoardResponse)
|
||||
err := c.cc.Invoke(ctx, "/pb.NSService/composeNSBoard", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// NSServiceServer is the server API for NSService service.
|
||||
type NSServiceServer interface {
|
||||
// 组合看板数据
|
||||
ComposeNSBoard(context.Context, *ComposeNSBoardRequest) (*ComposeNSBoardResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedNSServiceServer can be embedded to have forward compatible implementations.
|
||||
type UnimplementedNSServiceServer struct {
|
||||
}
|
||||
|
||||
func (*UnimplementedNSServiceServer) ComposeNSBoard(context.Context, *ComposeNSBoardRequest) (*ComposeNSBoardResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ComposeNSBoard not implemented")
|
||||
}
|
||||
|
||||
func RegisterNSServiceServer(s *grpc.Server, srv NSServiceServer) {
|
||||
s.RegisterService(&_NSService_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _NSService_ComposeNSBoard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ComposeNSBoardRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NSServiceServer).ComposeNSBoard(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.NSService/ComposeNSBoard",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NSServiceServer).ComposeNSBoard(ctx, req.(*ComposeNSBoardRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _NSService_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "pb.NSService",
|
||||
HandlerType: (*NSServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "composeNSBoard",
|
||||
Handler: _NSService_ComposeNSBoard_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "service_ns.proto",
|
||||
}
|
||||
@@ -185,6 +185,7 @@ type UpdateNSRecordRequest struct {
|
||||
Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"`
|
||||
Ttl int32 `protobuf:"varint,6,opt,name=ttl,proto3" json:"ttl,omitempty"`
|
||||
NsRouteIds []int64 `protobuf:"varint,7,rep,packed,name=nsRouteIds,proto3" json:"nsRouteIds,omitempty"`
|
||||
IsOn bool `protobuf:"varint,8,opt,name=isOn,proto3" json:"isOn,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UpdateNSRecordRequest) Reset() {
|
||||
@@ -268,6 +269,13 @@ func (x *UpdateNSRecordRequest) GetNsRouteIds() []int64 {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *UpdateNSRecordRequest) GetIsOn() bool {
|
||||
if x != nil {
|
||||
return x.IsOn
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// 删除记录
|
||||
type DeleteNSRecordRequest struct {
|
||||
state protoimpl.MessageState
|
||||
@@ -745,7 +753,7 @@ var file_service_ns_record_proto_rawDesc = []byte{
|
||||
0x64, 0x73, 0x22, 0x38, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
|
||||
0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0xc9, 0x01, 0x0a,
|
||||
0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0xdd, 0x01, 0x0a,
|
||||
0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65,
|
||||
@@ -758,11 +766,21 @@ var file_service_ns_record_proto_rawDesc = []byte{
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x6f,
|
||||
0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73,
|
||||
0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x22, 0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49,
|
||||
0x64, 0x22, 0x8d, 0x01, 0x0a, 0x1f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e,
|
||||
0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e,
|
||||
0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22, 0x37, 0x0a, 0x15,
|
||||
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x1f, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41,
|
||||
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44,
|
||||
0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e,
|
||||
0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
|
||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a,
|
||||
0x09, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x09, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b,
|
||||
0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65,
|
||||
0x79, 0x77, 0x6f, 0x72, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e,
|
||||
0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69,
|
||||
0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d,
|
||||
@@ -771,79 +789,70 @@ var file_service_ns_record_proto_rawDesc = []byte{
|
||||
0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x73,
|
||||
0x52, 0x6f, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
|
||||
0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,
|
||||
0x64, 0x22, 0xb5, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49,
|
||||
0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65,
|
||||
0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x6f, 0x75, 0x74,
|
||||
0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a,
|
||||
0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f,
|
||||
0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4a, 0x0a, 0x1c, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x3c, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x22, 0x50, 0x0a, 0x20,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74,
|
||||
0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69,
|
||||
0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f,
|
||||
0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41,
|
||||
0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x32,
|
||||
0xc8, 0x04, 0x0a, 0x0f, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x0e,
|
||||
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52,
|
||||
0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x64, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53,
|
||||
0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
|
||||
0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43,
|
||||
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a,
|
||||
0x14, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66, 0x69, 0x6e, 0x64,
|
||||
0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
|
||||
0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||
0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||
0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
|
||||
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4a, 0x0a,
|
||||
0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a,
|
||||
0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09,
|
||||
0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x3c, 0x0a, 0x1a, 0x46, 0x69, 0x6e,
|
||||
0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x73, 0x52, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x73, 0x52,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45,
|
||||
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53,
|
||||
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x08, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x22, 0x50, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69,
|
||||
0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6e, 0x73, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x73, 0x32, 0xc8, 0x04, 0x0a, 0x0f, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
|
||||
0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f,
|
||||
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x12, 0x3b, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x53,
|
||||
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a,
|
||||
0x0e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12,
|
||||
0x19, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x53, 0x52, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x18, 0x63, 0x6f,
|
||||
0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52,
|
||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x59, 0x0a, 0x14, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
|
||||
0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f,
|
||||
0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13,
|
||||
0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
|
||||
0x62, 0x6c, 0x65, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65,
|
||||
0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x53, 0x52, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x41, 0x66, 0x74, 0x65, 0x72, 0x56,
|
||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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 (
|
||||
|
||||
255
pkg/rpc/pb/service_ns_record_hourly_stat.pb.go
Normal file
255
pkg/rpc/pb/service_ns_record_hourly_stat.pb.go
Normal file
@@ -0,0 +1,255 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: service_ns_record_hourly_stat.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
context "context"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 上传统计
|
||||
type UploadNSRecordHourlyStatsRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Stats []*NSRecordHourlyStat `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UploadNSRecordHourlyStatsRequest) Reset() {
|
||||
*x = UploadNSRecordHourlyStatsRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_ns_record_hourly_stat_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UploadNSRecordHourlyStatsRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UploadNSRecordHourlyStatsRequest) ProtoMessage() {}
|
||||
|
||||
func (x *UploadNSRecordHourlyStatsRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_ns_record_hourly_stat_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 UploadNSRecordHourlyStatsRequest.ProtoReflect.Descriptor instead.
|
||||
func (*UploadNSRecordHourlyStatsRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_ns_record_hourly_stat_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *UploadNSRecordHourlyStatsRequest) GetStats() []*NSRecordHourlyStat {
|
||||
if x != nil {
|
||||
return x.Stats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_service_ns_record_hourly_stat_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_service_ns_record_hourly_stat_proto_rawDesc = []byte{
|
||||
0x0a, 0x23, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x63,
|
||||
0x6f, 0x72, 0x64, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x28, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
|
||||
0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72,
|
||||
0x64, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f,
|
||||
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50,
|
||||
0x0a, 0x20, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||
0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48,
|
||||
0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73,
|
||||
0x32, 0x6e, 0x0a, 0x19, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x6f, 0x75, 0x72,
|
||||
0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a,
|
||||
0x19, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48,
|
||||
0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x6f,
|
||||
0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
|
||||
0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
file_service_ns_record_hourly_stat_proto_rawDescOnce sync.Once
|
||||
file_service_ns_record_hourly_stat_proto_rawDescData = file_service_ns_record_hourly_stat_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_service_ns_record_hourly_stat_proto_rawDescGZIP() []byte {
|
||||
file_service_ns_record_hourly_stat_proto_rawDescOnce.Do(func() {
|
||||
file_service_ns_record_hourly_stat_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_ns_record_hourly_stat_proto_rawDescData)
|
||||
})
|
||||
return file_service_ns_record_hourly_stat_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_ns_record_hourly_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
|
||||
var file_service_ns_record_hourly_stat_proto_goTypes = []interface{}{
|
||||
(*UploadNSRecordHourlyStatsRequest)(nil), // 0: pb.UploadNSRecordHourlyStatsRequest
|
||||
(*NSRecordHourlyStat)(nil), // 1: pb.NSRecordHourlyStat
|
||||
(*RPCSuccess)(nil), // 2: pb.RPCSuccess
|
||||
}
|
||||
var file_service_ns_record_hourly_stat_proto_depIdxs = []int32{
|
||||
1, // 0: pb.UploadNSRecordHourlyStatsRequest.stats:type_name -> pb.NSRecordHourlyStat
|
||||
0, // 1: pb.NSRecordHourlyStatService.uploadNSRecordHourlyStats:input_type -> pb.UploadNSRecordHourlyStatsRequest
|
||||
2, // 2: pb.NSRecordHourlyStatService.uploadNSRecordHourlyStats:output_type -> pb.RPCSuccess
|
||||
2, // [2:3] is the sub-list for method output_type
|
||||
1, // [1:2] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_service_ns_record_hourly_stat_proto_init() }
|
||||
func file_service_ns_record_hourly_stat_proto_init() {
|
||||
if File_service_ns_record_hourly_stat_proto != nil {
|
||||
return
|
||||
}
|
||||
file_models_model_ns_record_hourly_stat_proto_init()
|
||||
file_models_rpc_messages_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_service_ns_record_hourly_stat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*UploadNSRecordHourlyStatsRequest); 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_ns_record_hourly_stat_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_service_ns_record_hourly_stat_proto_goTypes,
|
||||
DependencyIndexes: file_service_ns_record_hourly_stat_proto_depIdxs,
|
||||
MessageInfos: file_service_ns_record_hourly_stat_proto_msgTypes,
|
||||
}.Build()
|
||||
File_service_ns_record_hourly_stat_proto = out.File
|
||||
file_service_ns_record_hourly_stat_proto_rawDesc = nil
|
||||
file_service_ns_record_hourly_stat_proto_goTypes = nil
|
||||
file_service_ns_record_hourly_stat_proto_depIdxs = nil
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ context.Context
|
||||
var _ grpc.ClientConnInterface
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc.SupportPackageIsVersion6
|
||||
|
||||
// NSRecordHourlyStatServiceClient is the client API for NSRecordHourlyStatService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type NSRecordHourlyStatServiceClient interface {
|
||||
// 上传统计
|
||||
UploadNSRecordHourlyStats(ctx context.Context, in *UploadNSRecordHourlyStatsRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||
}
|
||||
|
||||
type nSRecordHourlyStatServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewNSRecordHourlyStatServiceClient(cc grpc.ClientConnInterface) NSRecordHourlyStatServiceClient {
|
||||
return &nSRecordHourlyStatServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *nSRecordHourlyStatServiceClient) UploadNSRecordHourlyStats(ctx context.Context, in *UploadNSRecordHourlyStatsRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
|
||||
out := new(RPCSuccess)
|
||||
err := c.cc.Invoke(ctx, "/pb.NSRecordHourlyStatService/uploadNSRecordHourlyStats", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// NSRecordHourlyStatServiceServer is the server API for NSRecordHourlyStatService service.
|
||||
type NSRecordHourlyStatServiceServer interface {
|
||||
// 上传统计
|
||||
UploadNSRecordHourlyStats(context.Context, *UploadNSRecordHourlyStatsRequest) (*RPCSuccess, error)
|
||||
}
|
||||
|
||||
// UnimplementedNSRecordHourlyStatServiceServer can be embedded to have forward compatible implementations.
|
||||
type UnimplementedNSRecordHourlyStatServiceServer struct {
|
||||
}
|
||||
|
||||
func (*UnimplementedNSRecordHourlyStatServiceServer) UploadNSRecordHourlyStats(context.Context, *UploadNSRecordHourlyStatsRequest) (*RPCSuccess, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UploadNSRecordHourlyStats not implemented")
|
||||
}
|
||||
|
||||
func RegisterNSRecordHourlyStatServiceServer(s *grpc.Server, srv NSRecordHourlyStatServiceServer) {
|
||||
s.RegisterService(&_NSRecordHourlyStatService_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _NSRecordHourlyStatService_UploadNSRecordHourlyStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(UploadNSRecordHourlyStatsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(NSRecordHourlyStatServiceServer).UploadNSRecordHourlyStats(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.NSRecordHourlyStatService/UploadNSRecordHourlyStats",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(NSRecordHourlyStatServiceServer).UploadNSRecordHourlyStats(ctx, req.(*UploadNSRecordHourlyStatsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _NSRecordHourlyStatService_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "pb.NSRecordHourlyStatService",
|
||||
HandlerType: (*NSRecordHourlyStatServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "uploadNSRecordHourlyStats",
|
||||
Handler: _NSRecordHourlyStatService_UploadNSRecordHourlyStats_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "service_ns_record_hourly_stat.proto",
|
||||
}
|
||||
@@ -35,7 +35,8 @@ type UploadServerDailyStatsRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Stats []*ServerDailyStat `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"`
|
||||
Stats []*ServerDailyStat `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"`
|
||||
DomainStats []*UploadServerDailyStatsRequest_DomainStat `protobuf:"bytes,2,rep,name=domainStats,proto3" json:"domainStats,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest) Reset() {
|
||||
@@ -77,6 +78,13 @@ func (x *UploadServerDailyStatsRequest) GetStats() []*ServerDailyStat {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest) GetDomainStats() []*UploadServerDailyStatsRequest_DomainStat {
|
||||
if x != nil {
|
||||
return x.DomainStats
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// 按小时读取统计数据
|
||||
type FindLatestServerHourlyStatsRequest struct {
|
||||
state protoimpl.MessageState
|
||||
@@ -386,6 +394,117 @@ func (x *FindLatestServerDailyStatsResponse) GetStats() []*FindLatestServerDaily
|
||||
return nil
|
||||
}
|
||||
|
||||
type UploadServerDailyStatsRequest_DomainStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ServerId int64 `protobuf:"varint,1,opt,name=serverId,proto3" json:"serverId,omitempty"`
|
||||
Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"`
|
||||
Bytes int64 `protobuf:"varint,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
|
||||
CachedBytes int64 `protobuf:"varint,4,opt,name=cachedBytes,proto3" json:"cachedBytes,omitempty"`
|
||||
CountRequests int64 `protobuf:"varint,5,opt,name=countRequests,proto3" json:"countRequests,omitempty"`
|
||||
CountCachedRequests int64 `protobuf:"varint,6,opt,name=countCachedRequests,proto3" json:"countCachedRequests,omitempty"`
|
||||
CountAttackRequests int64 `protobuf:"varint,8,opt,name=countAttackRequests,proto3" json:"countAttackRequests,omitempty"`
|
||||
AttackBytes int64 `protobuf:"varint,9,opt,name=attackBytes,proto3" json:"attackBytes,omitempty"`
|
||||
CreatedAt int64 `protobuf:"varint,7,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) Reset() {
|
||||
*x = UploadServerDailyStatsRequest_DomainStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[7]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UploadServerDailyStatsRequest_DomainStat) ProtoMessage() {}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_server_daily_stat_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 UploadServerDailyStatsRequest_DomainStat.ProtoReflect.Descriptor instead.
|
||||
func (*UploadServerDailyStatsRequest_DomainStat) Descriptor() ([]byte, []int) {
|
||||
return file_service_server_daily_stat_proto_rawDescGZIP(), []int{0, 0}
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) GetServerId() int64 {
|
||||
if x != nil {
|
||||
return x.ServerId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) GetDomain() string {
|
||||
if x != nil {
|
||||
return x.Domain
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) GetBytes() int64 {
|
||||
if x != nil {
|
||||
return x.Bytes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) GetCachedBytes() int64 {
|
||||
if x != nil {
|
||||
return x.CachedBytes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) GetCountRequests() int64 {
|
||||
if x != nil {
|
||||
return x.CountRequests
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) GetCountCachedRequests() int64 {
|
||||
if x != nil {
|
||||
return x.CountCachedRequests
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) GetCountAttackRequests() int64 {
|
||||
if x != nil {
|
||||
return x.CountAttackRequests
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) GetAttackBytes() int64 {
|
||||
if x != nil {
|
||||
return x.AttackBytes
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UploadServerDailyStatsRequest_DomainStat) GetCreatedAt() int64 {
|
||||
if x != nil {
|
||||
return x.CreatedAt
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type FindLatestServerHourlyStatsResponse_HourlyStat struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -401,7 +520,7 @@ type FindLatestServerHourlyStatsResponse_HourlyStat struct {
|
||||
func (x *FindLatestServerHourlyStatsResponse_HourlyStat) Reset() {
|
||||
*x = FindLatestServerHourlyStatsResponse_HourlyStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[7]
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[8]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -414,7 +533,7 @@ func (x *FindLatestServerHourlyStatsResponse_HourlyStat) String() string {
|
||||
func (*FindLatestServerHourlyStatsResponse_HourlyStat) ProtoMessage() {}
|
||||
|
||||
func (x *FindLatestServerHourlyStatsResponse_HourlyStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[7]
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[8]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -480,7 +599,7 @@ type FindLatestServerMinutelyStatsResponse_MinutelyStat struct {
|
||||
func (x *FindLatestServerMinutelyStatsResponse_MinutelyStat) Reset() {
|
||||
*x = FindLatestServerMinutelyStatsResponse_MinutelyStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[8]
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[9]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -493,7 +612,7 @@ func (x *FindLatestServerMinutelyStatsResponse_MinutelyStat) String() string {
|
||||
func (*FindLatestServerMinutelyStatsResponse_MinutelyStat) ProtoMessage() {}
|
||||
|
||||
func (x *FindLatestServerMinutelyStatsResponse_MinutelyStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[8]
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[9]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -559,7 +678,7 @@ type FindLatestServerDailyStatsResponse_DailyStat struct {
|
||||
func (x *FindLatestServerDailyStatsResponse_DailyStat) Reset() {
|
||||
*x = FindLatestServerDailyStatsResponse_DailyStat{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[9]
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[10]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -572,7 +691,7 @@ func (x *FindLatestServerDailyStatsResponse_DailyStat) String() string {
|
||||
func (*FindLatestServerDailyStatsResponse_DailyStat) ProtoMessage() {}
|
||||
|
||||
func (x *FindLatestServerDailyStatsResponse_DailyStat) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[9]
|
||||
mi := &file_service_server_daily_stat_proto_msgTypes[10]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -632,112 +751,138 @@ var file_service_server_daily_stat_proto_rawDesc = []byte{
|
||||
0x64, 0x65, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79,
|
||||
0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64,
|
||||
0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4a, 0x0a, 0x1d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
|
||||
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76,
|
||||
0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x22, 0x56, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74,
|
||||
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 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, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x22, 0xa2, 0x02, 0x0a, 0x23, 0x46,
|
||||
0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48,
|
||||
0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73,
|
||||
0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x6f, 0x75, 0x72, 0x6c,
|
||||
0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xb0, 0x01, 0x0a,
|
||||
0x0a, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 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, 0x22,
|
||||
0x5c, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
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, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x22, 0xae, 0x02,
|
||||
0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x03, 0x0a, 0x1d, 0x55, 0x70, 0x6c, 0x6f, 0x61,
|
||||
0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
|
||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74,
|
||||
0x61, 0x74, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70,
|
||||
0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x6f, 0x6d, 0x61,
|
||||
0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x0b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x1a, 0xc2, 0x02, 0x0a, 0x0a, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74,
|
||||
0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16,
|
||||
0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
||||
0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
|
||||
0x03, 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, 0x04, 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,
|
||||
0x05, 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, 0x06, 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, 0x08, 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, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61,
|
||||
0x74, 0x74, 0x61, 0x63, 0x6b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x56, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64,
|
||||
0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72,
|
||||
0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 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, 0x12, 0x14, 0x0a, 0x05, 0x68, 0x6f,
|
||||
0x75, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x68, 0x6f, 0x75, 0x72, 0x73,
|
||||
0x22, 0xa2, 0x02, 0x0a, 0x23, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
|
||||
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
|
||||
0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x75,
|
||||
0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x2e, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x1a, 0xb0, 0x01, 0x0a, 0x0a, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 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, 0x22, 0x5c, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74,
|
||||
0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c,
|
||||
0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 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, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e,
|
||||
0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x75,
|
||||
0x74, 0x65, 0x73, 0x22, 0xae, 0x02, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65,
|
||||
0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a,
|
||||
0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76,
|
||||
0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73,
|
||||
0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
|
||||
0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75,
|
||||
0x74, 0x65, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x2e, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05,
|
||||
0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xb6, 0x01, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65,
|
||||
0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 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, 0x22, 0x53,
|
||||
0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76,
|
||||
0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 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, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64,
|
||||
0x61, 0x79, 0x73, 0x22, 0x9c, 0x02, 0x0a, 0x22, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79,
|
||||
0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xb6, 0x01, 0x0a, 0x0c,
|
||||
0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x69,
|
||||
0x6e, 0x75, 0x74, 0x65, 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, 0x22, 0x53, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65,
|
||||
0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74,
|
||||
0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
||||
0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44,
|
||||
0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61,
|
||||
0x74, 0x73, 0x1a, 0xad, 0x01, 0x0a, 0x09, 0x44, 0x61, 0x69, 0x6c, 0x79, 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, 0x32, 0xb8, 0x03, 0x0a, 0x16, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69,
|
||||
0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4b, 0x0a,
|
||||
0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69,
|
||||
0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c,
|
||||
0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74,
|
||||
0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
|
||||
0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69,
|
||||
0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f,
|
||||
0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46,
|
||||
0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48,
|
||||
0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73,
|
||||
0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61,
|
||||
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69,
|
||||
0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x69,
|
||||
0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x28, 0x2e, 0x70, 0x62,
|
||||
0x74, 0x73, 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, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x79, 0x73, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x61, 0x79, 0x73, 0x22, 0x9c, 0x02, 0x0a, 0x22, 0x46, 0x69,
|
||||
0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61,
|
||||
0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x30, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61,
|
||||
0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0xad, 0x01, 0x0a, 0x09, 0x44, 0x61, 0x69,
|
||||
0x6c, 0x79, 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, 0x32, 0xb8, 0x03, 0x0a, 0x16, 0x53, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x16, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x21, 0x2e,
|
||||
0x70, 0x62, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44,
|
||||
0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
|
||||
0x12, 0x6e, 0x0a, 0x1b, 0x66, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65,
|
||||
0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12,
|
||||
0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53,
|
||||
0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e,
|
||||
0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x75,
|
||||
0x72, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65,
|
||||
0x72, 0x76, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74,
|
||||
0x73, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73,
|
||||
0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||
0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c,
|
||||
0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75, 0x74,
|
||||
0x65, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65,
|
||||
0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x25,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65,
|
||||
0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c,
|
||||
0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79,
|
||||
0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a,
|
||||
0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1a, 0x66, 0x69, 0x6e, 0x64, 0x4c, 0x61,
|
||||
0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61,
|
||||
0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53,
|
||||
0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x62,
|
||||
0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||
0x72, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 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 (
|
||||
@@ -752,7 +897,7 @@ func file_service_server_daily_stat_proto_rawDescGZIP() []byte {
|
||||
return file_service_server_daily_stat_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_server_daily_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
|
||||
var file_service_server_daily_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
|
||||
var file_service_server_daily_stat_proto_goTypes = []interface{}{
|
||||
(*UploadServerDailyStatsRequest)(nil), // 0: pb.UploadServerDailyStatsRequest
|
||||
(*FindLatestServerHourlyStatsRequest)(nil), // 1: pb.FindLatestServerHourlyStatsRequest
|
||||
@@ -761,30 +906,32 @@ var file_service_server_daily_stat_proto_goTypes = []interface{}{
|
||||
(*FindLatestServerMinutelyStatsResponse)(nil), // 4: pb.FindLatestServerMinutelyStatsResponse
|
||||
(*FindLatestServerDailyStatsRequest)(nil), // 5: pb.FindLatestServerDailyStatsRequest
|
||||
(*FindLatestServerDailyStatsResponse)(nil), // 6: pb.FindLatestServerDailyStatsResponse
|
||||
(*FindLatestServerHourlyStatsResponse_HourlyStat)(nil), // 7: pb.FindLatestServerHourlyStatsResponse.HourlyStat
|
||||
(*FindLatestServerMinutelyStatsResponse_MinutelyStat)(nil), // 8: pb.FindLatestServerMinutelyStatsResponse.MinutelyStat
|
||||
(*FindLatestServerDailyStatsResponse_DailyStat)(nil), // 9: pb.FindLatestServerDailyStatsResponse.DailyStat
|
||||
(*ServerDailyStat)(nil), // 10: pb.ServerDailyStat
|
||||
(*RPCSuccess)(nil), // 11: pb.RPCSuccess
|
||||
(*UploadServerDailyStatsRequest_DomainStat)(nil), // 7: pb.UploadServerDailyStatsRequest.DomainStat
|
||||
(*FindLatestServerHourlyStatsResponse_HourlyStat)(nil), // 8: pb.FindLatestServerHourlyStatsResponse.HourlyStat
|
||||
(*FindLatestServerMinutelyStatsResponse_MinutelyStat)(nil), // 9: pb.FindLatestServerMinutelyStatsResponse.MinutelyStat
|
||||
(*FindLatestServerDailyStatsResponse_DailyStat)(nil), // 10: pb.FindLatestServerDailyStatsResponse.DailyStat
|
||||
(*ServerDailyStat)(nil), // 11: pb.ServerDailyStat
|
||||
(*RPCSuccess)(nil), // 12: pb.RPCSuccess
|
||||
}
|
||||
var file_service_server_daily_stat_proto_depIdxs = []int32{
|
||||
10, // 0: pb.UploadServerDailyStatsRequest.stats:type_name -> pb.ServerDailyStat
|
||||
7, // 1: pb.FindLatestServerHourlyStatsResponse.stats:type_name -> pb.FindLatestServerHourlyStatsResponse.HourlyStat
|
||||
8, // 2: pb.FindLatestServerMinutelyStatsResponse.stats:type_name -> pb.FindLatestServerMinutelyStatsResponse.MinutelyStat
|
||||
9, // 3: pb.FindLatestServerDailyStatsResponse.stats:type_name -> pb.FindLatestServerDailyStatsResponse.DailyStat
|
||||
0, // 4: pb.ServerDailyStatService.uploadServerDailyStats:input_type -> pb.UploadServerDailyStatsRequest
|
||||
1, // 5: pb.ServerDailyStatService.findLatestServerHourlyStats:input_type -> pb.FindLatestServerHourlyStatsRequest
|
||||
3, // 6: pb.ServerDailyStatService.findLatestServerMinutelyStats:input_type -> pb.FindLatestServerMinutelyStatsRequest
|
||||
5, // 7: pb.ServerDailyStatService.findLatestServerDailyStats:input_type -> pb.FindLatestServerDailyStatsRequest
|
||||
11, // 8: pb.ServerDailyStatService.uploadServerDailyStats:output_type -> pb.RPCSuccess
|
||||
2, // 9: pb.ServerDailyStatService.findLatestServerHourlyStats:output_type -> pb.FindLatestServerHourlyStatsResponse
|
||||
4, // 10: pb.ServerDailyStatService.findLatestServerMinutelyStats:output_type -> pb.FindLatestServerMinutelyStatsResponse
|
||||
6, // 11: pb.ServerDailyStatService.findLatestServerDailyStats:output_type -> pb.FindLatestServerDailyStatsResponse
|
||||
8, // [8:12] is the sub-list for method output_type
|
||||
4, // [4:8] is the sub-list for method input_type
|
||||
4, // [4:4] is the sub-list for extension type_name
|
||||
4, // [4:4] is the sub-list for extension extendee
|
||||
0, // [0:4] is the sub-list for field type_name
|
||||
11, // 0: pb.UploadServerDailyStatsRequest.stats:type_name -> pb.ServerDailyStat
|
||||
7, // 1: pb.UploadServerDailyStatsRequest.domainStats:type_name -> pb.UploadServerDailyStatsRequest.DomainStat
|
||||
8, // 2: pb.FindLatestServerHourlyStatsResponse.stats:type_name -> pb.FindLatestServerHourlyStatsResponse.HourlyStat
|
||||
9, // 3: pb.FindLatestServerMinutelyStatsResponse.stats:type_name -> pb.FindLatestServerMinutelyStatsResponse.MinutelyStat
|
||||
10, // 4: pb.FindLatestServerDailyStatsResponse.stats:type_name -> pb.FindLatestServerDailyStatsResponse.DailyStat
|
||||
0, // 5: pb.ServerDailyStatService.uploadServerDailyStats:input_type -> pb.UploadServerDailyStatsRequest
|
||||
1, // 6: pb.ServerDailyStatService.findLatestServerHourlyStats:input_type -> pb.FindLatestServerHourlyStatsRequest
|
||||
3, // 7: pb.ServerDailyStatService.findLatestServerMinutelyStats:input_type -> pb.FindLatestServerMinutelyStatsRequest
|
||||
5, // 8: pb.ServerDailyStatService.findLatestServerDailyStats:input_type -> pb.FindLatestServerDailyStatsRequest
|
||||
12, // 9: pb.ServerDailyStatService.uploadServerDailyStats:output_type -> pb.RPCSuccess
|
||||
2, // 10: pb.ServerDailyStatService.findLatestServerHourlyStats:output_type -> pb.FindLatestServerHourlyStatsResponse
|
||||
4, // 11: pb.ServerDailyStatService.findLatestServerMinutelyStats:output_type -> pb.FindLatestServerMinutelyStatsResponse
|
||||
6, // 12: pb.ServerDailyStatService.findLatestServerDailyStats:output_type -> pb.FindLatestServerDailyStatsResponse
|
||||
9, // [9:13] is the sub-list for method output_type
|
||||
5, // [5:9] is the sub-list for method input_type
|
||||
5, // [5:5] is the sub-list for extension type_name
|
||||
5, // [5:5] is the sub-list for extension extendee
|
||||
0, // [0:5] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_service_server_daily_stat_proto_init() }
|
||||
@@ -880,7 +1027,7 @@ func file_service_server_daily_stat_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_server_daily_stat_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindLatestServerHourlyStatsResponse_HourlyStat); i {
|
||||
switch v := v.(*UploadServerDailyStatsRequest_DomainStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -892,7 +1039,7 @@ func file_service_server_daily_stat_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_server_daily_stat_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindLatestServerMinutelyStatsResponse_MinutelyStat); i {
|
||||
switch v := v.(*FindLatestServerHourlyStatsResponse_HourlyStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
@@ -904,6 +1051,18 @@ func file_service_server_daily_stat_proto_init() {
|
||||
}
|
||||
}
|
||||
file_service_server_daily_stat_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindLatestServerMinutelyStatsResponse_MinutelyStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_server_daily_stat_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindLatestServerDailyStatsResponse_DailyStat); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -922,7 +1081,7 @@ func file_service_server_daily_stat_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_service_server_daily_stat_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 10,
|
||||
NumMessages: 11,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
@@ -29,7 +29,7 @@ const (
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 组合Dashboard
|
||||
// 组合服务的Dashboard
|
||||
type ComposeServerHTTPFirewallDashboardRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -522,7 +522,7 @@ const _ = grpc.SupportPackageIsVersion6
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type ServerHTTPFirewallDailyStatServiceClient interface {
|
||||
// 组合Dashboard
|
||||
// 组合服务的Dashboard
|
||||
ComposeServerHTTPFirewallDashboard(ctx context.Context, in *ComposeServerHTTPFirewallDashboardRequest, opts ...grpc.CallOption) (*ComposeServerHTTPFirewallDashboardResponse, error)
|
||||
}
|
||||
|
||||
@@ -545,7 +545,7 @@ func (c *serverHTTPFirewallDailyStatServiceClient) ComposeServerHTTPFirewallDash
|
||||
|
||||
// ServerHTTPFirewallDailyStatServiceServer is the server API for ServerHTTPFirewallDailyStatService service.
|
||||
type ServerHTTPFirewallDailyStatServiceServer interface {
|
||||
// 组合Dashboard
|
||||
// 组合服务的Dashboard
|
||||
ComposeServerHTTPFirewallDashboard(context.Context, *ComposeServerHTTPFirewallDashboardRequest) (*ComposeServerHTTPFirewallDashboardResponse, error)
|
||||
}
|
||||
|
||||
|
||||
2684
pkg/rpc/pb/service_server_stat_board.pb.go
Normal file
2684
pkg/rpc/pb/service_server_stat_board.pb.go
Normal file
File diff suppressed because it is too large
Load Diff
572
pkg/rpc/pb/service_server_stat_board_chart.pb.go
Normal file
572
pkg/rpc/pb/service_server_stat_board_chart.pb.go
Normal file
@@ -0,0 +1,572 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.25.0
|
||||
// protoc v3.12.3
|
||||
// source: service_server_stat_board_chart.proto
|
||||
|
||||
package pb
|
||||
|
||||
import (
|
||||
context "context"
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
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)
|
||||
)
|
||||
|
||||
// This is a compile-time assertion that a sufficiently up-to-date version
|
||||
// of the legacy proto package is being used.
|
||||
const _ = proto.ProtoPackageIsVersion4
|
||||
|
||||
// 添加图表
|
||||
type EnableServerStatBoardChartRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ServerStatBoardId int64 `protobuf:"varint,1,opt,name=serverStatBoardId,proto3" json:"serverStatBoardId,omitempty"`
|
||||
MetricChartId int64 `protobuf:"varint,2,opt,name=metricChartId,proto3" json:"metricChartId,omitempty"`
|
||||
}
|
||||
|
||||
func (x *EnableServerStatBoardChartRequest) Reset() {
|
||||
*x = EnableServerStatBoardChartRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_server_stat_board_chart_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *EnableServerStatBoardChartRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*EnableServerStatBoardChartRequest) ProtoMessage() {}
|
||||
|
||||
func (x *EnableServerStatBoardChartRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_server_stat_board_chart_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 EnableServerStatBoardChartRequest.ProtoReflect.Descriptor instead.
|
||||
func (*EnableServerStatBoardChartRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_server_stat_board_chart_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *EnableServerStatBoardChartRequest) GetServerStatBoardId() int64 {
|
||||
if x != nil {
|
||||
return x.ServerStatBoardId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *EnableServerStatBoardChartRequest) GetMetricChartId() int64 {
|
||||
if x != nil {
|
||||
return x.MetricChartId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 取消图表
|
||||
type DisableServerStatBoardChartRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ServerStatBoardId int64 `protobuf:"varint,1,opt,name=serverStatBoardId,proto3" json:"serverStatBoardId,omitempty"`
|
||||
MetricChartId int64 `protobuf:"varint,2,opt,name=metricChartId,proto3" json:"metricChartId,omitempty"`
|
||||
}
|
||||
|
||||
func (x *DisableServerStatBoardChartRequest) Reset() {
|
||||
*x = DisableServerStatBoardChartRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_server_stat_board_chart_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *DisableServerStatBoardChartRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DisableServerStatBoardChartRequest) ProtoMessage() {}
|
||||
|
||||
func (x *DisableServerStatBoardChartRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_server_stat_board_chart_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 DisableServerStatBoardChartRequest.ProtoReflect.Descriptor instead.
|
||||
func (*DisableServerStatBoardChartRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_server_stat_board_chart_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *DisableServerStatBoardChartRequest) GetServerStatBoardId() int64 {
|
||||
if x != nil {
|
||||
return x.ServerStatBoardId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DisableServerStatBoardChartRequest) GetMetricChartId() int64 {
|
||||
if x != nil {
|
||||
return x.MetricChartId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// 读取看板中的图表
|
||||
type FindAllEnabledServerStatBoardChartsRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ServerStatBoardId int64 `protobuf:"varint,1,opt,name=serverStatBoardId,proto3" json:"serverStatBoardId,omitempty"`
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledServerStatBoardChartsRequest) Reset() {
|
||||
*x = FindAllEnabledServerStatBoardChartsRequest{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_server_stat_board_chart_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledServerStatBoardChartsRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*FindAllEnabledServerStatBoardChartsRequest) ProtoMessage() {}
|
||||
|
||||
func (x *FindAllEnabledServerStatBoardChartsRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_server_stat_board_chart_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 FindAllEnabledServerStatBoardChartsRequest.ProtoReflect.Descriptor instead.
|
||||
func (*FindAllEnabledServerStatBoardChartsRequest) Descriptor() ([]byte, []int) {
|
||||
return file_service_server_stat_board_chart_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledServerStatBoardChartsRequest) GetServerStatBoardId() int64 {
|
||||
if x != nil {
|
||||
return x.ServerStatBoardId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type FindAllEnabledServerStatBoardChartsResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ServerStatBoardCharts []*ServerStatBoardChart `protobuf:"bytes,1,rep,name=serverStatBoardCharts,proto3" json:"serverStatBoardCharts,omitempty"`
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledServerStatBoardChartsResponse) Reset() {
|
||||
*x = FindAllEnabledServerStatBoardChartsResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_service_server_stat_board_chart_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledServerStatBoardChartsResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*FindAllEnabledServerStatBoardChartsResponse) ProtoMessage() {}
|
||||
|
||||
func (x *FindAllEnabledServerStatBoardChartsResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_service_server_stat_board_chart_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 FindAllEnabledServerStatBoardChartsResponse.ProtoReflect.Descriptor instead.
|
||||
func (*FindAllEnabledServerStatBoardChartsResponse) Descriptor() ([]byte, []int) {
|
||||
return file_service_server_stat_board_chart_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *FindAllEnabledServerStatBoardChartsResponse) GetServerStatBoardCharts() []*ServerStatBoardChart {
|
||||
if x != nil {
|
||||
return x.ServerStatBoardCharts
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var File_service_server_stat_board_chart_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_service_server_stat_board_chart_proto_rawDesc = []byte{
|
||||
0x0a, 0x25, 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, 0x5f, 0x63, 0x68, 0x61, 0x72,
|
||||
0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x19, 0x6d, 0x6f, 0x64,
|
||||
0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 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, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x22, 0x77, 0x0a, 0x21, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76,
|
||||
0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65,
|
||||
0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f,
|
||||
0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43,
|
||||
0x68, 0x61, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x65,
|
||||
0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x22, 0x44,
|
||||
0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74,
|
||||
0x42, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42,
|
||||
0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x73, 0x65,
|
||||
0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12,
|
||||
0x24, 0x0a, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68, 0x61, 0x72, 0x74, 0x49, 0x64,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x68,
|
||||
0x61, 0x72, 0x74, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x2a, 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, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61,
|
||||
0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11,
|
||||
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49,
|
||||
0x64, 0x22, 0x7d, 0x0a, 0x2b, 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, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x4e, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f,
|
||||
0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x18, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42,
|
||||
0x6f, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x15, 0x73, 0x65, 0x72, 0x76, 0x65,
|
||||
0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73,
|
||||
0x32, 0xd2, 0x02, 0x0a, 0x1b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42,
|
||||
0x6f, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||
0x12, 0x53, 0x0a, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||
0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74, 0x12, 0x25,
|
||||
0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||
0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75,
|
||||
0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x43,
|
||||
0x68, 0x61, 0x72, 0x74, 0x12, 0x26, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x42, 0x6f, 0x61, 0x72, 0x64,
|
||||
0x43, 0x68, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70,
|
||||
0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x86, 0x01, 0x0a,
|
||||
0x23, 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, 0x43, 0x68,
|
||||
0x61, 0x72, 0x74, 0x73, 0x12, 0x2e, 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, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 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, 0x43, 0x68, 0x61, 0x72, 0x74, 0x73, 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_chart_proto_rawDescOnce sync.Once
|
||||
file_service_server_stat_board_chart_proto_rawDescData = file_service_server_stat_board_chart_proto_rawDesc
|
||||
)
|
||||
|
||||
func file_service_server_stat_board_chart_proto_rawDescGZIP() []byte {
|
||||
file_service_server_stat_board_chart_proto_rawDescOnce.Do(func() {
|
||||
file_service_server_stat_board_chart_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_server_stat_board_chart_proto_rawDescData)
|
||||
})
|
||||
return file_service_server_stat_board_chart_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_service_server_stat_board_chart_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
||||
var file_service_server_stat_board_chart_proto_goTypes = []interface{}{
|
||||
(*EnableServerStatBoardChartRequest)(nil), // 0: pb.EnableServerStatBoardChartRequest
|
||||
(*DisableServerStatBoardChartRequest)(nil), // 1: pb.DisableServerStatBoardChartRequest
|
||||
(*FindAllEnabledServerStatBoardChartsRequest)(nil), // 2: pb.FindAllEnabledServerStatBoardChartsRequest
|
||||
(*FindAllEnabledServerStatBoardChartsResponse)(nil), // 3: pb.FindAllEnabledServerStatBoardChartsResponse
|
||||
(*ServerStatBoardChart)(nil), // 4: pb.ServerStatBoardChart
|
||||
(*RPCSuccess)(nil), // 5: pb.RPCSuccess
|
||||
}
|
||||
var file_service_server_stat_board_chart_proto_depIdxs = []int32{
|
||||
4, // 0: pb.FindAllEnabledServerStatBoardChartsResponse.serverStatBoardCharts:type_name -> pb.ServerStatBoardChart
|
||||
0, // 1: pb.ServerStatBoardChartService.enableServerStatBoardChart:input_type -> pb.EnableServerStatBoardChartRequest
|
||||
1, // 2: pb.ServerStatBoardChartService.disableServerStatBoardChart:input_type -> pb.DisableServerStatBoardChartRequest
|
||||
2, // 3: pb.ServerStatBoardChartService.findAllEnabledServerStatBoardCharts:input_type -> pb.FindAllEnabledServerStatBoardChartsRequest
|
||||
5, // 4: pb.ServerStatBoardChartService.enableServerStatBoardChart:output_type -> pb.RPCSuccess
|
||||
5, // 5: pb.ServerStatBoardChartService.disableServerStatBoardChart:output_type -> pb.RPCSuccess
|
||||
3, // 6: pb.ServerStatBoardChartService.findAllEnabledServerStatBoardCharts:output_type -> pb.FindAllEnabledServerStatBoardChartsResponse
|
||||
4, // [4:7] is the sub-list for method output_type
|
||||
1, // [1:4] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_service_server_stat_board_chart_proto_init() }
|
||||
func file_service_server_stat_board_chart_proto_init() {
|
||||
if File_service_server_stat_board_chart_proto != nil {
|
||||
return
|
||||
}
|
||||
file_models_rpc_messages_proto_init()
|
||||
file_models_model_server_stat_board_chart_proto_init()
|
||||
if !protoimpl.UnsafeEnabled {
|
||||
file_service_server_stat_board_chart_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*EnableServerStatBoardChartRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_server_stat_board_chart_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*DisableServerStatBoardChartRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_server_stat_board_chart_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindAllEnabledServerStatBoardChartsRequest); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_service_server_stat_board_chart_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*FindAllEnabledServerStatBoardChartsResponse); 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_chart_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 4,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_service_server_stat_board_chart_proto_goTypes,
|
||||
DependencyIndexes: file_service_server_stat_board_chart_proto_depIdxs,
|
||||
MessageInfos: file_service_server_stat_board_chart_proto_msgTypes,
|
||||
}.Build()
|
||||
File_service_server_stat_board_chart_proto = out.File
|
||||
file_service_server_stat_board_chart_proto_rawDesc = nil
|
||||
file_service_server_stat_board_chart_proto_goTypes = nil
|
||||
file_service_server_stat_board_chart_proto_depIdxs = nil
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ context.Context
|
||||
var _ grpc.ClientConnInterface
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
const _ = grpc.SupportPackageIsVersion6
|
||||
|
||||
// ServerStatBoardChartServiceClient is the client API for ServerStatBoardChartService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
||||
type ServerStatBoardChartServiceClient interface {
|
||||
// 添加图表
|
||||
EnableServerStatBoardChart(ctx context.Context, in *EnableServerStatBoardChartRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||
// 取消图表
|
||||
DisableServerStatBoardChart(ctx context.Context, in *DisableServerStatBoardChartRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
|
||||
// 读取看板中的图表
|
||||
FindAllEnabledServerStatBoardCharts(ctx context.Context, in *FindAllEnabledServerStatBoardChartsRequest, opts ...grpc.CallOption) (*FindAllEnabledServerStatBoardChartsResponse, error)
|
||||
}
|
||||
|
||||
type serverStatBoardChartServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewServerStatBoardChartServiceClient(cc grpc.ClientConnInterface) ServerStatBoardChartServiceClient {
|
||||
return &serverStatBoardChartServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *serverStatBoardChartServiceClient) EnableServerStatBoardChart(ctx context.Context, in *EnableServerStatBoardChartRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
|
||||
out := new(RPCSuccess)
|
||||
err := c.cc.Invoke(ctx, "/pb.ServerStatBoardChartService/enableServerStatBoardChart", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *serverStatBoardChartServiceClient) DisableServerStatBoardChart(ctx context.Context, in *DisableServerStatBoardChartRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
|
||||
out := new(RPCSuccess)
|
||||
err := c.cc.Invoke(ctx, "/pb.ServerStatBoardChartService/disableServerStatBoardChart", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *serverStatBoardChartServiceClient) FindAllEnabledServerStatBoardCharts(ctx context.Context, in *FindAllEnabledServerStatBoardChartsRequest, opts ...grpc.CallOption) (*FindAllEnabledServerStatBoardChartsResponse, error) {
|
||||
out := new(FindAllEnabledServerStatBoardChartsResponse)
|
||||
err := c.cc.Invoke(ctx, "/pb.ServerStatBoardChartService/findAllEnabledServerStatBoardCharts", in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// ServerStatBoardChartServiceServer is the server API for ServerStatBoardChartService service.
|
||||
type ServerStatBoardChartServiceServer interface {
|
||||
// 添加图表
|
||||
EnableServerStatBoardChart(context.Context, *EnableServerStatBoardChartRequest) (*RPCSuccess, error)
|
||||
// 取消图表
|
||||
DisableServerStatBoardChart(context.Context, *DisableServerStatBoardChartRequest) (*RPCSuccess, error)
|
||||
// 读取看板中的图表
|
||||
FindAllEnabledServerStatBoardCharts(context.Context, *FindAllEnabledServerStatBoardChartsRequest) (*FindAllEnabledServerStatBoardChartsResponse, error)
|
||||
}
|
||||
|
||||
// UnimplementedServerStatBoardChartServiceServer can be embedded to have forward compatible implementations.
|
||||
type UnimplementedServerStatBoardChartServiceServer struct {
|
||||
}
|
||||
|
||||
func (*UnimplementedServerStatBoardChartServiceServer) EnableServerStatBoardChart(context.Context, *EnableServerStatBoardChartRequest) (*RPCSuccess, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method EnableServerStatBoardChart not implemented")
|
||||
}
|
||||
func (*UnimplementedServerStatBoardChartServiceServer) DisableServerStatBoardChart(context.Context, *DisableServerStatBoardChartRequest) (*RPCSuccess, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DisableServerStatBoardChart not implemented")
|
||||
}
|
||||
func (*UnimplementedServerStatBoardChartServiceServer) FindAllEnabledServerStatBoardCharts(context.Context, *FindAllEnabledServerStatBoardChartsRequest) (*FindAllEnabledServerStatBoardChartsResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledServerStatBoardCharts not implemented")
|
||||
}
|
||||
|
||||
func RegisterServerStatBoardChartServiceServer(s *grpc.Server, srv ServerStatBoardChartServiceServer) {
|
||||
s.RegisterService(&_ServerStatBoardChartService_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _ServerStatBoardChartService_EnableServerStatBoardChart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(EnableServerStatBoardChartRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(ServerStatBoardChartServiceServer).EnableServerStatBoardChart(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.ServerStatBoardChartService/EnableServerStatBoardChart",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(ServerStatBoardChartServiceServer).EnableServerStatBoardChart(ctx, req.(*EnableServerStatBoardChartRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ServerStatBoardChartService_DisableServerStatBoardChart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DisableServerStatBoardChartRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(ServerStatBoardChartServiceServer).DisableServerStatBoardChart(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.ServerStatBoardChartService/DisableServerStatBoardChart",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(ServerStatBoardChartServiceServer).DisableServerStatBoardChart(ctx, req.(*DisableServerStatBoardChartRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _ServerStatBoardChartService_FindAllEnabledServerStatBoardCharts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(FindAllEnabledServerStatBoardChartsRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(ServerStatBoardChartServiceServer).FindAllEnabledServerStatBoardCharts(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: "/pb.ServerStatBoardChartService/FindAllEnabledServerStatBoardCharts",
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(ServerStatBoardChartServiceServer).FindAllEnabledServerStatBoardCharts(ctx, req.(*FindAllEnabledServerStatBoardChartsRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
var _ServerStatBoardChartService_serviceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "pb.ServerStatBoardChartService",
|
||||
HandlerType: (*ServerStatBoardChartServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "enableServerStatBoardChart",
|
||||
Handler: _ServerStatBoardChartService_EnableServerStatBoardChart_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "disableServerStatBoardChart",
|
||||
Handler: _ServerStatBoardChartService_DisableServerStatBoardChart_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "findAllEnabledServerStatBoardCharts",
|
||||
Handler: _ServerStatBoardChartService_FindAllEnabledServerStatBoardCharts_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "service_server_stat_board_chart.proto",
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,4 +10,5 @@ message AdminModuleList {
|
||||
bool isSuper = 2;
|
||||
repeated AdminModule Modules = 3;
|
||||
string fullname = 4;
|
||||
string theme = 5;
|
||||
}
|
||||
12
pkg/rpc/protos/models/model_api_token.proto
Normal file
12
pkg/rpc/protos/models/model_api_token.proto
Normal file
@@ -0,0 +1,12 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
// API令牌
|
||||
message APIToken {
|
||||
int64 id = 1;
|
||||
string nodeId = 2;
|
||||
string secret = 3;
|
||||
string role = 4;
|
||||
}
|
||||
@@ -63,6 +63,10 @@ message HTTPAccessLog {
|
||||
int64 firewallRuleGroupId = 45;
|
||||
int64 firewallRuleSetId = 46;
|
||||
int64 firewallRuleId = 47;
|
||||
|
||||
repeated string firewallActions = 49;
|
||||
repeated string tags = 50;
|
||||
|
||||
}
|
||||
|
||||
message Strings {
|
||||
|
||||
19
pkg/rpc/protos/models/model_metric_chart.proto
Normal file
19
pkg/rpc/protos/models/model_metric_chart.proto
Normal file
@@ -0,0 +1,19 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/model_metric_item.proto";
|
||||
|
||||
// 指标图表
|
||||
message MetricChart {
|
||||
int64 id = 1;
|
||||
string name = 2;
|
||||
string type = 3;
|
||||
int32 widthDiv = 4;
|
||||
bytes paramsJSON = 5;
|
||||
bool isOn = 6;
|
||||
int32 maxItems = 7;
|
||||
|
||||
MetricItem metricItem = 30;
|
||||
}
|
||||
@@ -14,4 +14,5 @@ message MetricItem {
|
||||
int32 period = 7;
|
||||
string periodUnit = 8;
|
||||
string value = 10;
|
||||
bool isPublic = 11;
|
||||
}
|
||||
35
pkg/rpc/protos/models/model_metric_stat.proto
Normal file
35
pkg/rpc/protos/models/model_metric_stat.proto
Normal file
@@ -0,0 +1,35 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/model_node_cluster.proto";
|
||||
import "models/model_node.proto";
|
||||
import "models/model_server.proto";
|
||||
|
||||
// 统计数据
|
||||
message MetricStat {
|
||||
int64 id = 1;
|
||||
string hash = 2;
|
||||
int64 serverId = 3;
|
||||
int64 itemId = 4;
|
||||
repeated string keys = 5;
|
||||
float value = 6;
|
||||
string time = 7;
|
||||
int32 version = 8;
|
||||
|
||||
NodeCluster nodeCluster = 30;
|
||||
Node node = 31;
|
||||
Server server = 32;
|
||||
|
||||
int64 sumCount = 40;
|
||||
float sumTotal = 41;
|
||||
}
|
||||
|
||||
// 需要上传的统计数据
|
||||
message UploadingMetricStat {
|
||||
int64 id = 1;
|
||||
string hash = 2;
|
||||
repeated string keys = 3;
|
||||
float value = 4;
|
||||
}
|
||||
14
pkg/rpc/protos/models/model_ns_record_hourly_stat.proto
Normal file
14
pkg/rpc/protos/models/model_ns_record_hourly_stat.proto
Normal file
@@ -0,0 +1,14 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
message NSRecordHourlyStat {
|
||||
int64 nsClusterId = 1;
|
||||
int64 nsNodeId = 2;
|
||||
int64 nsDomainId = 3;
|
||||
int64 nsRecordId = 4;
|
||||
int64 bytes = 5;
|
||||
int64 countRequests = 6;
|
||||
int64 createdAt = 7;
|
||||
}
|
||||
@@ -12,4 +12,6 @@ message ServerDailyStat {
|
||||
int64 countRequests = 6;
|
||||
int64 countCachedRequests = 7;
|
||||
int64 createdAt = 4;
|
||||
}
|
||||
int64 countAttackRequests = 8;
|
||||
int64 attackBytes = 9;
|
||||
}
|
||||
|
||||
11
pkg/rpc/protos/models/model_server_stat_board.proto
Normal file
11
pkg/rpc/protos/models/model_server_stat_board.proto
Normal file
@@ -0,0 +1,11 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
// 统计看板
|
||||
message ServerStatBoard {
|
||||
int64 id = 1;
|
||||
string name = 2;
|
||||
bool isOn = 3;
|
||||
}
|
||||
13
pkg/rpc/protos/models/model_server_stat_board_chart.proto
Normal file
13
pkg/rpc/protos/models/model_server_stat_board_chart.proto
Normal file
@@ -0,0 +1,13 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/model_metric_chart.proto";
|
||||
|
||||
// 统计看板条目
|
||||
message ServerStatBoardChart {
|
||||
int64 id = 1;
|
||||
|
||||
MetricChart metricChart = 30;
|
||||
}
|
||||
@@ -12,3 +12,8 @@ message RPCSuccess {
|
||||
message RPCCountResponse {
|
||||
int64 count = 1;
|
||||
}
|
||||
|
||||
// 是否存在
|
||||
message RPCExists {
|
||||
bool exists = 1;
|
||||
}
|
||||
@@ -6,6 +6,7 @@ package pb;
|
||||
import "models/model_admin.proto";
|
||||
import "models/model_admin_list.proto";
|
||||
import "models/rpc_messages.proto";
|
||||
import "service_server_stat_board.proto";
|
||||
|
||||
service AdminService {
|
||||
// 登录
|
||||
@@ -55,6 +56,9 @@ service AdminService {
|
||||
|
||||
// 取得管理员Dashboard数据
|
||||
rpc composeAdminDashboard (ComposeAdminDashboardRequest) returns (ComposeAdminDashboardResponse);
|
||||
|
||||
// 修改管理员使用的界面风格
|
||||
rpc updateAdminTheme (UpdateAdminThemeRequest) returns (RPCSuccess);
|
||||
}
|
||||
|
||||
// 登录
|
||||
@@ -209,6 +213,7 @@ message ComposeAdminDashboardResponse {
|
||||
|
||||
repeated DailyTrafficStat dailyTrafficStats = 30;
|
||||
repeated HourlyTrafficStat hourlyTrafficStats = 31;
|
||||
|
||||
UpgradeInfo nodeUpgradeInfo = 32;
|
||||
UpgradeInfo apiNodeUpgradeInfo = 33;
|
||||
UpgradeInfo monitorNodeUpgradeInfo = 34;
|
||||
@@ -216,14 +221,44 @@ message ComposeAdminDashboardResponse {
|
||||
UpgradeInfo authorityNodeUpgradeInfo = 36;
|
||||
UpgradeInfo nsNodeUpgradeInfo = 37;
|
||||
|
||||
repeated NodeStat topNodeStats = 38;
|
||||
repeated DomainStat topDomainStats = 39;
|
||||
|
||||
|
||||
repeated MetricDataChart metricDataCharts = 40;
|
||||
|
||||
message DailyTrafficStat {
|
||||
string day = 1;
|
||||
int64 bytes = 2;
|
||||
int64 cachedBytes = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 countCachedRequests = 5;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message HourlyTrafficStat {
|
||||
string hour = 1;
|
||||
int64 bytes = 2;
|
||||
int64 cachedBytes = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 countCachedRequests = 5;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message NodeStat {
|
||||
int64 nodeId = 1;
|
||||
string nodeName = 2;
|
||||
int64 countRequests = 3;
|
||||
int64 bytes = 4;
|
||||
}
|
||||
|
||||
message DomainStat {
|
||||
int64 serverId = 1;
|
||||
string domain = 2;
|
||||
int64 countRequests = 3;
|
||||
int64 bytes = 4;
|
||||
}
|
||||
|
||||
// 节点升级信息
|
||||
@@ -231,4 +266,12 @@ message ComposeAdminDashboardResponse {
|
||||
int64 countNodes = 1;
|
||||
string newVersion = 2;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 修改管理员使用的界面风格
|
||||
message UpdateAdminThemeRequest {
|
||||
int64 adminId = 1;
|
||||
string theme = 2;
|
||||
}
|
||||
21
pkg/rpc/protos/service_api_token.proto
Normal file
21
pkg/rpc/protos/service_api_token.proto
Normal file
@@ -0,0 +1,21 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/model_api_token.proto";
|
||||
|
||||
// API令牌服务
|
||||
service APITokenService {
|
||||
// 获取API令牌
|
||||
rpc findAllEnabledAPITokens (FindAllEnabledAPITokensRequest) returns (FindAllEnabledAPITokensResponse);
|
||||
}
|
||||
|
||||
// 获取API令牌
|
||||
message FindAllEnabledAPITokensRequest {
|
||||
string role = 1;
|
||||
}
|
||||
|
||||
message FindAllEnabledAPITokensResponse {
|
||||
repeated APIToken apiTokens = 1;
|
||||
}
|
||||
60
pkg/rpc/protos/service_firewall.proto
Normal file
60
pkg/rpc/protos/service_firewall.proto
Normal file
@@ -0,0 +1,60 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/rpc_messages.proto";
|
||||
import "models/model_http_firewall_rule_group.proto";
|
||||
|
||||
// 防火墙全局服务
|
||||
service FirewallService {
|
||||
// 组合看板数据
|
||||
rpc composeFirewallGlobalBoard (ComposeFirewallGlobalBoardRequest) returns (ComposeFirewallGlobalBoardResponse);
|
||||
|
||||
// 发送告警(notify)消息
|
||||
rpc notifyHTTPFirewallEvent (NotifyHTTPFirewallEventRequest) returns (RPCSuccess);
|
||||
}
|
||||
|
||||
// 组合看板数据
|
||||
message ComposeFirewallGlobalBoardRequest {
|
||||
|
||||
}
|
||||
|
||||
message ComposeFirewallGlobalBoardResponse {
|
||||
int64 countDailyLogs = 1;
|
||||
int64 countDailyBlocks = 2;
|
||||
int64 countDailyCaptcha = 3;
|
||||
int64 countWeeklyBlocks = 4;
|
||||
|
||||
repeated HTTPFirewallRuleGroupStat httpFirewallRuleGroups = 30;
|
||||
repeated DailyStat dailyStats = 31;
|
||||
repeated HourlyStat hourlyStats = 32;
|
||||
|
||||
message HTTPFirewallRuleGroupStat {
|
||||
HTTPFirewallRuleGroup httpFirewallRuleGroup = 1;
|
||||
int64 count = 2;
|
||||
}
|
||||
|
||||
message HourlyStat {
|
||||
string hour = 1;
|
||||
int64 countLogs = 2;
|
||||
int64 countCaptcha = 3;
|
||||
int64 countBlocks = 4;
|
||||
}
|
||||
|
||||
message DailyStat {
|
||||
string day = 1;
|
||||
int64 countLogs = 2;
|
||||
int64 countCaptcha = 3;
|
||||
int64 countBlocks = 4;
|
||||
}
|
||||
}
|
||||
|
||||
// 发送告警(notify)消息
|
||||
message NotifyHTTPFirewallEventRequest {
|
||||
int64 serverId = 1;
|
||||
int64 httpFirewallPolicyId = 2;
|
||||
int64 httpFirewallRuleGroupId = 3;
|
||||
int64 httpFirewallRuleSetId = 4;
|
||||
int64 createdAt = 5;
|
||||
}
|
||||
83
pkg/rpc/protos/service_metric_chart.proto
Normal file
83
pkg/rpc/protos/service_metric_chart.proto
Normal file
@@ -0,0 +1,83 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/model_metric_chart.proto";
|
||||
import "models/rpc_messages.proto";
|
||||
|
||||
// 指标图表相关服务
|
||||
service MetricChartService {
|
||||
// 创建图表
|
||||
rpc createMetricChart (CreateMetricChartRequest) returns (CreateMetricChartResponse);
|
||||
|
||||
// 修改图表
|
||||
rpc updateMetricChart (UpdateMetricChartRequest) returns (RPCSuccess);
|
||||
|
||||
// 查找单个图表
|
||||
rpc findEnabledMetricChart (FindEnabledMetricChartRequest) returns (FindEnabledMetricChartResponse);
|
||||
|
||||
// 计算图表数量
|
||||
rpc countEnabledMetricCharts (CountEnabledMetricChartsRequest) returns (RPCCountResponse);
|
||||
|
||||
// 列出单页图表
|
||||
rpc listEnabledMetricCharts (ListEnabledMetricChartsRequest) returns (ListEnabledMetricChartsResponse);
|
||||
|
||||
// 删除图表
|
||||
rpc deleteMetricChart (DeleteMetricChartRequest) returns (RPCSuccess);
|
||||
}
|
||||
|
||||
// 创建图表
|
||||
message CreateMetricChartRequest {
|
||||
int64 metricItemId = 1;
|
||||
string name = 2;
|
||||
string type = 3;
|
||||
int32 widthDiv = 4;
|
||||
bytes paramsJSON = 5;
|
||||
int32 maxItems = 6;
|
||||
}
|
||||
|
||||
message CreateMetricChartResponse {
|
||||
int64 metricChartId = 1;
|
||||
}
|
||||
|
||||
// 修改图表
|
||||
message UpdateMetricChartRequest {
|
||||
int64 metricChartId = 1;
|
||||
string name = 2;
|
||||
string type = 3;
|
||||
int32 widthDiv = 4;
|
||||
bytes paramsJSON = 5;
|
||||
bool isOn = 6;
|
||||
int32 maxItems = 7;
|
||||
}
|
||||
|
||||
// 查找单个图表
|
||||
message FindEnabledMetricChartRequest {
|
||||
int64 metricChartId = 1;
|
||||
}
|
||||
|
||||
message FindEnabledMetricChartResponse {
|
||||
MetricChart metricChart = 1;
|
||||
}
|
||||
|
||||
// 计算图表数量
|
||||
message CountEnabledMetricChartsRequest {
|
||||
int64 metricItemId = 1;
|
||||
}
|
||||
|
||||
// 列出单页图表
|
||||
message ListEnabledMetricChartsRequest {
|
||||
int64 metricItemId = 1;
|
||||
int64 offset = 2;
|
||||
int64 size = 3;
|
||||
}
|
||||
|
||||
message ListEnabledMetricChartsResponse {
|
||||
repeated MetricChart metricCharts = 1;
|
||||
}
|
||||
|
||||
// 删除图表
|
||||
message DeleteMetricChartRequest {
|
||||
int64 metricChartId = 1;
|
||||
}
|
||||
@@ -36,6 +36,7 @@ message CreateMetricItemRequest {
|
||||
int32 period = 5;
|
||||
string periodUnit = 6;
|
||||
string value = 7;
|
||||
bool isPublic = 8;
|
||||
}
|
||||
|
||||
message CreateMetricItemResponse {
|
||||
@@ -51,6 +52,7 @@ message UpdateMetricItemRequest {
|
||||
string periodUnit = 5;
|
||||
string value = 6;
|
||||
bool isOn = 7;
|
||||
bool isPublic = 8;
|
||||
}
|
||||
|
||||
// 查找单个指标信息
|
||||
|
||||
45
pkg/rpc/protos/service_metric_stat.proto
Normal file
45
pkg/rpc/protos/service_metric_stat.proto
Normal file
@@ -0,0 +1,45 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
import "models/model_metric_stat.proto";
|
||||
import "models/rpc_messages.proto";
|
||||
|
||||
// 指标统计数据相关服务
|
||||
service MetricStatService {
|
||||
// 上传统计数据
|
||||
rpc uploadMetricStats (UploadMetricStatsRequest) returns (RPCSuccess);
|
||||
|
||||
// 计算指标数据数量
|
||||
rpc countMetricStats (CountMetricStatsRequest) returns (RPCCountResponse);
|
||||
|
||||
// 读取单页指标数据
|
||||
rpc listMetricStats (ListMetricStatsRequest) returns (ListMetricStatsResponse);
|
||||
}
|
||||
|
||||
// 上传统计数据
|
||||
message UploadMetricStatsRequest {
|
||||
int64 serverId = 1;
|
||||
string time = 2;
|
||||
int64 count = 3;
|
||||
float total = 4;
|
||||
int32 version = 5;
|
||||
int64 itemId = 6;
|
||||
repeated UploadingMetricStat metricStats = 7;
|
||||
}
|
||||
|
||||
// 计算指标数据数量
|
||||
message CountMetricStatsRequest {
|
||||
int64 metricItemId = 1;
|
||||
}
|
||||
|
||||
// 读取单页指标数据
|
||||
message ListMetricStatsRequest {
|
||||
int64 metricItemId = 1;
|
||||
int64 offset = 2;
|
||||
int64 size = 3;
|
||||
}
|
||||
|
||||
message ListMetricStatsResponse {
|
||||
repeated MetricStat metricStats = 1;
|
||||
}
|
||||
@@ -161,6 +161,15 @@ message ListEnabledNodesMatchRequest {
|
||||
string keyword = 6;
|
||||
int64 nodeGroupId = 7;
|
||||
int64 nodeRegionId = 8;
|
||||
|
||||
bool cpuAsc = 20;
|
||||
bool cpuDesc = 21;
|
||||
bool memoryAsc = 22;
|
||||
bool memoryDesc = 23;
|
||||
bool trafficInAsc = 24;
|
||||
bool trafficInDesc = 25;
|
||||
bool trafficOutAsc = 26;
|
||||
bool trafficOutDesc = 27;
|
||||
}
|
||||
|
||||
message ListEnabledNodesMatchResponse {
|
||||
|
||||
@@ -5,6 +5,7 @@ package pb;
|
||||
|
||||
import "models/rpc_messages.proto";
|
||||
import "models/model_metric_item.proto";
|
||||
import "models/model_node_cluster.proto";
|
||||
|
||||
// 集群指标
|
||||
service NodeClusterMetricItemService {
|
||||
@@ -16,6 +17,12 @@ service NodeClusterMetricItemService {
|
||||
|
||||
// 查找集群中所有指标
|
||||
rpc findAllNodeClusterMetricItems (FindAllNodeClusterMetricItemsRequest) returns (FindAllNodeClusterMetricItemsResponse);
|
||||
|
||||
// 检查是否已添加某个指标
|
||||
rpc existsNodeClusterMetricItem (ExistsNodeClusterMetricItemRequest) returns (RPCExists);
|
||||
|
||||
// 查找使用指标的集群
|
||||
rpc findAllNodeClustersWithMetricItemId (FindAllNodeClustersWithMetricItemIdRequest) returns (FindAllNodeClustersWithMetricItemIdResponse);
|
||||
}
|
||||
|
||||
// 启用某个指标
|
||||
@@ -33,8 +40,24 @@ message DisableNodeClusterMetricItemRequest {
|
||||
// 查找集群中所有指标
|
||||
message FindAllNodeClusterMetricItemsRequest {
|
||||
int64 nodeClusterId = 1;
|
||||
string category = 2;
|
||||
}
|
||||
|
||||
message FindAllNodeClusterMetricItemsResponse {
|
||||
repeated MetricItem metricItems = 1;
|
||||
}
|
||||
|
||||
// 检查是否已添加某个指标
|
||||
message ExistsNodeClusterMetricItemRequest {
|
||||
int64 nodeClusterId = 1;
|
||||
int64 metricItemId = 2;
|
||||
}
|
||||
|
||||
// 查找使用指标的集群
|
||||
message FindAllNodeClustersWithMetricItemIdRequest {
|
||||
int64 metricItemId = 1;
|
||||
}
|
||||
|
||||
message FindAllNodeClustersWithMetricItemIdResponse {
|
||||
repeated NodeCluster nodeClusters = 1;
|
||||
}
|
||||
@@ -4,7 +4,7 @@ option go_package = "./pb";
|
||||
package pb;
|
||||
|
||||
import "models/rpc_messages.proto";
|
||||
import "models/model_message_node_value.proto";
|
||||
import "models/model_node_value.proto";
|
||||
|
||||
// 节点指标数据服务
|
||||
service NodeValueService {
|
||||
|
||||
60
pkg/rpc/protos/service_ns.proto
Normal file
60
pkg/rpc/protos/service_ns.proto
Normal file
@@ -0,0 +1,60 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/model_node_value.proto";
|
||||
|
||||
// 域名服务
|
||||
service NSService {
|
||||
// 组合看板数据
|
||||
rpc composeNSBoard (ComposeNSBoardRequest) returns (ComposeNSBoardResponse);
|
||||
}
|
||||
|
||||
// 组合看板数据
|
||||
message ComposeNSBoardRequest {
|
||||
|
||||
}
|
||||
|
||||
message ComposeNSBoardResponse {
|
||||
int64 countNSDomains = 1;
|
||||
int64 countNSRecords = 2;
|
||||
int64 countNSClusters = 3;
|
||||
int64 countNSNodes = 4;
|
||||
int64 countOfflineNSNodes = 5;
|
||||
|
||||
repeated DailyTrafficStat dailyTrafficStats = 30;
|
||||
repeated HourlyTrafficStat hourlyTrafficStats = 31;
|
||||
repeated NodeStat topNSNodeStats = 32;
|
||||
repeated DomainStat topNSDomainStats = 33;
|
||||
repeated NodeValue cpuNodeValues = 34;
|
||||
repeated NodeValue memoryNodeValues = 35;
|
||||
repeated NodeValue loadNodeValues = 36;
|
||||
|
||||
message DailyTrafficStat {
|
||||
string day = 1;
|
||||
int64 bytes = 2;
|
||||
int64 countRequests = 3;
|
||||
}
|
||||
|
||||
message HourlyTrafficStat {
|
||||
string hour = 1;
|
||||
int64 bytes = 2;
|
||||
int64 countRequests = 3;
|
||||
}
|
||||
|
||||
message NodeStat {
|
||||
int64 nsClusterId = 1;
|
||||
int64 nsNodeId = 2;
|
||||
string nsNodeName = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 bytes = 5;
|
||||
}
|
||||
|
||||
message DomainStat {
|
||||
int64 nsDomainId = 1;
|
||||
string nsDomainName = 2;
|
||||
int64 countRequests = 3;
|
||||
int64 bytes = 4;
|
||||
}
|
||||
}
|
||||
@@ -54,6 +54,7 @@ message UpdateNSRecordRequest {
|
||||
string value = 5;
|
||||
int32 ttl = 6;
|
||||
repeated int64 nsRouteIds = 7;
|
||||
bool isOn = 8;
|
||||
}
|
||||
|
||||
// 删除记录
|
||||
|
||||
18
pkg/rpc/protos/service_ns_record_hourly_stat.proto
Normal file
18
pkg/rpc/protos/service_ns_record_hourly_stat.proto
Normal file
@@ -0,0 +1,18 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/model_ns_record_hourly_stat.proto";
|
||||
import "models/rpc_messages.proto";
|
||||
|
||||
// NS记录小时统计
|
||||
service NSRecordHourlyStatService {
|
||||
// 上传统计
|
||||
rpc uploadNSRecordHourlyStats (UploadNSRecordHourlyStatsRequest) returns (RPCSuccess);
|
||||
}
|
||||
|
||||
// 上传统计
|
||||
message UploadNSRecordHourlyStatsRequest {
|
||||
repeated NSRecordHourlyStat stats = 1;
|
||||
}
|
||||
@@ -24,6 +24,19 @@ service ServerDailyStatService {
|
||||
// 上传统计
|
||||
message UploadServerDailyStatsRequest {
|
||||
repeated ServerDailyStat stats = 1;
|
||||
repeated DomainStat domainStats = 2;
|
||||
|
||||
message DomainStat {
|
||||
int64 serverId = 1;
|
||||
string domain = 2;
|
||||
int64 bytes = 3;
|
||||
int64 cachedBytes = 4;
|
||||
int64 countRequests = 5;
|
||||
int64 countCachedRequests = 6;
|
||||
int64 countAttackRequests = 8;
|
||||
int64 attackBytes = 9;
|
||||
int64 createdAt = 7;
|
||||
}
|
||||
}
|
||||
|
||||
// 按小时读取统计数据
|
||||
|
||||
@@ -7,11 +7,11 @@ import "models/model_http_firewall_rule_group.proto";
|
||||
|
||||
// WAF统计
|
||||
service ServerHTTPFirewallDailyStatService {
|
||||
// 组合Dashboard
|
||||
// 组合服务的Dashboard
|
||||
rpc composeServerHTTPFirewallDashboard (ComposeServerHTTPFirewallDashboardRequest) returns (ComposeServerHTTPFirewallDashboardResponse);
|
||||
}
|
||||
|
||||
// 组合Dashboard
|
||||
// 组合服务的Dashboard
|
||||
message ComposeServerHTTPFirewallDashboardRequest {
|
||||
string day = 1;
|
||||
int64 userId = 2;
|
||||
|
||||
212
pkg/rpc/protos/service_server_stat_board.proto
Normal file
212
pkg/rpc/protos/service_server_stat_board.proto
Normal file
@@ -0,0 +1,212 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/model_server_stat_board.proto";
|
||||
import "models/model_node_value.proto";
|
||||
import "models/model_metric_chart.proto";
|
||||
import "models/model_metric_stat.proto";
|
||||
|
||||
// 统计看板
|
||||
service ServerStatBoardService {
|
||||
// 读取所有看板
|
||||
rpc findAllEnabledServerStatBoards (FindAllEnabledServerStatBoardsRequest) returns (FindAllEnabledServerStatBoardsResponse);
|
||||
|
||||
// 组合集群看板数据
|
||||
rpc composeServerStatNodeClusterBoard (ComposeServerStatNodeClusterBoardRequest) returns (ComposeServerStatNodeClusterBoardResponse);
|
||||
|
||||
// 组合节点看板数据
|
||||
rpc composeServerStatNodeBoard (ComposeServerStatNodeBoardRequest) returns (ComposeServerStatNodeBoardResponse);
|
||||
|
||||
// 组合服务看板数据
|
||||
rpc composeServerStatBoard (ComposeServerStatBoardRequest) returns (ComposeServerStatBoardResponse);
|
||||
}
|
||||
|
||||
// 读取所有看板
|
||||
message FindAllEnabledServerStatBoardsRequest {
|
||||
int64 nodeClusterId = 1;
|
||||
}
|
||||
|
||||
message FindAllEnabledServerStatBoardsResponse {
|
||||
repeated ServerStatBoard serverStatBoards = 1;
|
||||
}
|
||||
|
||||
// 组合集群看板数据
|
||||
message ComposeServerStatNodeClusterBoardRequest {
|
||||
int64 nodeClusterId = 1;
|
||||
}
|
||||
|
||||
message ComposeServerStatNodeClusterBoardResponse {
|
||||
int64 countActiveNodes = 1;
|
||||
int64 countInactiveNodes = 2;
|
||||
int64 countServers = 3;
|
||||
int64 countUsers = 4;
|
||||
|
||||
repeated DailyTrafficStat dailyTrafficStats = 30;
|
||||
repeated HourlyTrafficStat hourlyTrafficStats = 31;
|
||||
repeated NodeStat topNodeStats = 32;
|
||||
repeated DomainStat topDomainStats = 33;
|
||||
|
||||
repeated NodeValue cpuNodeValues = 34;
|
||||
repeated NodeValue memoryNodeValues = 35;
|
||||
repeated NodeValue loadNodeValues = 36;
|
||||
|
||||
repeated MetricDataChart metricDataCharts = 37;
|
||||
|
||||
message DailyTrafficStat {
|
||||
string day = 1;
|
||||
int64 bytes = 2;
|
||||
int64 cachedBytes = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 countCachedRequests = 5;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message HourlyTrafficStat {
|
||||
string hour = 1;
|
||||
int64 bytes = 2;
|
||||
int64 cachedBytes = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 countCachedRequests = 5;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message NodeStat {
|
||||
int64 nodeId = 1;
|
||||
string nodeName = 2;
|
||||
int64 countRequests = 3;
|
||||
int64 bytes = 4;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message DomainStat {
|
||||
int64 serverId = 1;
|
||||
string domain = 2;
|
||||
int64 countRequests = 3;
|
||||
int64 bytes = 4;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
}
|
||||
|
||||
// 组合节点看板数据
|
||||
message ComposeServerStatNodeBoardRequest {
|
||||
int64 nodeId = 1;
|
||||
}
|
||||
|
||||
message ComposeServerStatNodeBoardResponse {
|
||||
bool isActive = 1;
|
||||
int64 trafficInBytes = 2;
|
||||
int64 trafficOutBytes = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 countAttackRequests = 5;
|
||||
int64 countConnections = 6;
|
||||
int64 cacheDiskSize = 7;
|
||||
int64 cacheMemorySize = 8;
|
||||
float cpuUsage = 9;
|
||||
float memoryUsage = 10;
|
||||
int64 memoryTotalSize = 11;
|
||||
float load = 12;
|
||||
|
||||
repeated DailyTrafficStat dailyTrafficStats = 31;
|
||||
repeated HourlyTrafficStat hourlyTrafficStats = 32;
|
||||
repeated DomainStat topDomainStats = 33;
|
||||
|
||||
repeated NodeValue cpuNodeValues = 34;
|
||||
repeated NodeValue memoryNodeValues = 35;
|
||||
repeated NodeValue loadNodeValues = 36;
|
||||
repeated NodeValue cacheDirsValues = 38;
|
||||
|
||||
repeated MetricDataChart metricDataCharts = 37;
|
||||
|
||||
message DailyTrafficStat {
|
||||
string day = 1;
|
||||
int64 bytes = 2;
|
||||
int64 cachedBytes = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 countCachedRequests = 5;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message HourlyTrafficStat {
|
||||
string hour = 1;
|
||||
int64 bytes = 2;
|
||||
int64 cachedBytes = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 countCachedRequests = 5;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message DomainStat {
|
||||
int64 serverId = 1;
|
||||
string domain = 2;
|
||||
int64 countRequests = 3;
|
||||
int64 bytes = 4;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
}
|
||||
|
||||
// 组合服务看板数据
|
||||
message ComposeServerStatBoardRequest {
|
||||
int64 serverId = 1;
|
||||
}
|
||||
|
||||
message ComposeServerStatBoardResponse {
|
||||
repeated DailyTrafficStat dailyTrafficStats = 30;
|
||||
repeated HourlyTrafficStat hourlyTrafficStats = 31;
|
||||
repeated NodeStat topNodeStats = 32;
|
||||
repeated DomainStat topDomainStats = 33;
|
||||
|
||||
repeated MetricDataChart metricDataCharts = 34;
|
||||
|
||||
message DailyTrafficStat {
|
||||
string day = 1;
|
||||
int64 bytes = 2;
|
||||
int64 cachedBytes = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 countCachedRequests = 5;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message HourlyTrafficStat {
|
||||
string hour = 1;
|
||||
int64 bytes = 2;
|
||||
int64 cachedBytes = 3;
|
||||
int64 countRequests = 4;
|
||||
int64 countCachedRequests = 5;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message NodeStat {
|
||||
int64 nodeId = 1;
|
||||
string nodeName = 2;
|
||||
int64 countRequests = 3;
|
||||
int64 bytes = 4;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
|
||||
message DomainStat {
|
||||
int64 serverId = 1;
|
||||
string domain = 2;
|
||||
int64 countRequests = 3;
|
||||
int64 bytes = 4;
|
||||
int64 countAttackRequests = 6;
|
||||
int64 attackBytes = 7;
|
||||
}
|
||||
}
|
||||
|
||||
// 矩阵数据
|
||||
message MetricDataChart {
|
||||
MetricChart metricChart = 1;
|
||||
repeated MetricStat metricStats = 2;
|
||||
}
|
||||
40
pkg/rpc/protos/service_server_stat_board_chart.proto
Normal file
40
pkg/rpc/protos/service_server_stat_board_chart.proto
Normal file
@@ -0,0 +1,40 @@
|
||||
syntax = "proto3";
|
||||
option go_package = "./pb";
|
||||
|
||||
package pb;
|
||||
|
||||
import "models/rpc_messages.proto";
|
||||
import "models/model_server_stat_board_chart.proto";
|
||||
|
||||
// 统计看板条目
|
||||
service ServerStatBoardChartService {
|
||||
// 添加图表
|
||||
rpc enableServerStatBoardChart (EnableServerStatBoardChartRequest) returns (RPCSuccess);
|
||||
|
||||
// 取消图表
|
||||
rpc disableServerStatBoardChart (DisableServerStatBoardChartRequest) returns (RPCSuccess);
|
||||
|
||||
// 读取看板中的图表
|
||||
rpc findAllEnabledServerStatBoardCharts (FindAllEnabledServerStatBoardChartsRequest) returns (FindAllEnabledServerStatBoardChartsResponse);
|
||||
}
|
||||
|
||||
// 添加图表
|
||||
message EnableServerStatBoardChartRequest {
|
||||
int64 serverStatBoardId = 1;
|
||||
int64 metricChartId = 2;
|
||||
}
|
||||
|
||||
// 取消图表
|
||||
message DisableServerStatBoardChartRequest {
|
||||
int64 serverStatBoardId = 1;
|
||||
int64 metricChartId = 2;
|
||||
}
|
||||
|
||||
// 读取看板中的图表
|
||||
message FindAllEnabledServerStatBoardChartsRequest {
|
||||
int64 serverStatBoardId = 1;
|
||||
}
|
||||
|
||||
message FindAllEnabledServerStatBoardChartsResponse {
|
||||
repeated ServerStatBoardChart serverStatBoardCharts = 1;
|
||||
}
|
||||
@@ -6,6 +6,7 @@ package pb;
|
||||
import "models/rpc_messages.proto";
|
||||
import "models/model_user.proto";
|
||||
import "models/model_user_feature.proto";
|
||||
import "models/model_node_value.proto";
|
||||
|
||||
// 用户相关服务
|
||||
service UserService {
|
||||
@@ -53,6 +54,9 @@ service UserService {
|
||||
|
||||
// 获取所有的功能定义
|
||||
rpc findAllUserFeatureDefinitions (FindAllUserFeatureDefinitionsRequest) returns (FindAllUserFeatureDefinitionsResponse);
|
||||
|
||||
// 组合全局的看板数据
|
||||
rpc composeUserGlobalBoard (ComposeUserGlobalBoardRequest) returns (ComposeUserGlobalBoardResponse);
|
||||
}
|
||||
|
||||
// 创建用户
|
||||
@@ -202,4 +206,35 @@ message FindAllUserFeatureDefinitionsRequest {
|
||||
|
||||
message FindAllUserFeatureDefinitionsResponse {
|
||||
repeated UserFeature features = 1;
|
||||
}
|
||||
|
||||
// 组合看板数据
|
||||
message ComposeUserGlobalBoardRequest {
|
||||
|
||||
}
|
||||
|
||||
message ComposeUserGlobalBoardResponse {
|
||||
int64 totalUsers = 1;
|
||||
int64 countTodayUsers = 2;
|
||||
int64 countWeeklyUsers = 3;
|
||||
int64 countUserNodes = 4;
|
||||
int64 countOfflineUserNodes = 5;
|
||||
|
||||
repeated DailyStat dailyStats = 30;
|
||||
repeated NodeValue cpuNodeValues = 31;
|
||||
repeated NodeValue memoryNodeValues = 32;
|
||||
repeated NodeValue loadNodeValues = 33;
|
||||
repeated TrafficStat topTrafficStats = 34;
|
||||
|
||||
message DailyStat {
|
||||
string day = 1;
|
||||
int64 count = 2;
|
||||
}
|
||||
|
||||
message TrafficStat {
|
||||
int64 userId = 1;
|
||||
string userName = 2;
|
||||
int64 countRequests = 3;
|
||||
int64 bytes = 4;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
package firewallconfigs
|
||||
|
||||
type HTTPFirewallAllowAction struct {
|
||||
Life int64 `yaml:"life" json:"life"`
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package firewallconfigs
|
||||
|
||||
// url client configure
|
||||
// HTTPFirewallBlockAction url client configure
|
||||
type HTTPFirewallBlockAction struct {
|
||||
StatusCode int `yaml:"statusCode" json:"statusCode"`
|
||||
Body string `yaml:"body" json:"body"` // supports HTML
|
||||
URL string `yaml:"url" json:"url"`
|
||||
Timeout int32 `yaml:"timeout" json:"timeout"`
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
package firewallconfigs
|
||||
|
||||
type HTTPFirewallCaptchaAction struct {
|
||||
Life int32 `yaml:"life" json:"life"`
|
||||
Language string `yaml:"language" json:"language"` // 语言,zh-CN, en-US ... TODO 需要实现,目前是根据浏览器Accept-Language动态获取
|
||||
}
|
||||
|
||||
@@ -2,10 +2,19 @@ package firewallconfigs
|
||||
|
||||
import "reflect"
|
||||
|
||||
// action definition
|
||||
type HTTPFirewallActionCategory = string
|
||||
|
||||
const (
|
||||
HTTPFirewallActionCategoryBlock HTTPFirewallActionCategory = "block"
|
||||
HTTPFirewallActionCategoryAllow HTTPFirewallActionCategory = "allow"
|
||||
HTTPFirewallActionCategoryVerify HTTPFirewallActionCategory = "verify"
|
||||
)
|
||||
|
||||
// HTTPFirewallActionDefinition action definition
|
||||
type HTTPFirewallActionDefinition struct {
|
||||
Name string
|
||||
Code HTTPFirewallActionString
|
||||
Description string
|
||||
Type reflect.Type
|
||||
Name string `json:"name"`
|
||||
Code HTTPFirewallActionString `json:"code"`
|
||||
Description string `json:"description"`
|
||||
Type reflect.Type `json:"type"`
|
||||
Category HTTPFirewallActionCategory `json:"category"`
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
||||
|
||||
package firewallconfigs
|
||||
|
||||
type HTTPFirewallGet302Action struct {
|
||||
Life int32 `yaml:"life" json:"life"`
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
||||
|
||||
package firewallconfigs
|
||||
|
||||
type HTTPFirewallNotifyAction struct {
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
||||
|
||||
package firewallconfigs
|
||||
|
||||
type HTTPFirewallPost307Action struct {
|
||||
Life int32 `yaml:"life" json:"life"`
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
||||
|
||||
package firewallconfigs
|
||||
|
||||
type HTTPFirewallRecordIPAction struct {
|
||||
Type string `yaml:"type" json:"type"`
|
||||
IPListId int64 `yaml:"ipListId" json:"ipListId"`
|
||||
Level string `yaml:"level" json:"level"`
|
||||
Timeout int32 `yaml:"timeout" json:"timeout"`
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
||||
|
||||
package firewallconfigs
|
||||
|
||||
type HTTPFirewallTagAction struct {
|
||||
Tags []string `yaml:"tags" json:"tags"`
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
package firewallconfigs
|
||||
|
||||
type HTTPFirewallActionString = string
|
||||
|
||||
const (
|
||||
HTTPFirewallActionLog = "log" // allow and log
|
||||
HTTPFirewallActionBlock = "block" // block
|
||||
HTTPFirewallActionCaptcha = "captcha" // block and show captcha
|
||||
HTTPFirewallActionAllow = "allow" // allow
|
||||
HTTPFirewallActionGoGroup = "go_group" // go to next rule group
|
||||
HTTPFirewallActionGoSet = "go_set" // go to next rule set
|
||||
)
|
||||
@@ -0,0 +1,17 @@
|
||||
package firewallconfigs
|
||||
|
||||
type HTTPFirewallActionString = string
|
||||
|
||||
const (
|
||||
HTTPFirewallActionLog HTTPFirewallActionString = "log" // allow and log
|
||||
HTTPFirewallActionBlock HTTPFirewallActionString = "block" // block
|
||||
HTTPFirewallActionCaptcha HTTPFirewallActionString = "captcha" // block and show captcha
|
||||
HTTPFirewallActionNotify HTTPFirewallActionString = "notify" // 告警
|
||||
HTTPFirewallActionGet302 HTTPFirewallActionString = "get_302" // 针对GET的302重定向认证
|
||||
HTTPFirewallActionPost307 HTTPFirewallActionString = "post_307" // 针对POST的307重定向认证
|
||||
HTTPFirewallActionRecordIP HTTPFirewallActionString = "record_ip" // 记录IP
|
||||
HTTPFirewallActionTag HTTPFirewallActionString = "tag" // 标签
|
||||
HTTPFirewallActionAllow HTTPFirewallActionString = "allow" // allow
|
||||
HTTPFirewallActionGoGroup HTTPFirewallActionString = "go_group" // go to next rule group
|
||||
HTTPFirewallActionGoSet HTTPFirewallActionString = "go_set" // go to next rule set
|
||||
)
|
||||
@@ -6,38 +6,78 @@ import (
|
||||
|
||||
var AllActions = []*HTTPFirewallActionDefinition{
|
||||
{
|
||||
Name: "阻止",
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Name: "阻止",
|
||||
Code: HTTPFirewallActionBlock,
|
||||
Description: "阻止请求并中断当前连接。",
|
||||
Category: HTTPFirewallActionCategoryBlock,
|
||||
},
|
||||
{
|
||||
Name: "允许通过",
|
||||
Code: HTTPFirewallActionAllow,
|
||||
Name: "允许通过",
|
||||
Code: HTTPFirewallActionAllow,
|
||||
Description: "允许正常通过,不记录到日志。",
|
||||
Category: HTTPFirewallActionCategoryAllow,
|
||||
},
|
||||
{
|
||||
Name: "允许并记录日志",
|
||||
Code: HTTPFirewallActionLog,
|
||||
Name: "允许并记录日志",
|
||||
Code: HTTPFirewallActionLog,
|
||||
Description: "允许正常通过并记录到日志。",
|
||||
Category: HTTPFirewallActionCategoryAllow,
|
||||
},
|
||||
{
|
||||
Name: "Captcha验证码",
|
||||
Code: HTTPFirewallActionCaptcha,
|
||||
Name: "Captcha验证码",
|
||||
Code: HTTPFirewallActionCaptcha,
|
||||
Description: "在浏览器使用验证码来验证客户端。",
|
||||
Category: HTTPFirewallActionCategoryVerify,
|
||||
},
|
||||
{
|
||||
Name: "跳到下一个规则分组",
|
||||
Code: HTTPFirewallActionGoGroup,
|
||||
Type: reflect.TypeOf(new(HTTPFirewallGoGroupAction)).Elem(),
|
||||
Name: "告警",
|
||||
Code: HTTPFirewallActionNotify,
|
||||
Description: "向集群的消息接收人发送消息通知(企业版)。",
|
||||
Category: HTTPFirewallActionCategoryVerify,
|
||||
},
|
||||
{
|
||||
Name: "跳到下一个规则集",
|
||||
Code: HTTPFirewallActionGoSet,
|
||||
Type: reflect.TypeOf(new(HTTPFirewallGoSetAction)).Elem(),
|
||||
Name: "GET 302",
|
||||
Code: HTTPFirewallActionGet302,
|
||||
Description: "通过302重定向GET请求验证客户端真实性。",
|
||||
Category: HTTPFirewallActionCategoryVerify,
|
||||
},
|
||||
{
|
||||
Name: "POST 307",
|
||||
Code: HTTPFirewallActionPost307,
|
||||
Description: "通过307重定向POST请求验证客户端真实性。",
|
||||
Category: HTTPFirewallActionCategoryVerify,
|
||||
},
|
||||
{
|
||||
Name: "记录IP",
|
||||
Code: HTTPFirewallActionRecordIP,
|
||||
Description: "将此IP记录到某个IP名单中。",
|
||||
Category: HTTPFirewallActionCategoryBlock,
|
||||
},
|
||||
{
|
||||
Name: "标签",
|
||||
Code: HTTPFirewallActionTag,
|
||||
Description: "为匹配的请求打上标签。",
|
||||
Category: HTTPFirewallActionCategoryAllow,
|
||||
},
|
||||
{
|
||||
Name: "跳到下一个规则分组",
|
||||
Code: HTTPFirewallActionGoGroup,
|
||||
Type: reflect.TypeOf(new(HTTPFirewallGoGroupAction)).Elem(),
|
||||
Category: HTTPFirewallActionCategoryVerify,
|
||||
},
|
||||
{
|
||||
Name: "跳到下一个规则集",
|
||||
Code: HTTPFirewallActionGoSet,
|
||||
Type: reflect.TypeOf(new(HTTPFirewallGoSetAction)).Elem(),
|
||||
Category: HTTPFirewallActionCategoryVerify,
|
||||
},
|
||||
}
|
||||
|
||||
func FindActionName(action HTTPFirewallActionString) string {
|
||||
func FindActionDefinition(actionCode HTTPFirewallActionString) *HTTPFirewallActionDefinition {
|
||||
for _, def := range AllActions {
|
||||
if def.Code == action {
|
||||
return def.Name
|
||||
if def.Code == actionCode {
|
||||
return def
|
||||
}
|
||||
}
|
||||
return ""
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"regexp"
|
||||
)
|
||||
|
||||
// all check points list
|
||||
// AllCheckpoints all check points list
|
||||
var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "通用请求Header长度限制",
|
||||
@@ -24,7 +24,7 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
{
|
||||
Name: "客户端地址(IP)",
|
||||
Prefix: "remoteAddr",
|
||||
Description: "试图通过分析X-Forwarded-For等Header获取的客户端地址,比如192.168.1.100",
|
||||
Description: "试图通过分析X-Forwarded-For等Header获取的客户端地址,比如192.168.1.100,存在伪造的可能",
|
||||
IsRequest: true,
|
||||
},
|
||||
{
|
||||
@@ -186,8 +186,16 @@ var AllCheckpoints = []*HTTPFirewallCheckpointDefinition{
|
||||
},
|
||||
{
|
||||
Name: "CC统计",
|
||||
Prefix: "cc2",
|
||||
Description: "对统计对象进行统计",
|
||||
HasParams: false,
|
||||
IsRequest: true,
|
||||
IsComposed: true,
|
||||
},
|
||||
{
|
||||
Name: "CC统计(旧)",
|
||||
Prefix: "cc",
|
||||
Description: "统计某段时间段内的请求信息",
|
||||
Description: "统计某段时间段内的请求信息(请使用新的CC统计代替)",
|
||||
HasParams: true,
|
||||
Params: []*KeyValue{
|
||||
NewKeyValue("请求数", "requests"),
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package firewallconfigs
|
||||
|
||||
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ipconfigs"
|
||||
import (
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ipconfigs"
|
||||
)
|
||||
|
||||
// HTTPFirewallInboundConfig HTTP防火墙入口配置
|
||||
type HTTPFirewallInboundConfig struct {
|
||||
@@ -52,7 +54,7 @@ func (this *HTTPFirewallInboundConfig) Init() error {
|
||||
if this.DenyListRef != nil {
|
||||
this.allDenyListRefs = append(this.allDenyListRefs, this.DenyListRef)
|
||||
}
|
||||
if len(this.PublicAllowListRefs) > 0 {
|
||||
if len(this.PublicDenyListRefs) > 0 {
|
||||
this.allDenyListRefs = append(this.allDenyListRefs, this.PublicDenyListRefs...)
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package firewallconfigs
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
// 防火墙策略
|
||||
// HTTPFirewallPolicy 防火墙策略
|
||||
type HTTPFirewallPolicy struct {
|
||||
Id int64 `yaml:"id" json:"id"`
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
@@ -11,9 +11,10 @@ type HTTPFirewallPolicy struct {
|
||||
Inbound *HTTPFirewallInboundConfig `yaml:"inbound" json:"inbound"`
|
||||
Outbound *HTTPFirewallOutboundConfig `yaml:"outbound" json:"outbound"`
|
||||
BlockOptions *HTTPFirewallBlockAction `yaml:"blockOptions" json:"blockOptions"`
|
||||
|
||||
}
|
||||
|
||||
// 初始化
|
||||
// Init 初始化
|
||||
func (this *HTTPFirewallPolicy) Init() error {
|
||||
if this.Inbound != nil {
|
||||
err := this.Inbound.Init()
|
||||
@@ -31,7 +32,7 @@ func (this *HTTPFirewallPolicy) Init() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 获取所有分组
|
||||
// AllRuleGroups 获取所有分组
|
||||
func (this *HTTPFirewallPolicy) AllRuleGroups() []*HTTPFirewallRuleGroup {
|
||||
result := []*HTTPFirewallRuleGroup{}
|
||||
if this.Inbound != nil {
|
||||
@@ -43,7 +44,7 @@ func (this *HTTPFirewallPolicy) AllRuleGroups() []*HTTPFirewallRuleGroup {
|
||||
return result
|
||||
}
|
||||
|
||||
// 根据代号查找分组
|
||||
// FindRuleGroupWithCode 根据代号查找分组
|
||||
func (this *HTTPFirewallPolicy) FindRuleGroupWithCode(code string) *HTTPFirewallRuleGroup {
|
||||
for _, g := range this.AllRuleGroups() {
|
||||
if g.Code == code {
|
||||
@@ -53,7 +54,7 @@ func (this *HTTPFirewallPolicy) FindRuleGroupWithCode(code string) *HTTPFirewall
|
||||
return nil
|
||||
}
|
||||
|
||||
// 根据ID查找分组
|
||||
// FindRuleGroup 根据ID查找分组
|
||||
func (this *HTTPFirewallPolicy) FindRuleGroup(groupId int64) *HTTPFirewallRuleGroup {
|
||||
for _, g := range this.AllRuleGroups() {
|
||||
if g.Id == groupId {
|
||||
@@ -63,7 +64,7 @@ func (this *HTTPFirewallPolicy) FindRuleGroup(groupId int64) *HTTPFirewallRuleGr
|
||||
return nil
|
||||
}
|
||||
|
||||
// 删除某个分组
|
||||
// RemoveRuleGroup 删除某个分组
|
||||
func (this *HTTPFirewallPolicy) RemoveRuleGroup(groupId int64) {
|
||||
if this.Inbound != nil {
|
||||
this.Inbound.RemoveRuleGroup(groupId)
|
||||
@@ -73,7 +74,7 @@ func (this *HTTPFirewallPolicy) RemoveRuleGroup(groupId int64) {
|
||||
}
|
||||
}
|
||||
|
||||
// Inbound JSON
|
||||
// InboundJSON Inbound JSON
|
||||
func (this *HTTPFirewallPolicy) InboundJSON() ([]byte, error) {
|
||||
if this.Inbound == nil {
|
||||
return []byte("null"), nil
|
||||
@@ -86,7 +87,7 @@ func (this *HTTPFirewallPolicy) InboundJSON() ([]byte, error) {
|
||||
return json.Marshal(this.Inbound)
|
||||
}
|
||||
|
||||
// Outbound JSON
|
||||
// OutboundJSON Outbound JSON
|
||||
func (this *HTTPFirewallPolicy) OutboundJSON() ([]byte, error) {
|
||||
if this.Inbound == nil {
|
||||
return []byte("null"), nil
|
||||
|
||||
@@ -2,21 +2,30 @@ package firewallconfigs
|
||||
|
||||
import "github.com/iwind/TeaGo/maps"
|
||||
|
||||
// 规则集定义
|
||||
type HTTPFirewallRuleSet struct {
|
||||
Id int64 `yaml:"id" json:"id"`
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
Name string `yaml:"name" json:"name"`
|
||||
Code string `yaml:"code" json:"code"`
|
||||
Description string `yaml:"description" json:"description"`
|
||||
Connector string `yaml:"connector" json:"connector"`
|
||||
RuleRefs []*HTTPFirewallRuleRef `yaml:"ruleRefs" json:"ruleRefs"`
|
||||
Rules []*HTTPFirewallRule `yaml:"rules" json:"rules"`
|
||||
Action string `yaml:"action" json:"action"`
|
||||
ActionOptions maps.Map `yaml:"actionOptions" json:"actionOptions"`
|
||||
// HTTPFirewallActionConfig 单个动作配置
|
||||
type HTTPFirewallActionConfig struct {
|
||||
Code HTTPFirewallActionString `yaml:"code" json:"code"`
|
||||
Options maps.Map `yaml:"options" json:"options"`
|
||||
}
|
||||
|
||||
// 初始化
|
||||
// HTTPFirewallRuleSet 规则集定义
|
||||
type HTTPFirewallRuleSet struct {
|
||||
Id int64 `yaml:"id" json:"id"`
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
Name string `yaml:"name" json:"name"`
|
||||
Code string `yaml:"code" json:"code"`
|
||||
Description string `yaml:"description" json:"description"`
|
||||
Connector string `yaml:"connector" json:"connector"`
|
||||
RuleRefs []*HTTPFirewallRuleRef `yaml:"ruleRefs" json:"ruleRefs"`
|
||||
Rules []*HTTPFirewallRule `yaml:"rules" json:"rules"`
|
||||
|
||||
Actions []*HTTPFirewallActionConfig `yaml:"actions" json:"actions"`
|
||||
|
||||
//Action string `yaml:"action" json:"action"` // deprecated, v0.2.5
|
||||
//ActionOptions maps.Map `yaml:"actionOptions" json:"actionOptions"` // deprecated, v0.2.5
|
||||
}
|
||||
|
||||
// Init 初始化
|
||||
func (this *HTTPFirewallRuleSet) Init() error {
|
||||
for _, rule := range this.Rules {
|
||||
err := rule.Init()
|
||||
@@ -24,10 +33,11 @@ func (this *HTTPFirewallRuleSet) Init() error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// 添加规则
|
||||
// AddRule 添加规则
|
||||
func (this *HTTPFirewallRuleSet) AddRule(rule *HTTPFirewallRule) {
|
||||
this.Rules = append(this.Rules, rule)
|
||||
}
|
||||
|
||||
@@ -27,7 +27,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "Javascript事件"
|
||||
set.Code = "1001"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestURI}",
|
||||
@@ -44,7 +48,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "Javascript函数"
|
||||
set.Code = "1002"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestURI}",
|
||||
@@ -61,7 +69,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "HTML标签"
|
||||
set.Code = "1003"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestURI}",
|
||||
@@ -89,7 +101,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "上传文件扩展名"
|
||||
set.Code = "2001"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestUpload.ext}",
|
||||
@@ -117,7 +133,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "Web Shell"
|
||||
set.Code = "3001"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestAll}",
|
||||
@@ -144,7 +164,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "命令注入"
|
||||
set.Code = "4001"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestURI}",
|
||||
@@ -179,7 +203,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "路径穿越"
|
||||
set.Code = "5001"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestURI}",
|
||||
@@ -207,7 +235,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "特殊目录"
|
||||
set.Code = "6001"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${requestPath}",
|
||||
@@ -235,7 +267,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "Union SQL Injection"
|
||||
set.Code = "7001"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
@@ -254,7 +290,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "SQL注释"
|
||||
set.Code = "7002"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
@@ -273,7 +313,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "SQL条件"
|
||||
set.Code = "7003"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
@@ -313,7 +357,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "SQL函数"
|
||||
set.Code = "7004"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
@@ -332,7 +380,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "SQL附加语句"
|
||||
set.Code = "7005"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
@@ -362,7 +414,11 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Name = "常见网络爬虫"
|
||||
set.Code = "20001"
|
||||
set.Connector = HTTPFirewallRuleConnectorOr
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
@@ -378,13 +434,13 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
policy.Inbound.Groups = append(policy.Inbound.Groups, group)
|
||||
}
|
||||
|
||||
// cc
|
||||
// cc2
|
||||
{
|
||||
group := &HTTPFirewallRuleGroup{}
|
||||
group.IsOn = true
|
||||
group.Name = "CC攻击"
|
||||
group.Description = "Challenge Collapsar,防止短时间大量请求涌入,请谨慎开启和设置"
|
||||
group.Code = "cc"
|
||||
group.Code = "cc2"
|
||||
|
||||
{
|
||||
set := &HTTPFirewallRuleSet{}
|
||||
@@ -393,14 +449,20 @@ func HTTPFirewallTemplate() *HTTPFirewallPolicy {
|
||||
set.Description = "限制单IP在一定时间内的请求数"
|
||||
set.Code = "8001"
|
||||
set.Connector = HTTPFirewallRuleConnectorAnd
|
||||
set.Action = HTTPFirewallActionBlock
|
||||
set.Actions = []*HTTPFirewallActionConfig{
|
||||
{
|
||||
Code: HTTPFirewallActionBlock,
|
||||
},
|
||||
}
|
||||
set.AddRule(&HTTPFirewallRule{
|
||||
IsOn: true,
|
||||
Param: "${cc.requests}",
|
||||
Param: "${cc2}",
|
||||
Operator: HTTPFirewallRuleOperatorGt,
|
||||
Value: "1000",
|
||||
CheckpointOptions: map[string]interface{}{
|
||||
"period": "60",
|
||||
"keys": []string{"${remoteAddr}", "${requestPath}"},
|
||||
"period": "60",
|
||||
"threshold": 1000,
|
||||
},
|
||||
IsCaseInsensitive: false,
|
||||
})
|
||||
|
||||
59
pkg/serverconfigs/metric_chart.go
Normal file
59
pkg/serverconfigs/metric_chart.go
Normal file
@@ -0,0 +1,59 @@
|
||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
||||
|
||||
package serverconfigs
|
||||
|
||||
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
|
||||
|
||||
type MetricChartType = string
|
||||
|
||||
const (
|
||||
MetricChartTypePie MetricChartType = "pie"
|
||||
MetricChartTypeBar MetricChartType = "bar"
|
||||
MetricChartTypeTimeBar MetricChartType = "timeBar"
|
||||
MetricChartTypeTimeLine MetricChartType = "timeLine"
|
||||
MetricChartTypeTable MetricChartType = "table"
|
||||
)
|
||||
|
||||
func FindAllMetricChartTypes() []*shared.Definition {
|
||||
return []*shared.Definition{
|
||||
{
|
||||
Name: "柱图",
|
||||
Code: MetricChartTypeBar,
|
||||
Description: "通过柱图展示各个对象的排行。",
|
||||
Icon: "chart bar",
|
||||
},
|
||||
{
|
||||
Name: "饼图",
|
||||
Code: MetricChartTypePie,
|
||||
Description: "通过饼图展示各个对象的占比。",
|
||||
Icon: "chart pie",
|
||||
},
|
||||
{
|
||||
Name: "时间柱图",
|
||||
Code: MetricChartTypeTimeBar,
|
||||
Description: "通过柱图展示各个对象在不同时间段的变化。",
|
||||
Icon: "chart bar",
|
||||
},
|
||||
{
|
||||
Name: "时间线图",
|
||||
Code: MetricChartTypeTimeLine,
|
||||
Description: "通过线图展示各个对象在不同时间段的变化。",
|
||||
Icon: "chart line area",
|
||||
},
|
||||
{
|
||||
Name: "表格",
|
||||
Code: MetricChartTypeTable,
|
||||
Description: "以表格的形式展示数据。",
|
||||
Icon: "table",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func FindMetricChartTypeName(chartType MetricChartType) string {
|
||||
for _, def := range FindAllMetricChartTypes() {
|
||||
if def.Code == chartType {
|
||||
return def.Name
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
@@ -3,29 +3,9 @@
|
||||
package serverconfigs
|
||||
|
||||
import (
|
||||
"github.com/cespare/xxhash/v2"
|
||||
"github.com/iwind/TeaGo/types"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
// MetricItemCategory 指标分类
|
||||
type MetricItemCategory = string
|
||||
|
||||
const (
|
||||
MetricItemCategoryHTTP MetricItemCategory = "http"
|
||||
MetricItemCategoryTCP MetricItemCategory = "tcp"
|
||||
MetricItemCategoryUDP MetricItemCategory = "udp"
|
||||
)
|
||||
|
||||
// MetricItemPeriodUnit 指标周期单位
|
||||
type MetricItemPeriodUnit = string
|
||||
|
||||
const (
|
||||
MetricItemPeriodUnitMinute MetricItemPeriodUnit = "minute"
|
||||
MetricItemPeriodUnitHour MetricItemPeriodUnit = "hour"
|
||||
MetricItemPeriodUnitDay MetricItemPeriodUnit = "day"
|
||||
MetricItemPeriodUnitWeek MetricItemPeriodUnit = "week"
|
||||
MetricItemPeriodUnitMonth MetricItemPeriodUnit = "month"
|
||||
"github.com/iwind/TeaGo/Tea"
|
||||
timeutil "github.com/iwind/TeaGo/utils/time"
|
||||
"time"
|
||||
)
|
||||
|
||||
// MetricItemConfig 指标配置
|
||||
@@ -33,32 +13,168 @@ type MetricItemConfig struct {
|
||||
Id int64 `yaml:"id" json:"id"`
|
||||
IsOn bool `yaml:"isOn" json:"isOn"`
|
||||
Category MetricItemCategory `yaml:"category" json:"category"`
|
||||
Period int `yaml:"period" json:"period"`
|
||||
Period int `yaml:"period" json:"period"` // 单个周期
|
||||
PeriodUnit MetricItemPeriodUnit `yaml:"periodUnit" json:"periodUnit"`
|
||||
Keys []string `yaml:"keys" json:"keys"`
|
||||
Value string `yaml:"value" json:"value"`
|
||||
Version int32 `yaml:"version" json:"version"`
|
||||
|
||||
sumType string // 统计类型
|
||||
sumType string // 统计类型
|
||||
baseTime time.Time // 基准时间
|
||||
hasHTTPConnectionValue bool // 是否有统计HTTP连接数的数值
|
||||
}
|
||||
|
||||
// Init 初始化
|
||||
func (this *MetricItemConfig) Init() error {
|
||||
// 所有时间以 2020-01-01日 为基准
|
||||
this.baseTime = time.Date(2020, 1, 1, 0, 0, 0, 0, time.Local)
|
||||
|
||||
if this.Period <= 0 {
|
||||
this.Period = 1
|
||||
}
|
||||
|
||||
if len(this.PeriodUnit) == 0 {
|
||||
this.PeriodUnit = MetricItemPeriodUnitDay
|
||||
}
|
||||
|
||||
this.hasHTTPConnectionValue = this.Category == MetricItemCategoryHTTP && this.Value == "${countConnection}"
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ParseRequest 处理请求
|
||||
func (this *MetricItemConfig) ParseRequest(format func(string) string) (key string, hash string, value float64) {
|
||||
for _, k := range this.Keys {
|
||||
key += "@" + format(k)
|
||||
}
|
||||
hash = strconv.FormatUint(xxhash.Sum64String(key), 10)
|
||||
// CurrentTime 根据周期计算时间
|
||||
func (this *MetricItemConfig) CurrentTime() string {
|
||||
var t string
|
||||
|
||||
// TODO value将来支持复杂运算,比如 ${request.traffic.bytes} * 8
|
||||
if len(this.Value) == 0 {
|
||||
value = 1
|
||||
} else {
|
||||
value = types.Float64(format(this.Value))
|
||||
switch this.PeriodUnit {
|
||||
case MetricItemPeriodUnitMonth:
|
||||
if this.Period > 1 {
|
||||
var now = time.Now()
|
||||
var months = (now.Year()-this.baseTime.Year())*12 + int(now.Month())
|
||||
var delta = months % this.Period
|
||||
if delta == 0 {
|
||||
t = timeutil.Format("Ym")
|
||||
} else {
|
||||
t = timeutil.Format("Ym", now.AddDate(0, -delta, 0))
|
||||
}
|
||||
} else {
|
||||
t = timeutil.Format("Ym")
|
||||
}
|
||||
case MetricItemPeriodUnitWeek:
|
||||
if this.Period > 1 {
|
||||
var now = time.Now()
|
||||
var weeks = int((now.Unix() - this.baseTime.Unix()) / (86400 * 7))
|
||||
var delta = weeks % this.Period
|
||||
if delta == 0 {
|
||||
t = timeutil.Format("YW")
|
||||
} else {
|
||||
t = timeutil.FormatTime("YW", now.Unix()-int64(delta*7*86400))
|
||||
}
|
||||
} else {
|
||||
t = timeutil.Format("YW")
|
||||
}
|
||||
case MetricItemPeriodUnitDay:
|
||||
if this.Period > 1 {
|
||||
var now = time.Now()
|
||||
var days = int((now.Unix() - this.baseTime.Unix()) / 86400)
|
||||
var delta = days % this.Period
|
||||
if delta == 0 {
|
||||
t = timeutil.Format("Ymd")
|
||||
} else {
|
||||
t = timeutil.FormatTime("Ymd", now.Unix()-int64(delta*86400))
|
||||
}
|
||||
} else {
|
||||
t = timeutil.Format("Ymd")
|
||||
}
|
||||
case MetricItemPeriodUnitHour:
|
||||
if this.Period > 1 {
|
||||
var now = time.Now()
|
||||
var hours = int((now.Unix() - this.baseTime.Unix()) / 3600)
|
||||
var delta = hours % this.Period
|
||||
if delta == 0 {
|
||||
t = timeutil.Format("YmdH")
|
||||
} else {
|
||||
t = timeutil.FormatTime("YmdH", now.Unix()-int64(delta*3600))
|
||||
}
|
||||
} else {
|
||||
t = timeutil.Format("YmdH")
|
||||
}
|
||||
case MetricItemPeriodUnitMinute:
|
||||
if this.Period > 1 {
|
||||
var now = time.Now()
|
||||
var minutes = int((now.Unix() - this.baseTime.Unix()) / 60)
|
||||
var delta = minutes % this.Period
|
||||
if delta == 0 {
|
||||
t = timeutil.Format("YmdHi")
|
||||
} else {
|
||||
t = timeutil.FormatTime("YmdHi", now.Unix()-int64(delta*60))
|
||||
}
|
||||
} else {
|
||||
t = timeutil.Format("YmdHi")
|
||||
}
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
|
||||
return
|
||||
return t
|
||||
}
|
||||
|
||||
// ServerExpiresTime 根据周期计算服务器端数据过期时间
|
||||
func (this *MetricItemConfig) ServerExpiresTime() string {
|
||||
switch this.PeriodUnit {
|
||||
case MetricItemPeriodUnitMonth:
|
||||
return timeutil.Format("Ym", time.Now().AddDate(0, -(this.Period*4), 0))
|
||||
case MetricItemPeriodUnitWeek:
|
||||
return timeutil.FormatTime("YW", time.Now().Unix()-86400*7*int64(this.Period*5))
|
||||
case MetricItemPeriodUnitDay:
|
||||
return timeutil.FormatTime("Ymd", time.Now().Unix()-86400*int64(this.Period*32))
|
||||
case MetricItemPeriodUnitHour:
|
||||
return timeutil.FormatTime("YmdH", time.Now().Unix()-3600*int64(this.Period*25))
|
||||
case MetricItemPeriodUnitMinute:
|
||||
return timeutil.FormatTime("YmdHi", time.Now().Unix()-60*int64(this.Period*60))
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
// LocalExpiresTime 根据周期计算本地端过期时间
|
||||
func (this *MetricItemConfig) LocalExpiresTime() string {
|
||||
switch this.PeriodUnit {
|
||||
case MetricItemPeriodUnitMonth:
|
||||
return timeutil.Format("Ym", time.Now().AddDate(0, -(this.Period+1), 0))
|
||||
case MetricItemPeriodUnitWeek:
|
||||
return timeutil.FormatTime("YW", time.Now().Unix()-86400*7*int64(this.Period+1))
|
||||
case MetricItemPeriodUnitDay:
|
||||
return timeutil.FormatTime("Ymd", time.Now().Unix()-86400*int64(this.Period+1))
|
||||
case MetricItemPeriodUnitHour:
|
||||
return timeutil.FormatTime("YmdH", time.Now().Unix()-3600*int64(this.Period+1))
|
||||
case MetricItemPeriodUnitMinute:
|
||||
return timeutil.FormatTime("YmdHi", time.Now().Unix()-60*int64(this.Period+60))
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
// UploadDuration 上传数据的周期
|
||||
func (this *MetricItemConfig) UploadDuration() time.Duration {
|
||||
if Tea.IsTesting() {
|
||||
return 5 * time.Second
|
||||
}
|
||||
switch this.PeriodUnit {
|
||||
case MetricItemPeriodUnitMonth:
|
||||
return 10 * time.Minute
|
||||
case MetricItemPeriodUnitWeek:
|
||||
return 10 * time.Minute
|
||||
case MetricItemPeriodUnitDay:
|
||||
return 10 * time.Minute
|
||||
case MetricItemPeriodUnitHour:
|
||||
return 5 * time.Minute
|
||||
case MetricItemPeriodUnitMinute:
|
||||
return time.Duration(this.Period) * time.Minute
|
||||
default:
|
||||
return 10 * time.Minute
|
||||
}
|
||||
}
|
||||
|
||||
func (this *MetricItemConfig) HasHTTPConnectionValue() bool {
|
||||
return this.hasHTTPConnectionValue
|
||||
}
|
||||
|
||||
@@ -2,38 +2,59 @@
|
||||
|
||||
package serverconfigs
|
||||
|
||||
import (
|
||||
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
|
||||
"testing"
|
||||
)
|
||||
import "testing"
|
||||
|
||||
func TestMetricItemConfig_ProcessRequest(t *testing.T) {
|
||||
var metric = &MetricItemConfig{
|
||||
Keys: []string{"${remoteAddr}", "${status}", "${requestPath}"},
|
||||
Value: "${trafficIn}",
|
||||
func TestMetricItemConfig_CurrentTime_Month(t *testing.T) {
|
||||
for _, period := range []int{1, 2, 3, 4, 5, 100} {
|
||||
var item = &MetricItemConfig{
|
||||
Period: period,
|
||||
PeriodUnit: MetricItemPeriodUnitMonth,
|
||||
}
|
||||
_ = item.Init()
|
||||
t.Logf(item.CurrentTime())
|
||||
}
|
||||
key, hash, value := metric.ParseRequest(func(s string) string {
|
||||
return configutils.ParseVariables(s, func(varName string) (value string) {
|
||||
switch varName {
|
||||
case "trafficIn":
|
||||
return "1000"
|
||||
}
|
||||
return "[" + varName + "]"
|
||||
})
|
||||
})
|
||||
t.Log("key:", key, "hash:", hash)
|
||||
t.Logf("value: %f", value)
|
||||
}
|
||||
|
||||
func BenchmarkMetricItemConfig_ProcessRequest(b *testing.B) {
|
||||
var metric = &MetricItemConfig{
|
||||
Keys: []string{"${remoteAddr}", "${status}"},
|
||||
}
|
||||
for i := 0; i < b.N; i++ {
|
||||
metric.ParseRequest(func(s string) string {
|
||||
return configutils.ParseVariables(s, func(varName string) (value string) {
|
||||
return "[" + varName + "]"
|
||||
})
|
||||
})
|
||||
func TestMetricItemConfig_CurrentTime_Week(t *testing.T) {
|
||||
for _, period := range []int{1, 2, 3, 4, 5} {
|
||||
var item = &MetricItemConfig{
|
||||
Period: period,
|
||||
PeriodUnit: MetricItemPeriodUnitWeek,
|
||||
}
|
||||
_ = item.Init()
|
||||
t.Log(period, ":", item.CurrentTime())
|
||||
}
|
||||
}
|
||||
|
||||
func TestMetricItemConfig_CurrentTime_Day(t *testing.T) {
|
||||
for _, period := range []int{1, 2, 3, 4, 5, 13} {
|
||||
var item = &MetricItemConfig{
|
||||
Period: period,
|
||||
PeriodUnit: MetricItemPeriodUnitDay,
|
||||
}
|
||||
_ = item.Init()
|
||||
t.Log(period, ":", item.CurrentTime())
|
||||
}
|
||||
}
|
||||
|
||||
func TestMetricItemConfig_CurrentTime_Hour(t *testing.T) {
|
||||
for _, period := range []int{1, 2, 3, 4, 5, 13} {
|
||||
var item = &MetricItemConfig{
|
||||
Period: period,
|
||||
PeriodUnit: MetricItemPeriodUnitHour,
|
||||
}
|
||||
_ = item.Init()
|
||||
t.Log(period, ":", item.CurrentTime())
|
||||
}
|
||||
}
|
||||
|
||||
func TestMetricItemConfig_CurrentTime_Minute(t *testing.T) {
|
||||
for _, period := range []int{1, 2, 3, 4, 5, 13} {
|
||||
var item = &MetricItemConfig{
|
||||
Period: period,
|
||||
PeriodUnit: MetricItemPeriodUnitMinute,
|
||||
}
|
||||
_ = item.Init()
|
||||
t.Log(period, ":", item.CurrentTime())
|
||||
}
|
||||
}
|
||||
|
||||
276
pkg/serverconfigs/metric_item_utils.go
Normal file
276
pkg/serverconfigs/metric_item_utils.go
Normal file
@@ -0,0 +1,276 @@
|
||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
||||
|
||||
package serverconfigs
|
||||
|
||||
import "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
|
||||
|
||||
// MetricItemCategory 指标分类
|
||||
type MetricItemCategory = string
|
||||
|
||||
const (
|
||||
MetricItemCategoryHTTP MetricItemCategory = "http"
|
||||
MetricItemCategoryTCP MetricItemCategory = "tcp"
|
||||
MetricItemCategoryUDP MetricItemCategory = "udp"
|
||||
)
|
||||
|
||||
// MetricItemPeriodUnit 指标周期单位
|
||||
type MetricItemPeriodUnit = string
|
||||
|
||||
const (
|
||||
MetricItemPeriodUnitMinute MetricItemPeriodUnit = "minute"
|
||||
MetricItemPeriodUnitHour MetricItemPeriodUnit = "hour"
|
||||
MetricItemPeriodUnitDay MetricItemPeriodUnit = "day"
|
||||
MetricItemPeriodUnitWeek MetricItemPeriodUnit = "week"
|
||||
MetricItemPeriodUnitMonth MetricItemPeriodUnit = "month"
|
||||
)
|
||||
|
||||
// MetricItemValueType 值类型
|
||||
type MetricItemValueType = string
|
||||
|
||||
const (
|
||||
MetricItemValueTypeCount MetricItemValueType = "count" // 数量
|
||||
MetricItemValueTypeByte MetricItemValueType = "byte" // 字节
|
||||
)
|
||||
|
||||
// FindAllMetricKeyDefinitions 指标对象定义
|
||||
func FindAllMetricKeyDefinitions(category MetricItemCategory) []*shared.Definition {
|
||||
switch category {
|
||||
case MetricItemCategoryHTTP:
|
||||
return []*shared.Definition{
|
||||
{
|
||||
Name: "客户端地址(IP)",
|
||||
Code: "${remoteAddr}",
|
||||
Description: "会依次根据X-Forwarded-For、X-Real-IP、RemoteAddr获取,适用于前端可能有别的反向代理的情形,存在被伪造的可能",
|
||||
},
|
||||
{
|
||||
Name: "直接客户端地址(IP)",
|
||||
Code: "${rawRemoteAddr}",
|
||||
Description: "返回直接连接服务的客户端原始IP地址",
|
||||
},
|
||||
{
|
||||
Name: "客户端用户名",
|
||||
Code: "${remoteUser}",
|
||||
Description: "通过基本认证填入的用户名",
|
||||
},
|
||||
{
|
||||
Name: "请求URI",
|
||||
Code: "${requestURI}",
|
||||
Description: "包含参数,比如/hello?name=lily",
|
||||
},
|
||||
{
|
||||
Name: "请求路径",
|
||||
Code: "${requestPath}",
|
||||
Description: "不包含参数,比如/hello",
|
||||
},
|
||||
{
|
||||
Name: "完整URL",
|
||||
Code: "${requestURL}",
|
||||
Description: "比如https://example.com/hello?name=lily",
|
||||
},
|
||||
{
|
||||
Name: "请求方法",
|
||||
Code: "${requestMethod}",
|
||||
Description: "比如GET、POST等",
|
||||
},
|
||||
{
|
||||
Name: "请求协议",
|
||||
Code: "${scheme}",
|
||||
Description: "http或https",
|
||||
},
|
||||
{
|
||||
Name: "文件扩展名",
|
||||
Code: "${requestPathExtension}",
|
||||
Description: "请求路径中的文件扩展名,包括点符号,比如.html、.png",
|
||||
},
|
||||
{
|
||||
Name: "主机名",
|
||||
Code: "${host}",
|
||||
Description: "通常是请求的域名",
|
||||
},
|
||||
|
||||
{
|
||||
Name: "请求协议",
|
||||
Code: "${proto}",
|
||||
Description: "http或https",
|
||||
},
|
||||
{
|
||||
Name: "HTTP协议",
|
||||
Code: "${proto}",
|
||||
Description: "包含版本的HTTP请求协议,类似于HTTP/1.0",
|
||||
},
|
||||
{
|
||||
Name: "URL参数值",
|
||||
Code: "${arg.NAME}",
|
||||
Description: "单个URL参数值",
|
||||
},
|
||||
{
|
||||
Name: "Header值",
|
||||
Code: "${header.NAME}",
|
||||
Description: "单个Header值,比如${header.User-Agent}",
|
||||
},
|
||||
{
|
||||
Name: "Cookie值",
|
||||
Code: "${cookie.NAME}",
|
||||
Description: "单个cookie值,比如${cookie.sid}",
|
||||
},
|
||||
|
||||
// ========= 以下是响应 =========
|
||||
{
|
||||
Name: "状态码",
|
||||
Code: "${status}",
|
||||
},
|
||||
{
|
||||
Name: "响应的Content-Type值",
|
||||
Code: "${response.contentType}",
|
||||
},
|
||||
}
|
||||
case MetricItemCategoryTCP:
|
||||
// TODO
|
||||
return []*shared.Definition{}
|
||||
case MetricItemCategoryUDP:
|
||||
// TODO
|
||||
return []*shared.Definition{}
|
||||
}
|
||||
return []*shared.Definition{}
|
||||
}
|
||||
|
||||
// MetricValueDefinition 指标数值定义
|
||||
type MetricValueDefinition struct {
|
||||
Name string `json:"name"`
|
||||
Code string `json:"code"`
|
||||
Description string `json:"description"`
|
||||
Icon string `json:"icon"`
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
// FindAllMetricValueDefinitions 指标数值定义
|
||||
func FindAllMetricValueDefinitions(category MetricItemCategory) []*MetricValueDefinition {
|
||||
switch category {
|
||||
case MetricItemCategoryHTTP:
|
||||
return []*MetricValueDefinition{
|
||||
{
|
||||
Name: "请求数",
|
||||
Code: "${countRequest}",
|
||||
Type: MetricItemValueTypeCount,
|
||||
},
|
||||
{
|
||||
Name: "连接数",
|
||||
Code: "${countConnection}",
|
||||
Type: MetricItemValueTypeCount,
|
||||
},
|
||||
{
|
||||
Name: "下行流量",
|
||||
Code: "${countTrafficOut}",
|
||||
Type: MetricItemValueTypeByte,
|
||||
},
|
||||
{
|
||||
Name: "上行流量",
|
||||
Code: "${countTrafficIn}",
|
||||
Type: MetricItemValueTypeByte,
|
||||
},
|
||||
}
|
||||
case MetricItemCategoryTCP:
|
||||
return []*MetricValueDefinition{
|
||||
{
|
||||
Name: "连接数",
|
||||
Code: "${countConnection}",
|
||||
Type: MetricItemValueTypeCount,
|
||||
},
|
||||
{
|
||||
Name: "下行流量",
|
||||
Code: "${countTrafficOut}",
|
||||
Type: MetricItemValueTypeByte,
|
||||
},
|
||||
{
|
||||
Name: "上行流量",
|
||||
Code: "${countTrafficIn}",
|
||||
Type: MetricItemValueTypeByte,
|
||||
},
|
||||
}
|
||||
case MetricItemCategoryUDP:
|
||||
return []*MetricValueDefinition{
|
||||
{
|
||||
Name: "连接数",
|
||||
Code: "${countConnection}",
|
||||
Type: MetricItemValueTypeCount,
|
||||
},
|
||||
{
|
||||
Name: "下行流量",
|
||||
Code: "${countTrafficOut}",
|
||||
Type: MetricItemValueTypeByte,
|
||||
},
|
||||
{
|
||||
Name: "上行流量",
|
||||
Code: "${countTrafficIn}",
|
||||
Type: MetricItemValueTypeByte,
|
||||
},
|
||||
}
|
||||
}
|
||||
return []*MetricValueDefinition{}
|
||||
}
|
||||
|
||||
func FindMetricValueName(category MetricItemCategory, code string) string {
|
||||
for _, def := range FindAllMetricValueDefinitions(category) {
|
||||
if def.Code == code {
|
||||
return def.Name
|
||||
}
|
||||
}
|
||||
return code
|
||||
}
|
||||
|
||||
func FindMetricValueType(category MetricItemCategory, code string) string {
|
||||
for _, def := range FindAllMetricValueDefinitions(category) {
|
||||
if def.Code == code {
|
||||
return def.Type
|
||||
}
|
||||
}
|
||||
return MetricItemValueTypeCount
|
||||
}
|
||||
|
||||
// HumanMetricTime 格式化时间,让时间更易读
|
||||
func HumanMetricTime(periodUnit MetricItemPeriodUnit, time string) string {
|
||||
switch periodUnit {
|
||||
case MetricItemPeriodUnitMonth:
|
||||
if len(time) != 6 {
|
||||
return time
|
||||
}
|
||||
return time[:4] + "-" + time[4:]
|
||||
case MetricItemPeriodUnitWeek:
|
||||
if len(time) != 6 {
|
||||
return time
|
||||
}
|
||||
return time[:4] + "-" + time[4:]
|
||||
case MetricItemPeriodUnitDay:
|
||||
if len(time) != 8 {
|
||||
return time
|
||||
}
|
||||
return time[:4] + "-" + time[4:6] + "-" + time[6:]
|
||||
case MetricItemPeriodUnitHour:
|
||||
if len(time) != 10 {
|
||||
return time
|
||||
}
|
||||
return time[:4] + "-" + time[4:6] + "-" + time[6:8] + " " + time[8:]
|
||||
case MetricItemPeriodUnitMinute:
|
||||
if len(time) != 12 {
|
||||
return time
|
||||
}
|
||||
return time[:4] + "-" + time[4:6] + "-" + time[6:8] + " " + time[8:10] + ":" + time[10:]
|
||||
}
|
||||
return time
|
||||
}
|
||||
|
||||
func FindMetricPeriodUnitName(unit string) string {
|
||||
switch unit {
|
||||
case MetricItemPeriodUnitMonth:
|
||||
return "月"
|
||||
case MetricItemPeriodUnitWeek:
|
||||
return "周"
|
||||
case MetricItemPeriodUnitDay:
|
||||
return "天"
|
||||
case MetricItemPeriodUnitHour:
|
||||
return "小时"
|
||||
case MetricItemPeriodUnitMinute:
|
||||
return "分钟"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
|
||||
var regexpSinglePort = regexp.MustCompile(`^\d+$`)
|
||||
|
||||
// 网络地址配置
|
||||
// NetworkAddressConfig 网络地址配置
|
||||
type NetworkAddressConfig struct {
|
||||
Protocol Protocol `yaml:"protocol" json:"protocol"` // 协议,http、tcp、tcp4、tcp6、unix、udp等
|
||||
Host string `yaml:"host" json:"host"` // 主机地址或主机名,支持变量
|
||||
@@ -23,7 +23,7 @@ type NetworkAddressConfig struct {
|
||||
hostHasVariables bool
|
||||
}
|
||||
|
||||
// 初始化
|
||||
// Init 初始化
|
||||
func (this *NetworkAddressConfig) Init() error {
|
||||
this.hostHasVariables = configutils.HasVariables(this.Host)
|
||||
|
||||
@@ -63,7 +63,7 @@ func (this *NetworkAddressConfig) Init() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 所有的地址列表,不包括scheme
|
||||
// Addresses 所有的地址列表,不包括scheme
|
||||
func (this *NetworkAddressConfig) Addresses() []string {
|
||||
if this.Protocol == ProtocolUnix {
|
||||
return []string{this.Host}
|
||||
@@ -72,12 +72,12 @@ func (this *NetworkAddressConfig) Addresses() []string {
|
||||
result := []string{}
|
||||
for i := this.minPort; i <= this.maxPort; i++ {
|
||||
host := this.Host
|
||||
result = append(result, host+":"+strconv.Itoa(i))
|
||||
result = append(result, configutils.QuoteIP(host)+":"+strconv.Itoa(i))
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// 所有的地址列表,包含scheme
|
||||
// FullAddresses 所有的地址列表,包含scheme
|
||||
func (this *NetworkAddressConfig) FullAddresses() []string {
|
||||
if this.Protocol == ProtocolUnix {
|
||||
return []string{this.Protocol.String() + ":" + this.Host}
|
||||
@@ -86,20 +86,20 @@ func (this *NetworkAddressConfig) FullAddresses() []string {
|
||||
result := []string{}
|
||||
for i := this.minPort; i <= this.maxPort; i++ {
|
||||
host := this.Host
|
||||
result = append(result, this.Protocol.String()+"://"+host+":"+strconv.Itoa(i))
|
||||
result = append(result, this.Protocol.String()+"://"+configutils.QuoteIP(host)+":"+strconv.Itoa(i))
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// 选择其中一个地址
|
||||
// PickAddress 选择其中一个地址
|
||||
func (this *NetworkAddressConfig) PickAddress() string {
|
||||
if this.maxPort > this.minPort {
|
||||
return this.Host + ":" + strconv.Itoa(rands.Int(this.minPort, this.maxPort))
|
||||
return configutils.QuoteIP(this.Host) + ":" + strconv.Itoa(rands.Int(this.minPort, this.maxPort))
|
||||
}
|
||||
return this.Host + ":" + strconv.Itoa(this.minPort)
|
||||
return configutils.QuoteIP(this.Host) + ":" + strconv.Itoa(this.minPort)
|
||||
}
|
||||
|
||||
// 判断Host是否包含变量
|
||||
// HostHasVariables 判断Host是否包含变量
|
||||
func (this *NetworkAddressConfig) HostHasVariables() bool {
|
||||
return this.hostHasVariables
|
||||
}
|
||||
|
||||
@@ -54,6 +54,20 @@ func TestNetworkAddressConfig_FullAddresses(t *testing.T) {
|
||||
}
|
||||
t.Log(addr.FullAddresses())
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
addr := &NetworkAddressConfig{
|
||||
Protocol: "http",
|
||||
Host: "::1",
|
||||
PortRange: "8080-8070",
|
||||
}
|
||||
err := addr.Init()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
t.Log(addr.FullAddresses())
|
||||
}
|
||||
}
|
||||
|
||||
func TestNetworkAddressConfig_PickAddress(t *testing.T) {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package serverconfigs
|
||||
|
||||
// 协议基础数据结构
|
||||
// BaseProtocol 协议基础数据结构
|
||||
type BaseProtocol struct {
|
||||
IsOn bool `yaml:"isOn" json:"isOn"` // 是否开启
|
||||
Listen []*NetworkAddressConfig `yaml:"listen" json:"listen"` // 绑定的网络地址
|
||||
}
|
||||
|
||||
// 初始化
|
||||
// InitBase 初始化
|
||||
func (this *BaseProtocol) InitBase() error {
|
||||
for _, addr := range this.Listen {
|
||||
err := addr.Init()
|
||||
@@ -17,7 +17,7 @@ func (this *BaseProtocol) InitBase() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 获取完整的地址列表
|
||||
// FullAddresses 获取完整的地址列表
|
||||
func (this *BaseProtocol) FullAddresses() []string {
|
||||
result := []string{}
|
||||
for _, addr := range this.Listen {
|
||||
@@ -26,7 +26,7 @@ func (this *BaseProtocol) FullAddresses() []string {
|
||||
return result
|
||||
}
|
||||
|
||||
// 添加地址
|
||||
// AddListen 添加地址
|
||||
func (this *BaseProtocol) AddListen(addr ...*NetworkAddressConfig) {
|
||||
this.Listen = append(this.Listen, addr...)
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ type ServerConfig struct {
|
||||
isOk bool
|
||||
}
|
||||
|
||||
// 从JSON中解析Server配置
|
||||
// NewServerConfigFromJSON 从JSON中解析Server配置
|
||||
func NewServerConfigFromJSON(data []byte) (*ServerConfig, error) {
|
||||
config := &ServerConfig{}
|
||||
err := json.Unmarshal(data, config)
|
||||
@@ -114,7 +114,7 @@ func (this *ServerConfig) Init() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 配置是否正确
|
||||
// IsOk 配置是否正确
|
||||
func (this *ServerConfig) IsOk() bool {
|
||||
return this.isOk
|
||||
}
|
||||
@@ -186,7 +186,7 @@ func (this *ServerConfig) IsUDPFamily() bool {
|
||||
return this.UDP != nil
|
||||
}
|
||||
|
||||
// 判断是否和域名匹配
|
||||
// MatchName 判断是否和域名匹配
|
||||
func (this *ServerConfig) MatchName(name string) bool {
|
||||
if len(name) == 0 {
|
||||
return false
|
||||
@@ -202,7 +202,7 @@ func (this *ServerConfig) MatchName(name string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// 判断是否严格匹配
|
||||
// MatchNameStrictly 判断是否严格匹配
|
||||
func (this *ServerConfig) MatchNameStrictly(name string) bool {
|
||||
for _, serverName := range this.AliasServerNames {
|
||||
if serverName == name {
|
||||
@@ -217,7 +217,7 @@ func (this *ServerConfig) MatchNameStrictly(name string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// SSL信息
|
||||
// SSLPolicy SSL信息
|
||||
func (this *ServerConfig) SSLPolicy() *sslconfigs.SSLPolicy {
|
||||
if this.HTTPS != nil {
|
||||
return this.HTTPS.SSLPolicy
|
||||
@@ -228,7 +228,7 @@ func (this *ServerConfig) SSLPolicy() *sslconfigs.SSLPolicy {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 根据条件查找ReverseProxy
|
||||
// FindAndCheckReverseProxy 根据条件查找ReverseProxy
|
||||
func (this *ServerConfig) FindAndCheckReverseProxy(dataType string) (*ReverseProxyConfig, error) {
|
||||
switch dataType {
|
||||
case "server":
|
||||
|
||||
11
pkg/serverconfigs/shared/definition.go
Normal file
11
pkg/serverconfigs/shared/definition.go
Normal file
@@ -0,0 +1,11 @@
|
||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
||||
|
||||
package shared
|
||||
|
||||
// Definition 数据定义
|
||||
type Definition struct {
|
||||
Name string `json:"name"`
|
||||
Code string `json:"code"`
|
||||
Description string `json:"description"`
|
||||
Icon string `json:"icon"`
|
||||
}
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
// IP Range类型
|
||||
// IPRangeType IP Range类型
|
||||
type IPRangeType = int
|
||||
|
||||
const (
|
||||
@@ -19,7 +19,7 @@ const (
|
||||
IPRangeTypeWildcard IPRangeType = 4 // 通配符,可以使用*
|
||||
)
|
||||
|
||||
// IP Range
|
||||
// IPRangeConfig IP Range
|
||||
type IPRangeConfig struct {
|
||||
Id string `yaml:"id" json:"id"`
|
||||
|
||||
@@ -36,14 +36,14 @@ type IPRangeConfig struct {
|
||||
reg *regexp.Regexp
|
||||
}
|
||||
|
||||
// 获取新对象
|
||||
// NewIPRangeConfig 获取新对象
|
||||
func NewIPRangeConfig() *IPRangeConfig {
|
||||
return &IPRangeConfig{
|
||||
Id: stringutil.Rand(16),
|
||||
}
|
||||
}
|
||||
|
||||
// 从字符串中分析
|
||||
// ParseIPRange 从字符串中分析
|
||||
func ParseIPRange(s string) (*IPRangeConfig, error) {
|
||||
if len(s) == 0 {
|
||||
return nil, errors.New("invalid ip range")
|
||||
@@ -79,15 +79,15 @@ func ParseIPRange(s string) (*IPRangeConfig, error) {
|
||||
ipRange.IPTo = s
|
||||
}
|
||||
|
||||
err := ipRange.Validate()
|
||||
err := ipRange.Init()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return ipRange, nil
|
||||
}
|
||||
|
||||
// 校验
|
||||
func (this *IPRangeConfig) Validate() error {
|
||||
// Init 初始化校验
|
||||
func (this *IPRangeConfig) Init() error {
|
||||
if this.Type == IPRangeTypeCIDR {
|
||||
if len(this.CIDR) == 0 {
|
||||
return errors.New("cidr should not be empty")
|
||||
@@ -116,10 +116,10 @@ func (this *IPRangeConfig) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 是否包含某个IP
|
||||
// Contains 是否包含某个IP
|
||||
func (this *IPRangeConfig) Contains(ipString string) bool {
|
||||
ip := net.ParseIP(ipString)
|
||||
if ip.To4() == nil {
|
||||
if ip == nil {
|
||||
return false
|
||||
}
|
||||
if this.Type == IPRangeTypeCIDR {
|
||||
|
||||
@@ -9,32 +9,52 @@ func TestGeoConfig_Contains(t *testing.T) {
|
||||
a := assert.NewAssertion(t)
|
||||
|
||||
{
|
||||
geo := NewIPRangeConfig()
|
||||
geo.Type = IPRangeTypeRange
|
||||
geo.IPFrom = "192.168.1.100"
|
||||
geo.IPTo = "192.168.1.110"
|
||||
a.IsNil(geo.Validate())
|
||||
a.IsTrue(geo.Contains("192.168.1.100"))
|
||||
a.IsTrue(geo.Contains("192.168.1.101"))
|
||||
a.IsTrue(geo.Contains("192.168.1.110"))
|
||||
a.IsFalse(geo.Contains("192.168.1.111"))
|
||||
r := NewIPRangeConfig()
|
||||
r.Type = IPRangeTypeRange
|
||||
r.IPFrom = "192.168.1.100"
|
||||
r.IPTo = "192.168.1.110"
|
||||
a.IsNil(r.Init())
|
||||
a.IsTrue(r.Contains("192.168.1.100"))
|
||||
a.IsTrue(r.Contains("192.168.1.101"))
|
||||
a.IsTrue(r.Contains("192.168.1.110"))
|
||||
a.IsFalse(r.Contains("192.168.1.111"))
|
||||
}
|
||||
|
||||
{
|
||||
geo := NewIPRangeConfig()
|
||||
geo.Type = IPRangeTypeCIDR
|
||||
geo.CIDR = "192.168.1.1/24"
|
||||
a.IsNil(geo.Validate())
|
||||
a.IsTrue(geo.Contains("192.168.1.100"))
|
||||
a.IsFalse(geo.Contains("192.168.2.100"))
|
||||
r := NewIPRangeConfig()
|
||||
r.Type = IPRangeTypeCIDR
|
||||
r.CIDR = "192.168.1.1/24"
|
||||
a.IsNil(r.Init())
|
||||
a.IsTrue(r.Contains("192.168.1.100"))
|
||||
a.IsFalse(r.Contains("192.168.2.100"))
|
||||
}
|
||||
|
||||
{
|
||||
geo := NewIPRangeConfig()
|
||||
geo.Type = IPRangeTypeCIDR
|
||||
geo.CIDR = "192.168.1.1/16"
|
||||
a.IsNil(geo.Validate())
|
||||
a.IsTrue(geo.Contains("192.168.2.100"))
|
||||
r := NewIPRangeConfig()
|
||||
r.Type = IPRangeTypeCIDR
|
||||
r.CIDR = "192.168.1.1/16"
|
||||
a.IsNil(r.Init())
|
||||
a.IsTrue(r.Contains("192.168.2.100"))
|
||||
}
|
||||
|
||||
{
|
||||
r := NewIPRangeConfig()
|
||||
r.Type = IPRangeTypeRange
|
||||
r.IPFrom = "::1"
|
||||
r.IPTo = "::1"
|
||||
a.IsNil(r.Init())
|
||||
a.IsTrue(r.Contains("::1"))
|
||||
}
|
||||
|
||||
{
|
||||
r := NewIPRangeConfig()
|
||||
r.Type = IPRangeTypeRange
|
||||
r.IPFrom = "::1"
|
||||
r.IPTo = "::100"
|
||||
a.IsNil(r.Init())
|
||||
a.IsTrue(r.Contains("::1"))
|
||||
a.IsTrue(r.Contains("::99"))
|
||||
a.IsFalse(r.Contains("::101"))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,12 +8,13 @@ import "github.com/iwind/TeaGo/maps"
|
||||
func DefaultRequestVariables() []maps.Map {
|
||||
return []maps.Map{
|
||||
{"code": "${edgeVersion}", "name": "边缘节点版本", "description": ""},
|
||||
{"code": "${remoteAddr}", "name": "客户端地址(IP)", "description": "会依次根据X-Forwarded-For、X-Real-IP、RemoteAddr获取"},
|
||||
{"code": "${rawRemoteAddr}", "name": "客户端地址(IP)", "description": "返回直接连接服务的客户端原始IP地址,从v0.1.3版本加入"},
|
||||
{"code": "${remoteAddr}", "name": "客户端地址(IP)", "description": "会依次根据X-Forwarded-For、X-Real-IP、RemoteAddr获取,适合前端有别的反向代理服务时使用,存在伪造的风险"},
|
||||
{"code": "${rawRemoteAddr}", "name": "客户端地址(IP)", "description": "返回直接连接服务的客户端原始IP地址"},
|
||||
{"code": "${remotePort}", "name": "客户端端口", "description": ""},
|
||||
{"code": "${remoteUser}", "name": "客户端用户名", "description": ""},
|
||||
{"code": "${requestURI}", "name": "请求URI", "description": ""},
|
||||
{"code": "${requestPath}", "name": "请求路径(不包括参数)", "description": ""},
|
||||
{"code": "${requestURI}", "name": "请求URI", "description": "比如/hello?name=lily"},
|
||||
{"code": "${requestPath}", "name": "请求路径(不包括参数)", "description": "比如/hello"},
|
||||
{"code": "${requestURL}", "name": "完整的请求URL", "description": "比如https://example.com/hello?name=lily"},
|
||||
{"code": "${requestLength}", "name": "请求内容长度", "description": ""},
|
||||
{"code": "${requestMethod}", "name": "请求方法", "description": "比如GET、POST"},
|
||||
{"code": "${requestFilename}", "name": "请求文件路径", "description": ""},
|
||||
|
||||
Reference in New Issue
Block a user