Add used egress/ingress to storage node dashboard (#1565)

* add egress and ingress to StatSummaryResponse

* print egress and ingress to storagenode dashboard
This commit is contained in:
Cameron 2019-03-27 15:44:18 -04:00 committed by GitHub
parent 86bf3dee9f
commit cac55a29e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 321 additions and 198 deletions

View File

@ -124,10 +124,12 @@ func printDashboard(data *pb.DashboardResponse) error {
usedBandwidth := color.WhiteString(memory.Size(stats.GetUsedBandwidth()).Base10String())
availableSpace := color.WhiteString(memory.Size(stats.GetAvailableSpace()).Base10String())
usedSpace := color.WhiteString(memory.Size(stats.GetUsedSpace()).Base10String())
usedEgress := color.WhiteString(memory.Size(stats.GetUsedEgress()).Base10String())
usedIngress := color.WhiteString(memory.Size(stats.GetUsedIngress()).Base10String())
w = tabwriter.NewWriter(color.Output, 0, 0, 5, ' ', tabwriter.AlignRight)
fmt.Fprintf(w, "\n\t%s\t%s\t\n", color.GreenString("Available"), color.GreenString("Used"))
fmt.Fprintf(w, "Bandwidth\t%s\t%s\t\n", availableBandwidth, usedBandwidth)
fmt.Fprintf(w, "\n\t%s\t%s\t%s\t%s\t\n", color.GreenString("Available"), color.GreenString("Used"), color.GreenString("Egress"), color.GreenString("Ingress"))
fmt.Fprintf(w, "Bandwidth\t%s\t%s\t%s\t%s\t\n", availableBandwidth, usedBandwidth, usedEgress, usedIngress)
fmt.Fprintf(w, "Disk\t%s\t%s\t\n", availableSpace, usedSpace)
if err = w.Flush(); err != nil {
return err

View File

@ -3,16 +3,15 @@
package pb
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import duration "github.com/golang/protobuf/ptypes/duration"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"
import (
context "golang.org/x/net/context"
context "context"
fmt "fmt"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
duration "github.com/golang/protobuf/ptypes/duration"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
grpc "google.golang.org/grpc"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
@ -39,7 +38,7 @@ func (m *ListIrreparableSegmentsRequest) Reset() { *m = ListIrreparableS
func (m *ListIrreparableSegmentsRequest) String() string { return proto.CompactTextString(m) }
func (*ListIrreparableSegmentsRequest) ProtoMessage() {}
func (*ListIrreparableSegmentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{0}
return fileDescriptor_a07d9034b2dd9d26, []int{0}
}
func (m *ListIrreparableSegmentsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListIrreparableSegmentsRequest.Unmarshal(m, b)
@ -47,8 +46,8 @@ func (m *ListIrreparableSegmentsRequest) XXX_Unmarshal(b []byte) error {
func (m *ListIrreparableSegmentsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListIrreparableSegmentsRequest.Marshal(b, m, deterministic)
}
func (dst *ListIrreparableSegmentsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListIrreparableSegmentsRequest.Merge(dst, src)
func (m *ListIrreparableSegmentsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListIrreparableSegmentsRequest.Merge(m, src)
}
func (m *ListIrreparableSegmentsRequest) XXX_Size() int {
return xxx_messageInfo_ListIrreparableSegmentsRequest.Size(m)
@ -88,7 +87,7 @@ func (m *IrreparableSegment) Reset() { *m = IrreparableSegment{} }
func (m *IrreparableSegment) String() string { return proto.CompactTextString(m) }
func (*IrreparableSegment) ProtoMessage() {}
func (*IrreparableSegment) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{1}
return fileDescriptor_a07d9034b2dd9d26, []int{1}
}
func (m *IrreparableSegment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_IrreparableSegment.Unmarshal(m, b)
@ -96,8 +95,8 @@ func (m *IrreparableSegment) XXX_Unmarshal(b []byte) error {
func (m *IrreparableSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_IrreparableSegment.Marshal(b, m, deterministic)
}
func (dst *IrreparableSegment) XXX_Merge(src proto.Message) {
xxx_messageInfo_IrreparableSegment.Merge(dst, src)
func (m *IrreparableSegment) XXX_Merge(src proto.Message) {
xxx_messageInfo_IrreparableSegment.Merge(m, src)
}
func (m *IrreparableSegment) XXX_Size() int {
return xxx_messageInfo_IrreparableSegment.Size(m)
@ -154,7 +153,7 @@ func (m *ListIrreparableSegmentsResponse) Reset() { *m = ListIrreparable
func (m *ListIrreparableSegmentsResponse) String() string { return proto.CompactTextString(m) }
func (*ListIrreparableSegmentsResponse) ProtoMessage() {}
func (*ListIrreparableSegmentsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{2}
return fileDescriptor_a07d9034b2dd9d26, []int{2}
}
func (m *ListIrreparableSegmentsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListIrreparableSegmentsResponse.Unmarshal(m, b)
@ -162,8 +161,8 @@ func (m *ListIrreparableSegmentsResponse) XXX_Unmarshal(b []byte) error {
func (m *ListIrreparableSegmentsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListIrreparableSegmentsResponse.Marshal(b, m, deterministic)
}
func (dst *ListIrreparableSegmentsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListIrreparableSegmentsResponse.Merge(dst, src)
func (m *ListIrreparableSegmentsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListIrreparableSegmentsResponse.Merge(m, src)
}
func (m *ListIrreparableSegmentsResponse) XXX_Size() int {
return xxx_messageInfo_ListIrreparableSegmentsResponse.Size(m)
@ -193,7 +192,7 @@ func (m *GetStatsRequest) Reset() { *m = GetStatsRequest{} }
func (m *GetStatsRequest) String() string { return proto.CompactTextString(m) }
func (*GetStatsRequest) ProtoMessage() {}
func (*GetStatsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{3}
return fileDescriptor_a07d9034b2dd9d26, []int{3}
}
func (m *GetStatsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetStatsRequest.Unmarshal(m, b)
@ -201,8 +200,8 @@ func (m *GetStatsRequest) XXX_Unmarshal(b []byte) error {
func (m *GetStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetStatsRequest.Marshal(b, m, deterministic)
}
func (dst *GetStatsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetStatsRequest.Merge(dst, src)
func (m *GetStatsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetStatsRequest.Merge(m, src)
}
func (m *GetStatsRequest) XXX_Size() int {
return xxx_messageInfo_GetStatsRequest.Size(m)
@ -227,7 +226,7 @@ func (m *GetStatsResponse) Reset() { *m = GetStatsResponse{} }
func (m *GetStatsResponse) String() string { return proto.CompactTextString(m) }
func (*GetStatsResponse) ProtoMessage() {}
func (*GetStatsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{4}
return fileDescriptor_a07d9034b2dd9d26, []int{4}
}
func (m *GetStatsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetStatsResponse.Unmarshal(m, b)
@ -235,8 +234,8 @@ func (m *GetStatsResponse) XXX_Unmarshal(b []byte) error {
func (m *GetStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetStatsResponse.Marshal(b, m, deterministic)
}
func (dst *GetStatsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetStatsResponse.Merge(dst, src)
func (m *GetStatsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetStatsResponse.Merge(m, src)
}
func (m *GetStatsResponse) XXX_Size() int {
return xxx_messageInfo_GetStatsResponse.Size(m)
@ -291,7 +290,7 @@ func (m *CreateStatsRequest) Reset() { *m = CreateStatsRequest{} }
func (m *CreateStatsRequest) String() string { return proto.CompactTextString(m) }
func (*CreateStatsRequest) ProtoMessage() {}
func (*CreateStatsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{5}
return fileDescriptor_a07d9034b2dd9d26, []int{5}
}
func (m *CreateStatsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateStatsRequest.Unmarshal(m, b)
@ -299,8 +298,8 @@ func (m *CreateStatsRequest) XXX_Unmarshal(b []byte) error {
func (m *CreateStatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateStatsRequest.Marshal(b, m, deterministic)
}
func (dst *CreateStatsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateStatsRequest.Merge(dst, src)
func (m *CreateStatsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateStatsRequest.Merge(m, src)
}
func (m *CreateStatsRequest) XXX_Size() int {
return xxx_messageInfo_CreateStatsRequest.Size(m)
@ -349,7 +348,7 @@ func (m *CreateStatsResponse) Reset() { *m = CreateStatsResponse{} }
func (m *CreateStatsResponse) String() string { return proto.CompactTextString(m) }
func (*CreateStatsResponse) ProtoMessage() {}
func (*CreateStatsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{6}
return fileDescriptor_a07d9034b2dd9d26, []int{6}
}
func (m *CreateStatsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateStatsResponse.Unmarshal(m, b)
@ -357,8 +356,8 @@ func (m *CreateStatsResponse) XXX_Unmarshal(b []byte) error {
func (m *CreateStatsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CreateStatsResponse.Marshal(b, m, deterministic)
}
func (dst *CreateStatsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateStatsResponse.Merge(dst, src)
func (m *CreateStatsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CreateStatsResponse.Merge(m, src)
}
func (m *CreateStatsResponse) XXX_Size() int {
return xxx_messageInfo_CreateStatsResponse.Size(m)
@ -381,7 +380,7 @@ func (m *CountNodesResponse) Reset() { *m = CountNodesResponse{} }
func (m *CountNodesResponse) String() string { return proto.CompactTextString(m) }
func (*CountNodesResponse) ProtoMessage() {}
func (*CountNodesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{7}
return fileDescriptor_a07d9034b2dd9d26, []int{7}
}
func (m *CountNodesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CountNodesResponse.Unmarshal(m, b)
@ -389,8 +388,8 @@ func (m *CountNodesResponse) XXX_Unmarshal(b []byte) error {
func (m *CountNodesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CountNodesResponse.Marshal(b, m, deterministic)
}
func (dst *CountNodesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CountNodesResponse.Merge(dst, src)
func (m *CountNodesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_CountNodesResponse.Merge(m, src)
}
func (m *CountNodesResponse) XXX_Size() int {
return xxx_messageInfo_CountNodesResponse.Size(m)
@ -418,7 +417,7 @@ func (m *CountNodesRequest) Reset() { *m = CountNodesRequest{} }
func (m *CountNodesRequest) String() string { return proto.CompactTextString(m) }
func (*CountNodesRequest) ProtoMessage() {}
func (*CountNodesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{8}
return fileDescriptor_a07d9034b2dd9d26, []int{8}
}
func (m *CountNodesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CountNodesRequest.Unmarshal(m, b)
@ -426,8 +425,8 @@ func (m *CountNodesRequest) XXX_Unmarshal(b []byte) error {
func (m *CountNodesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CountNodesRequest.Marshal(b, m, deterministic)
}
func (dst *CountNodesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CountNodesRequest.Merge(dst, src)
func (m *CountNodesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_CountNodesRequest.Merge(m, src)
}
func (m *CountNodesRequest) XXX_Size() int {
return xxx_messageInfo_CountNodesRequest.Size(m)
@ -449,7 +448,7 @@ func (m *GetBucketsRequest) Reset() { *m = GetBucketsRequest{} }
func (m *GetBucketsRequest) String() string { return proto.CompactTextString(m) }
func (*GetBucketsRequest) ProtoMessage() {}
func (*GetBucketsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{9}
return fileDescriptor_a07d9034b2dd9d26, []int{9}
}
func (m *GetBucketsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBucketsRequest.Unmarshal(m, b)
@ -457,8 +456,8 @@ func (m *GetBucketsRequest) XXX_Unmarshal(b []byte) error {
func (m *GetBucketsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetBucketsRequest.Marshal(b, m, deterministic)
}
func (dst *GetBucketsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBucketsRequest.Merge(dst, src)
func (m *GetBucketsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBucketsRequest.Merge(m, src)
}
func (m *GetBucketsRequest) XXX_Size() int {
return xxx_messageInfo_GetBucketsRequest.Size(m)
@ -481,7 +480,7 @@ func (m *GetBucketsResponse) Reset() { *m = GetBucketsResponse{} }
func (m *GetBucketsResponse) String() string { return proto.CompactTextString(m) }
func (*GetBucketsResponse) ProtoMessage() {}
func (*GetBucketsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{10}
return fileDescriptor_a07d9034b2dd9d26, []int{10}
}
func (m *GetBucketsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBucketsResponse.Unmarshal(m, b)
@ -489,8 +488,8 @@ func (m *GetBucketsResponse) XXX_Unmarshal(b []byte) error {
func (m *GetBucketsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetBucketsResponse.Marshal(b, m, deterministic)
}
func (dst *GetBucketsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBucketsResponse.Merge(dst, src)
func (m *GetBucketsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBucketsResponse.Merge(m, src)
}
func (m *GetBucketsResponse) XXX_Size() int {
return xxx_messageInfo_GetBucketsResponse.Size(m)
@ -520,7 +519,7 @@ func (m *GetBucketRequest) Reset() { *m = GetBucketRequest{} }
func (m *GetBucketRequest) String() string { return proto.CompactTextString(m) }
func (*GetBucketRequest) ProtoMessage() {}
func (*GetBucketRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{11}
return fileDescriptor_a07d9034b2dd9d26, []int{11}
}
func (m *GetBucketRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBucketRequest.Unmarshal(m, b)
@ -528,8 +527,8 @@ func (m *GetBucketRequest) XXX_Unmarshal(b []byte) error {
func (m *GetBucketRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetBucketRequest.Marshal(b, m, deterministic)
}
func (dst *GetBucketRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBucketRequest.Merge(dst, src)
func (m *GetBucketRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBucketRequest.Merge(m, src)
}
func (m *GetBucketRequest) XXX_Size() int {
return xxx_messageInfo_GetBucketRequest.Size(m)
@ -552,7 +551,7 @@ func (m *GetBucketResponse) Reset() { *m = GetBucketResponse{} }
func (m *GetBucketResponse) String() string { return proto.CompactTextString(m) }
func (*GetBucketResponse) ProtoMessage() {}
func (*GetBucketResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{12}
return fileDescriptor_a07d9034b2dd9d26, []int{12}
}
func (m *GetBucketResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBucketResponse.Unmarshal(m, b)
@ -560,8 +559,8 @@ func (m *GetBucketResponse) XXX_Unmarshal(b []byte) error {
func (m *GetBucketResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetBucketResponse.Marshal(b, m, deterministic)
}
func (dst *GetBucketResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBucketResponse.Merge(dst, src)
func (m *GetBucketResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetBucketResponse.Merge(m, src)
}
func (m *GetBucketResponse) XXX_Size() int {
return xxx_messageInfo_GetBucketResponse.Size(m)
@ -590,7 +589,7 @@ func (m *Bucket) Reset() { *m = Bucket{} }
func (m *Bucket) String() string { return proto.CompactTextString(m) }
func (*Bucket) ProtoMessage() {}
func (*Bucket) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{13}
return fileDescriptor_a07d9034b2dd9d26, []int{13}
}
func (m *Bucket) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Bucket.Unmarshal(m, b)
@ -598,8 +597,8 @@ func (m *Bucket) XXX_Unmarshal(b []byte) error {
func (m *Bucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Bucket.Marshal(b, m, deterministic)
}
func (dst *Bucket) XXX_Merge(src proto.Message) {
xxx_messageInfo_Bucket.Merge(dst, src)
func (m *Bucket) XXX_Merge(src proto.Message) {
xxx_messageInfo_Bucket.Merge(m, src)
}
func (m *Bucket) XXX_Size() int {
return xxx_messageInfo_Bucket.Size(m)
@ -628,7 +627,7 @@ func (m *BucketList) Reset() { *m = BucketList{} }
func (m *BucketList) String() string { return proto.CompactTextString(m) }
func (*BucketList) ProtoMessage() {}
func (*BucketList) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{14}
return fileDescriptor_a07d9034b2dd9d26, []int{14}
}
func (m *BucketList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BucketList.Unmarshal(m, b)
@ -636,8 +635,8 @@ func (m *BucketList) XXX_Unmarshal(b []byte) error {
func (m *BucketList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BucketList.Marshal(b, m, deterministic)
}
func (dst *BucketList) XXX_Merge(src proto.Message) {
xxx_messageInfo_BucketList.Merge(dst, src)
func (m *BucketList) XXX_Merge(src proto.Message) {
xxx_messageInfo_BucketList.Merge(m, src)
}
func (m *BucketList) XXX_Size() int {
return xxx_messageInfo_BucketList.Size(m)
@ -668,7 +667,7 @@ func (m *PingNodeRequest) Reset() { *m = PingNodeRequest{} }
func (m *PingNodeRequest) String() string { return proto.CompactTextString(m) }
func (*PingNodeRequest) ProtoMessage() {}
func (*PingNodeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{15}
return fileDescriptor_a07d9034b2dd9d26, []int{15}
}
func (m *PingNodeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PingNodeRequest.Unmarshal(m, b)
@ -676,8 +675,8 @@ func (m *PingNodeRequest) XXX_Unmarshal(b []byte) error {
func (m *PingNodeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PingNodeRequest.Marshal(b, m, deterministic)
}
func (dst *PingNodeRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_PingNodeRequest.Merge(dst, src)
func (m *PingNodeRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_PingNodeRequest.Merge(m, src)
}
func (m *PingNodeRequest) XXX_Size() int {
return xxx_messageInfo_PingNodeRequest.Size(m)
@ -706,7 +705,7 @@ func (m *PingNodeResponse) Reset() { *m = PingNodeResponse{} }
func (m *PingNodeResponse) String() string { return proto.CompactTextString(m) }
func (*PingNodeResponse) ProtoMessage() {}
func (*PingNodeResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{16}
return fileDescriptor_a07d9034b2dd9d26, []int{16}
}
func (m *PingNodeResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PingNodeResponse.Unmarshal(m, b)
@ -714,8 +713,8 @@ func (m *PingNodeResponse) XXX_Unmarshal(b []byte) error {
func (m *PingNodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PingNodeResponse.Marshal(b, m, deterministic)
}
func (dst *PingNodeResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_PingNodeResponse.Merge(dst, src)
func (m *PingNodeResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_PingNodeResponse.Merge(m, src)
}
func (m *PingNodeResponse) XXX_Size() int {
return xxx_messageInfo_PingNodeResponse.Size(m)
@ -745,7 +744,7 @@ func (m *LookupNodeRequest) Reset() { *m = LookupNodeRequest{} }
func (m *LookupNodeRequest) String() string { return proto.CompactTextString(m) }
func (*LookupNodeRequest) ProtoMessage() {}
func (*LookupNodeRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{17}
return fileDescriptor_a07d9034b2dd9d26, []int{17}
}
func (m *LookupNodeRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupNodeRequest.Unmarshal(m, b)
@ -753,8 +752,8 @@ func (m *LookupNodeRequest) XXX_Unmarshal(b []byte) error {
func (m *LookupNodeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LookupNodeRequest.Marshal(b, m, deterministic)
}
func (dst *LookupNodeRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupNodeRequest.Merge(dst, src)
func (m *LookupNodeRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupNodeRequest.Merge(m, src)
}
func (m *LookupNodeRequest) XXX_Size() int {
return xxx_messageInfo_LookupNodeRequest.Size(m)
@ -791,7 +790,7 @@ func (m *LookupNodeResponse) Reset() { *m = LookupNodeResponse{} }
func (m *LookupNodeResponse) String() string { return proto.CompactTextString(m) }
func (*LookupNodeResponse) ProtoMessage() {}
func (*LookupNodeResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{18}
return fileDescriptor_a07d9034b2dd9d26, []int{18}
}
func (m *LookupNodeResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LookupNodeResponse.Unmarshal(m, b)
@ -799,8 +798,8 @@ func (m *LookupNodeResponse) XXX_Unmarshal(b []byte) error {
func (m *LookupNodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LookupNodeResponse.Marshal(b, m, deterministic)
}
func (dst *LookupNodeResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupNodeResponse.Merge(dst, src)
func (m *LookupNodeResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_LookupNodeResponse.Merge(m, src)
}
func (m *LookupNodeResponse) XXX_Size() int {
return xxx_messageInfo_LookupNodeResponse.Size(m)
@ -837,7 +836,7 @@ func (m *NodeInfoRequest) Reset() { *m = NodeInfoRequest{} }
func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NodeInfoRequest) ProtoMessage() {}
func (*NodeInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{19}
return fileDescriptor_a07d9034b2dd9d26, []int{19}
}
func (m *NodeInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeInfoRequest.Unmarshal(m, b)
@ -845,8 +844,8 @@ func (m *NodeInfoRequest) XXX_Unmarshal(b []byte) error {
func (m *NodeInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NodeInfoRequest.Marshal(b, m, deterministic)
}
func (dst *NodeInfoRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeInfoRequest.Merge(dst, src)
func (m *NodeInfoRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeInfoRequest.Merge(m, src)
}
func (m *NodeInfoRequest) XXX_Size() int {
return xxx_messageInfo_NodeInfoRequest.Size(m)
@ -877,7 +876,7 @@ func (m *NodeInfoResponse) Reset() { *m = NodeInfoResponse{} }
func (m *NodeInfoResponse) String() string { return proto.CompactTextString(m) }
func (*NodeInfoResponse) ProtoMessage() {}
func (*NodeInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{20}
return fileDescriptor_a07d9034b2dd9d26, []int{20}
}
func (m *NodeInfoResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeInfoResponse.Unmarshal(m, b)
@ -885,8 +884,8 @@ func (m *NodeInfoResponse) XXX_Unmarshal(b []byte) error {
func (m *NodeInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NodeInfoResponse.Marshal(b, m, deterministic)
}
func (dst *NodeInfoResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeInfoResponse.Merge(dst, src)
func (m *NodeInfoResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_NodeInfoResponse.Merge(m, src)
}
func (m *NodeInfoResponse) XXX_Size() int {
return xxx_messageInfo_NodeInfoResponse.Size(m)
@ -931,7 +930,7 @@ func (m *FindNearRequest) Reset() { *m = FindNearRequest{} }
func (m *FindNearRequest) String() string { return proto.CompactTextString(m) }
func (*FindNearRequest) ProtoMessage() {}
func (*FindNearRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{21}
return fileDescriptor_a07d9034b2dd9d26, []int{21}
}
func (m *FindNearRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FindNearRequest.Unmarshal(m, b)
@ -939,8 +938,8 @@ func (m *FindNearRequest) XXX_Unmarshal(b []byte) error {
func (m *FindNearRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FindNearRequest.Marshal(b, m, deterministic)
}
func (dst *FindNearRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_FindNearRequest.Merge(dst, src)
func (m *FindNearRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_FindNearRequest.Merge(m, src)
}
func (m *FindNearRequest) XXX_Size() int {
return xxx_messageInfo_FindNearRequest.Size(m)
@ -969,7 +968,7 @@ func (m *FindNearResponse) Reset() { *m = FindNearResponse{} }
func (m *FindNearResponse) String() string { return proto.CompactTextString(m) }
func (*FindNearResponse) ProtoMessage() {}
func (*FindNearResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{22}
return fileDescriptor_a07d9034b2dd9d26, []int{22}
}
func (m *FindNearResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FindNearResponse.Unmarshal(m, b)
@ -977,8 +976,8 @@ func (m *FindNearResponse) XXX_Unmarshal(b []byte) error {
func (m *FindNearResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FindNearResponse.Marshal(b, m, deterministic)
}
func (dst *FindNearResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_FindNearResponse.Merge(dst, src)
func (m *FindNearResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_FindNearResponse.Merge(m, src)
}
func (m *FindNearResponse) XXX_Size() int {
return xxx_messageInfo_FindNearResponse.Size(m)
@ -1006,7 +1005,7 @@ func (m *DumpNodesRequest) Reset() { *m = DumpNodesRequest{} }
func (m *DumpNodesRequest) String() string { return proto.CompactTextString(m) }
func (*DumpNodesRequest) ProtoMessage() {}
func (*DumpNodesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{23}
return fileDescriptor_a07d9034b2dd9d26, []int{23}
}
func (m *DumpNodesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DumpNodesRequest.Unmarshal(m, b)
@ -1014,8 +1013,8 @@ func (m *DumpNodesRequest) XXX_Unmarshal(b []byte) error {
func (m *DumpNodesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DumpNodesRequest.Marshal(b, m, deterministic)
}
func (dst *DumpNodesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DumpNodesRequest.Merge(dst, src)
func (m *DumpNodesRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DumpNodesRequest.Merge(m, src)
}
func (m *DumpNodesRequest) XXX_Size() int {
return xxx_messageInfo_DumpNodesRequest.Size(m)
@ -1037,7 +1036,7 @@ func (m *DumpNodesResponse) Reset() { *m = DumpNodesResponse{} }
func (m *DumpNodesResponse) String() string { return proto.CompactTextString(m) }
func (*DumpNodesResponse) ProtoMessage() {}
func (*DumpNodesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{24}
return fileDescriptor_a07d9034b2dd9d26, []int{24}
}
func (m *DumpNodesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DumpNodesResponse.Unmarshal(m, b)
@ -1045,8 +1044,8 @@ func (m *DumpNodesResponse) XXX_Unmarshal(b []byte) error {
func (m *DumpNodesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DumpNodesResponse.Marshal(b, m, deterministic)
}
func (dst *DumpNodesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_DumpNodesResponse.Merge(dst, src)
func (m *DumpNodesResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_DumpNodesResponse.Merge(m, src)
}
func (m *DumpNodesResponse) XXX_Size() int {
return xxx_messageInfo_DumpNodesResponse.Size(m)
@ -1074,7 +1073,7 @@ func (m *StatsRequest) Reset() { *m = StatsRequest{} }
func (m *StatsRequest) String() string { return proto.CompactTextString(m) }
func (*StatsRequest) ProtoMessage() {}
func (*StatsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{25}
return fileDescriptor_a07d9034b2dd9d26, []int{25}
}
func (m *StatsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StatsRequest.Unmarshal(m, b)
@ -1082,8 +1081,8 @@ func (m *StatsRequest) XXX_Unmarshal(b []byte) error {
func (m *StatsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StatsRequest.Marshal(b, m, deterministic)
}
func (dst *StatsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_StatsRequest.Merge(dst, src)
func (m *StatsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_StatsRequest.Merge(m, src)
}
func (m *StatsRequest) XXX_Size() int {
return xxx_messageInfo_StatsRequest.Size(m)
@ -1097,8 +1096,10 @@ var xxx_messageInfo_StatsRequest proto.InternalMessageInfo
type StatSummaryResponse struct {
UsedSpace int64 `protobuf:"varint,1,opt,name=used_space,json=usedSpace,proto3" json:"used_space,omitempty"`
AvailableSpace int64 `protobuf:"varint,2,opt,name=available_space,json=availableSpace,proto3" json:"available_space,omitempty"`
UsedBandwidth int64 `protobuf:"varint,3,opt,name=used_bandwidth,json=usedBandwidth,proto3" json:"used_bandwidth,omitempty"`
AvailableBandwidth int64 `protobuf:"varint,4,opt,name=available_bandwidth,json=availableBandwidth,proto3" json:"available_bandwidth,omitempty"`
UsedIngress int64 `protobuf:"varint,3,opt,name=used_ingress,json=usedIngress,proto3" json:"used_ingress,omitempty"`
UsedEgress int64 `protobuf:"varint,4,opt,name=used_egress,json=usedEgress,proto3" json:"used_egress,omitempty"`
UsedBandwidth int64 `protobuf:"varint,5,opt,name=used_bandwidth,json=usedBandwidth,proto3" json:"used_bandwidth,omitempty"`
AvailableBandwidth int64 `protobuf:"varint,6,opt,name=available_bandwidth,json=availableBandwidth,proto3" json:"available_bandwidth,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1108,7 +1109,7 @@ func (m *StatSummaryResponse) Reset() { *m = StatSummaryResponse{} }
func (m *StatSummaryResponse) String() string { return proto.CompactTextString(m) }
func (*StatSummaryResponse) ProtoMessage() {}
func (*StatSummaryResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{26}
return fileDescriptor_a07d9034b2dd9d26, []int{26}
}
func (m *StatSummaryResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StatSummaryResponse.Unmarshal(m, b)
@ -1116,8 +1117,8 @@ func (m *StatSummaryResponse) XXX_Unmarshal(b []byte) error {
func (m *StatSummaryResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_StatSummaryResponse.Marshal(b, m, deterministic)
}
func (dst *StatSummaryResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_StatSummaryResponse.Merge(dst, src)
func (m *StatSummaryResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_StatSummaryResponse.Merge(m, src)
}
func (m *StatSummaryResponse) XXX_Size() int {
return xxx_messageInfo_StatSummaryResponse.Size(m)
@ -1142,6 +1143,20 @@ func (m *StatSummaryResponse) GetAvailableSpace() int64 {
return 0
}
func (m *StatSummaryResponse) GetUsedIngress() int64 {
if m != nil {
return m.UsedIngress
}
return 0
}
func (m *StatSummaryResponse) GetUsedEgress() int64 {
if m != nil {
return m.UsedEgress
}
return 0
}
func (m *StatSummaryResponse) GetUsedBandwidth() int64 {
if m != nil {
return m.UsedBandwidth
@ -1166,7 +1181,7 @@ func (m *DashboardRequest) Reset() { *m = DashboardRequest{} }
func (m *DashboardRequest) String() string { return proto.CompactTextString(m) }
func (*DashboardRequest) ProtoMessage() {}
func (*DashboardRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{27}
return fileDescriptor_a07d9034b2dd9d26, []int{27}
}
func (m *DashboardRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DashboardRequest.Unmarshal(m, b)
@ -1174,8 +1189,8 @@ func (m *DashboardRequest) XXX_Unmarshal(b []byte) error {
func (m *DashboardRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DashboardRequest.Marshal(b, m, deterministic)
}
func (dst *DashboardRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DashboardRequest.Merge(dst, src)
func (m *DashboardRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DashboardRequest.Merge(m, src)
}
func (m *DashboardRequest) XXX_Size() int {
return xxx_messageInfo_DashboardRequest.Size(m)
@ -1205,7 +1220,7 @@ func (m *DashboardResponse) Reset() { *m = DashboardResponse{} }
func (m *DashboardResponse) String() string { return proto.CompactTextString(m) }
func (*DashboardResponse) ProtoMessage() {}
func (*DashboardResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_inspector_45ee97368410b6b6, []int{28}
return fileDescriptor_a07d9034b2dd9d26, []int{28}
}
func (m *DashboardResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DashboardResponse.Unmarshal(m, b)
@ -1213,8 +1228,8 @@ func (m *DashboardResponse) XXX_Unmarshal(b []byte) error {
func (m *DashboardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DashboardResponse.Marshal(b, m, deterministic)
}
func (dst *DashboardResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_DashboardResponse.Merge(dst, src)
func (m *DashboardResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_DashboardResponse.Merge(m, src)
}
func (m *DashboardResponse) XXX_Size() int {
return xxx_messageInfo_DashboardResponse.Size(m)
@ -1313,6 +1328,98 @@ func init() {
proto.RegisterType((*DashboardResponse)(nil), "inspector.DashboardResponse")
}
func init() { proto.RegisterFile("inspector.proto", fileDescriptor_a07d9034b2dd9d26) }
var fileDescriptor_a07d9034b2dd9d26 = []byte{
// 1370 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcb, 0x72, 0x1b, 0x45,
0x14, 0xcd, 0xe8, 0x15, 0xe9, 0xca, 0xd1, 0xa3, 0x65, 0x88, 0x10, 0x89, 0x6d, 0xa6, 0x80, 0x38,
0x49, 0x95, 0x12, 0x44, 0x58, 0x04, 0x2a, 0x8b, 0x58, 0x26, 0x89, 0x2a, 0x21, 0x31, 0xe3, 0xb0,
0xa1, 0x52, 0xa8, 0x5a, 0x9a, 0xb6, 0x32, 0x65, 0x69, 0x7a, 0x32, 0xdd, 0x0a, 0xf8, 0x0f, 0xf8,
0x02, 0x16, 0x6c, 0xf9, 0x09, 0xaa, 0xf8, 0x01, 0x76, 0xec, 0x59, 0x64, 0x43, 0x15, 0xff, 0xc0,
0x8e, 0xea, 0xdb, 0x3d, 0x2f, 0x8d, 0x85, 0x5d, 0x14, 0xec, 0x34, 0xe7, 0x9e, 0x3e, 0x7d, 0xef,
0xed, 0xee, 0xd3, 0x2d, 0x68, 0x7a, 0xbe, 0x08, 0xd8, 0x54, 0xf2, 0xb0, 0x1f, 0x84, 0x5c, 0x72,
0x52, 0x8b, 0x81, 0x1e, 0xcc, 0xf8, 0x8c, 0x6b, 0xb8, 0x07, 0x3e, 0x77, 0x99, 0xf9, 0xdd, 0x0c,
0xb8, 0xe7, 0x4b, 0x16, 0xba, 0x13, 0x03, 0x6c, 0xcd, 0x38, 0x9f, 0xcd, 0xd9, 0x2d, 0xfc, 0x9a,
0x2c, 0x8f, 0x6e, 0xb9, 0xcb, 0x90, 0x4a, 0x8f, 0xfb, 0x26, 0xbe, 0xbd, 0x1a, 0x97, 0xde, 0x82,
0x09, 0x49, 0x17, 0x81, 0x26, 0xd8, 0x4f, 0x61, 0xeb, 0x89, 0x27, 0xe4, 0x28, 0x0c, 0x59, 0x40,
0x43, 0x3a, 0x99, 0xb3, 0x43, 0x36, 0x5b, 0x30, 0x5f, 0x0a, 0x87, 0xbd, 0x5a, 0x32, 0x21, 0xc9,
0x26, 0x94, 0xe7, 0xde, 0xc2, 0x93, 0x5d, 0x6b, 0xc7, 0xda, 0x2d, 0x3b, 0xfa, 0x83, 0xbc, 0x0d,
0x15, 0x7e, 0x74, 0x24, 0x98, 0xec, 0x16, 0x10, 0x36, 0x5f, 0xf6, 0x9f, 0x16, 0x90, 0xbc, 0x18,
0x21, 0x50, 0x0a, 0xa8, 0x7c, 0x89, 0x1a, 0x1b, 0x0e, 0xfe, 0x26, 0x77, 0xa1, 0x21, 0x74, 0x78,
0xec, 0x32, 0x49, 0xbd, 0x39, 0x4a, 0xd5, 0x07, 0xa4, 0x9f, 0x54, 0x79, 0xa0, 0x7f, 0x39, 0x97,
0x0c, 0x73, 0x1f, 0x89, 0x64, 0x1b, 0xea, 0x73, 0x2e, 0xe4, 0x38, 0xf0, 0xd8, 0x94, 0x89, 0x6e,
0x11, 0x53, 0x00, 0x05, 0x1d, 0x20, 0x42, 0xfa, 0xd0, 0x99, 0x53, 0x21, 0xc7, 0x2a, 0x11, 0x2f,
0x1c, 0x53, 0x29, 0xd9, 0x22, 0x90, 0xdd, 0xd2, 0x8e, 0xb5, 0x5b, 0x74, 0xda, 0x2a, 0xe4, 0x60,
0xe4, 0xbe, 0x0e, 0x90, 0xdb, 0xb0, 0x99, 0xa5, 0x8e, 0xa7, 0x7c, 0xe9, 0xcb, 0x6e, 0x19, 0x07,
0x90, 0x30, 0x4d, 0x1e, 0xaa, 0x88, 0xfd, 0x02, 0xb6, 0xd7, 0x36, 0x4e, 0x04, 0xdc, 0x17, 0x8c,
0xdc, 0x85, 0xaa, 0x49, 0x5b, 0x74, 0xad, 0x9d, 0xe2, 0x6e, 0x7d, 0x70, 0xb5, 0x9f, 0x2c, 0x7a,
0x7e, 0xa4, 0x13, 0xd3, 0xed, 0x4f, 0xa1, 0xf9, 0x90, 0xc9, 0x43, 0x49, 0x93, 0x75, 0xb8, 0x06,
0x17, 0xd5, 0x4e, 0x18, 0x7b, 0xae, 0xee, 0xe2, 0x5e, 0xe3, 0xd7, 0x37, 0xdb, 0x17, 0x7e, 0x7f,
0xb3, 0x5d, 0x79, 0xca, 0x5d, 0x36, 0xda, 0x77, 0x2a, 0x2a, 0x3c, 0x72, 0xed, 0x1f, 0x2d, 0x68,
0x25, 0x83, 0x4d, 0x2e, 0xdb, 0x50, 0xa7, 0x4b, 0xd7, 0x8b, 0xea, 0xb2, 0xb0, 0x2e, 0x40, 0x08,
0xeb, 0x49, 0x08, 0xb8, 0x7f, 0x70, 0x29, 0x2c, 0x43, 0x70, 0x14, 0x42, 0xde, 0x83, 0x8d, 0x65,
0xa0, 0xb6, 0x8f, 0x91, 0x28, 0xa2, 0x44, 0x5d, 0x63, 0x5a, 0x23, 0xa1, 0x68, 0x91, 0x12, 0x8a,
0x18, 0x0a, 0xaa, 0xd8, 0x7f, 0x58, 0x40, 0x86, 0x21, 0xa3, 0x92, 0xfd, 0xab, 0xe2, 0x56, 0xeb,
0x28, 0xe4, 0xea, 0xe8, 0x43, 0x47, 0x13, 0xc4, 0x72, 0x3a, 0x65, 0x42, 0x64, 0xb2, 0x6d, 0x63,
0xe8, 0x50, 0x47, 0x56, 0x73, 0xd6, 0xc4, 0x52, 0xbe, 0xac, 0xdb, 0xb0, 0x69, 0x28, 0x59, 0x4d,
0xb3, 0x39, 0x74, 0x2c, 0x2d, 0x6a, 0xbf, 0x05, 0x9d, 0x4c, 0x91, 0x7a, 0x11, 0xec, 0x1b, 0x40,
0x30, 0xae, 0x6a, 0x4a, 0x96, 0x66, 0x13, 0xca, 0xe9, 0x45, 0xd1, 0x1f, 0x76, 0x07, 0xda, 0x69,
0x2e, 0xb6, 0x49, 0x81, 0x0f, 0x99, 0xdc, 0x5b, 0x4e, 0x8f, 0x59, 0xdc, 0x3b, 0xfb, 0x11, 0x90,
0x34, 0x98, 0xa8, 0x4a, 0x2e, 0xe9, 0x3c, 0x52, 0xc5, 0x0f, 0x72, 0x05, 0x8a, 0x9e, 0x2b, 0xba,
0x85, 0x9d, 0xe2, 0xee, 0xc6, 0x1e, 0xa4, 0xfa, 0xab, 0x60, 0x7b, 0x80, 0x1b, 0x47, 0x2b, 0x45,
0x2b, 0xb3, 0x05, 0x85, 0xb5, 0x8b, 0x52, 0xf0, 0x5c, 0xfb, 0xab, 0x54, 0x4a, 0xf1, 0xe4, 0x67,
0x0c, 0x22, 0x3b, 0x50, 0x56, 0xeb, 0xa9, 0x13, 0xa9, 0x0f, 0xa0, 0x8f, 0x1e, 0xa7, 0x08, 0x8e,
0x0e, 0xd8, 0x37, 0xa0, 0xa2, 0x35, 0xcf, 0xc1, 0xed, 0x03, 0x68, 0xae, 0x3a, 0x90, 0x09, 0xdf,
0x5a, 0xc7, 0x7f, 0x0c, 0xcd, 0x03, 0xcf, 0x9f, 0x21, 0x74, 0xbe, 0x2a, 0x49, 0x17, 0x2e, 0x52,
0xd7, 0x0d, 0x99, 0x10, 0xb8, 0xe5, 0x6a, 0x4e, 0xf4, 0x69, 0xdb, 0xd0, 0x4a, 0xc4, 0x4c, 0xf9,
0x0d, 0x28, 0xf0, 0x63, 0x54, 0xab, 0x3a, 0x05, 0x7e, 0x6c, 0xdf, 0x83, 0xf6, 0x13, 0xce, 0x8f,
0x97, 0x41, 0x7a, 0xca, 0x46, 0x3c, 0x65, 0xed, 0x8c, 0x29, 0x5e, 0x00, 0x49, 0x0f, 0x8f, 0x7b,
0x5c, 0x52, 0xe5, 0xa0, 0x42, 0xb6, 0x4c, 0xc4, 0xc9, 0x87, 0x50, 0x5a, 0x30, 0x49, 0x63, 0x53,
0x8d, 0xe3, 0x5f, 0x30, 0x49, 0x5d, 0x2a, 0xa9, 0x83, 0x71, 0xfb, 0x1b, 0x68, 0x62, 0xa1, 0xfe,
0x11, 0x3f, 0x6f, 0x37, 0x6e, 0x66, 0x53, 0xad, 0x0f, 0xda, 0x89, 0xfa, 0x7d, 0x1d, 0x48, 0xb2,
0xff, 0xc1, 0x82, 0x56, 0x32, 0x81, 0x49, 0xde, 0x86, 0x92, 0x3c, 0x09, 0x74, 0xf2, 0x8d, 0x41,
0x23, 0x19, 0xfe, 0xfc, 0x24, 0x60, 0x0e, 0xc6, 0x48, 0x1f, 0xaa, 0x3c, 0x60, 0x21, 0x95, 0x3c,
0xcc, 0x17, 0xf1, 0xcc, 0x44, 0x9c, 0x98, 0xa3, 0xf8, 0x53, 0x1a, 0xd0, 0xa9, 0x27, 0x4f, 0xf0,
0xb8, 0x67, 0xf8, 0x43, 0x13, 0x71, 0x62, 0x8e, 0xbd, 0x80, 0xe6, 0x03, 0xcf, 0x77, 0x9f, 0x32,
0x1a, 0x9e, 0xb7, 0xf0, 0xf7, 0xa1, 0x2c, 0x24, 0x0d, 0xb5, 0xef, 0xe4, 0x29, 0x3a, 0x98, 0xdc,
0x98, 0xda, 0x74, 0xf4, 0x87, 0x7d, 0x07, 0x5a, 0xc9, 0x74, 0xa6, 0x0d, 0x67, 0xef, 0x6d, 0x02,
0xad, 0xfd, 0xe5, 0x22, 0xc8, 0xb8, 0xc0, 0x27, 0xd0, 0x4e, 0x61, 0xab, 0x52, 0x6b, 0xb7, 0x7d,
0x03, 0x36, 0xd2, 0x9e, 0x6b, 0xff, 0x65, 0x41, 0x47, 0x01, 0x87, 0xcb, 0xc5, 0x82, 0x86, 0x27,
0xb1, 0xd2, 0x55, 0x80, 0xa5, 0x60, 0xee, 0x58, 0x04, 0x74, 0xca, 0x8c, 0x7d, 0xd4, 0x14, 0x72,
0xa8, 0x00, 0x72, 0x0d, 0x9a, 0xf4, 0x35, 0xf5, 0xe6, 0xea, 0xe2, 0x32, 0x1c, 0xed, 0xc2, 0x8d,
0x18, 0xd6, 0x44, 0xe5, 0xac, 0x4a, 0xc7, 0xf3, 0x67, 0xb8, 0x55, 0xa2, 0x0b, 0x43, 0x30, 0x77,
0xa4, 0x21, 0xe5, 0xe6, 0x48, 0x61, 0x9a, 0xa1, 0xbd, 0x17, 0x67, 0xff, 0x5c, 0x13, 0x3e, 0x80,
0x06, 0x12, 0x26, 0xd4, 0x77, 0xbf, 0xf5, 0x5c, 0xf9, 0xd2, 0x98, 0xee, 0x25, 0x85, 0xee, 0x45,
0x20, 0xb9, 0x05, 0x9d, 0x24, 0xa7, 0x84, 0x5b, 0xd1, 0x06, 0x1d, 0x87, 0xe2, 0x01, 0xd8, 0x56,
0x2a, 0x5e, 0x4e, 0x38, 0x0d, 0xdd, 0xa8, 0x1f, 0xbf, 0x15, 0xa1, 0x9d, 0x02, 0x4d, 0x37, 0xce,
0x7d, 0x33, 0x5d, 0x87, 0x16, 0x12, 0xa7, 0xdc, 0xf7, 0xd9, 0x54, 0xbd, 0xc1, 0x84, 0x69, 0x4c,
0x53, 0xe1, 0xc3, 0x04, 0x26, 0x37, 0xa1, 0x3d, 0xe1, 0x5c, 0x0a, 0x19, 0xd2, 0x60, 0x1c, 0x9d,
0xa4, 0x22, 0x1e, 0xfa, 0x56, 0x1c, 0x30, 0x07, 0x49, 0xe9, 0xe2, 0x1b, 0xc8, 0xa7, 0xf3, 0x98,
0x5b, 0x42, 0x6e, 0x33, 0xc2, 0x53, 0x54, 0xf6, 0xdd, 0x0a, 0xb5, 0xac, 0xa9, 0x11, 0x1e, 0x51,
0xef, 0xe0, 0x4e, 0x96, 0x02, 0x7b, 0x54, 0x1f, 0x6c, 0xa5, 0x1e, 0x26, 0xa7, 0xec, 0x09, 0x47,
0x93, 0xc9, 0x47, 0x50, 0xd1, 0xb7, 0x5d, 0xf7, 0x22, 0x0e, 0x7b, 0xa7, 0xaf, 0xdf, 0x97, 0xfd,
0xe8, 0x7d, 0xd9, 0xdf, 0x37, 0xef, 0x4f, 0xc7, 0x10, 0xc9, 0x67, 0x50, 0xc7, 0x97, 0x58, 0xe0,
0xf9, 0x33, 0xe6, 0x76, 0xab, 0x38, 0xae, 0x97, 0x1b, 0xf7, 0x3c, 0x7a, 0x97, 0x3a, 0xa0, 0xe8,
0x07, 0xc8, 0x26, 0xf7, 0x60, 0x03, 0x07, 0xbf, 0x5a, 0xb2, 0xd0, 0x63, 0x6e, 0xb7, 0x76, 0xe6,
0x68, 0x9c, 0xec, 0x4b, 0x4d, 0x1f, 0xfc, 0x52, 0x84, 0x8d, 0xc7, 0xd4, 0x1d, 0x45, 0xa5, 0x91,
0x11, 0x40, 0x72, 0xa9, 0x92, 0x2b, 0xa9, 0xa2, 0x73, 0x77, 0x6d, 0xef, 0xea, 0x9a, 0xa8, 0xd9,
0x17, 0x43, 0xa8, 0x46, 0xbe, 0x4f, 0x7a, 0x29, 0xea, 0xca, 0xcd, 0xd2, 0x7b, 0xf7, 0xd4, 0x98,
0x11, 0x19, 0x01, 0x24, 0xce, 0x9e, 0xc9, 0x27, 0x77, 0x5f, 0x64, 0xf2, 0x39, 0xe5, 0x3a, 0x18,
0x42, 0x35, 0x72, 0xd9, 0x4c, 0x3e, 0x2b, 0xde, 0x9e, 0xc9, 0x27, 0x67, 0xcb, 0x43, 0xa8, 0x46,
0x1e, 0x95, 0x11, 0x59, 0xf1, 0xc9, 0x8c, 0x48, 0xce, 0xd4, 0x1e, 0x40, 0x2d, 0xb6, 0x27, 0x92,
0x66, 0xae, 0x1a, 0x59, 0xef, 0xca, 0xe9, 0x41, 0xad, 0x33, 0xf8, 0xb9, 0x00, 0xad, 0x67, 0xaf,
0x59, 0x38, 0xa7, 0x27, 0xff, 0xcb, 0x0a, 0xfe, 0x47, 0x79, 0xaa, 0xa6, 0x45, 0xcf, 0xed, 0x4c,
0xd3, 0x56, 0x1e, 0xf0, 0x99, 0xa6, 0xe5, 0xde, 0xe7, 0x4f, 0xa0, 0x9e, 0x7a, 0x31, 0x92, 0x4c,
0xea, 0xb9, 0xe7, 0x72, 0x6f, 0x6b, 0x5d, 0xd8, 0xb4, 0xee, 0x27, 0x0b, 0x3a, 0xf8, 0x4f, 0xe8,
0x50, 0xf2, 0x90, 0x25, 0xdd, 0xdb, 0x83, 0xb2, 0xd6, 0xbf, 0xbc, 0x72, 0xde, 0x4f, 0x55, 0x3e,
0xc5, 0x08, 0xec, 0x0b, 0xe4, 0x11, 0xd4, 0x62, 0x97, 0xcc, 0xb6, 0x6d, 0xc5, 0x50, 0xb3, 0x6d,
0x5b, 0x35, 0x56, 0xfb, 0xc2, 0xe0, 0x7b, 0x0b, 0x36, 0x53, 0xff, 0x82, 0x92, 0x34, 0x03, 0xb8,
0xbc, 0xe6, 0xbf, 0x15, 0xb9, 0x9e, 0x3e, 0x05, 0xff, 0xf8, 0xc7, 0xb5, 0x77, 0xe3, 0x3c, 0x54,
0x9d, 0xcc, 0x5e, 0xe9, 0xeb, 0x42, 0x30, 0x99, 0x54, 0xd0, 0x50, 0x3e, 0xfe, 0x3b, 0x00, 0x00,
0xff, 0xff, 0xe0, 0xc7, 0x2f, 0x50, 0x9b, 0x0f, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
@ -1899,93 +2006,3 @@ var _IrreparableInspector_serviceDesc = grpc.ServiceDesc{
Streams: []grpc.StreamDesc{},
Metadata: "inspector.proto",
}
func init() { proto.RegisterFile("inspector.proto", fileDescriptor_inspector_45ee97368410b6b6) }
var fileDescriptor_inspector_45ee97368410b6b6 = []byte{
// 1342 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcb, 0x8e, 0x1b, 0x45,
0x17, 0x4e, 0xfb, 0x16, 0xfb, 0x78, 0xe2, 0x4b, 0x79, 0xfe, 0x3f, 0x8d, 0x49, 0x66, 0x86, 0x16,
0x90, 0x49, 0x22, 0x39, 0xc1, 0x84, 0x45, 0x40, 0x59, 0x64, 0x3c, 0x4a, 0x32, 0x4a, 0x48, 0x86,
0x76, 0xd8, 0xa0, 0x08, 0xab, 0xec, 0xae, 0xf1, 0xb4, 0xc6, 0xee, 0xea, 0x74, 0x55, 0x07, 0xe6,
0x0d, 0x78, 0x02, 0x16, 0x6c, 0x79, 0x06, 0x24, 0x24, 0x5e, 0x80, 0x1d, 0x7b, 0x16, 0xd9, 0x20,
0xf1, 0x1c, 0xa8, 0x2e, 0x7d, 0xb7, 0x19, 0x0b, 0xc1, 0xae, 0xeb, 0x9c, 0xaf, 0xbe, 0x3a, 0xe7,
0x54, 0xd5, 0x57, 0xa7, 0xa1, 0xed, 0x7a, 0xcc, 0x27, 0x33, 0x4e, 0x83, 0x81, 0x1f, 0x50, 0x4e,
0x51, 0x23, 0x36, 0xf4, 0x61, 0x4e, 0xe7, 0x54, 0x99, 0xfb, 0xe0, 0x51, 0x87, 0xe8, 0xef, 0xb6,
0x4f, 0x5d, 0x8f, 0x93, 0xc0, 0x99, 0x6a, 0xc3, 0xce, 0x9c, 0xd2, 0xf9, 0x82, 0xdc, 0x91, 0xa3,
0x69, 0x78, 0x72, 0xc7, 0x09, 0x03, 0xcc, 0x5d, 0xea, 0x69, 0xff, 0x6e, 0xde, 0xcf, 0xdd, 0x25,
0x61, 0x1c, 0x2f, 0x7d, 0x05, 0xb0, 0x9e, 0xc3, 0xce, 0x33, 0x97, 0xf1, 0xa3, 0x20, 0x20, 0x3e,
0x0e, 0xf0, 0x74, 0x41, 0xc6, 0x64, 0xbe, 0x24, 0x1e, 0x67, 0x36, 0x79, 0x1d, 0x12, 0xc6, 0xd1,
0x36, 0x54, 0x17, 0xee, 0xd2, 0xe5, 0xa6, 0xb1, 0x67, 0xec, 0x57, 0x6d, 0x35, 0x40, 0xff, 0x87,
0x1a, 0x3d, 0x39, 0x61, 0x84, 0x9b, 0x25, 0x69, 0xd6, 0x23, 0xeb, 0x4f, 0x03, 0x50, 0x91, 0x0c,
0x21, 0xa8, 0xf8, 0x98, 0x9f, 0x4a, 0x8e, 0x2d, 0x5b, 0x7e, 0xa3, 0xfb, 0xd0, 0x62, 0xca, 0x3d,
0x71, 0x08, 0xc7, 0xee, 0x42, 0x52, 0x35, 0x87, 0x68, 0x90, 0x64, 0x79, 0xac, 0xbe, 0xec, 0x2b,
0x1a, 0x79, 0x28, 0x81, 0x68, 0x17, 0x9a, 0x0b, 0xca, 0xf8, 0xc4, 0x77, 0xc9, 0x8c, 0x30, 0xb3,
0x2c, 0x43, 0x00, 0x61, 0x3a, 0x96, 0x16, 0x34, 0x80, 0xde, 0x02, 0x33, 0x3e, 0x11, 0x81, 0xb8,
0xc1, 0x04, 0x73, 0x4e, 0x96, 0x3e, 0x37, 0x2b, 0x7b, 0xc6, 0x7e, 0xd9, 0xee, 0x0a, 0x97, 0x2d,
0x3d, 0x0f, 0x95, 0x03, 0xdd, 0x85, 0xed, 0x2c, 0x74, 0x32, 0xa3, 0xa1, 0xc7, 0xcd, 0xaa, 0x9c,
0x80, 0x82, 0x34, 0x78, 0x24, 0x3c, 0xd6, 0x2b, 0xd8, 0x5d, 0x5b, 0x38, 0xe6, 0x53, 0x8f, 0x11,
0x74, 0x1f, 0xea, 0x3a, 0x6c, 0x66, 0x1a, 0x7b, 0xe5, 0xfd, 0xe6, 0xf0, 0xfa, 0x20, 0xd9, 0xf4,
0xe2, 0x4c, 0x3b, 0x86, 0x5b, 0x9f, 0x42, 0xfb, 0x31, 0xe1, 0x63, 0x8e, 0x93, 0x7d, 0xb8, 0x01,
0x97, 0xc5, 0x49, 0x98, 0xb8, 0x8e, 0xaa, 0xe2, 0x41, 0xeb, 0xd7, 0xb7, 0xbb, 0x97, 0x7e, 0x7f,
0xbb, 0x5b, 0x7b, 0x4e, 0x1d, 0x72, 0x74, 0x68, 0xd7, 0x84, 0xfb, 0xc8, 0xb1, 0x7e, 0x30, 0xa0,
0x93, 0x4c, 0xd6, 0xb1, 0xec, 0x42, 0x13, 0x87, 0x8e, 0x1b, 0xe5, 0x65, 0xc8, 0xbc, 0x40, 0x9a,
0x64, 0x3e, 0x09, 0x40, 0x9e, 0x1f, 0xb9, 0x15, 0x86, 0x06, 0xd8, 0xc2, 0x82, 0xde, 0x83, 0xad,
0xd0, 0x17, 0xc7, 0x47, 0x53, 0x94, 0x25, 0x45, 0x53, 0xd9, 0x14, 0x47, 0x02, 0x51, 0x24, 0x15,
0x49, 0xa2, 0x21, 0x92, 0xc5, 0xfa, 0xc3, 0x00, 0x34, 0x0a, 0x08, 0xe6, 0xe4, 0x1f, 0x25, 0x97,
0xcf, 0xa3, 0x54, 0xc8, 0x63, 0x00, 0x3d, 0x05, 0x60, 0xe1, 0x6c, 0x46, 0x18, 0xcb, 0x44, 0xdb,
0x95, 0xae, 0xb1, 0xf2, 0xe4, 0x63, 0x56, 0xc0, 0x4a, 0x31, 0xad, 0xbb, 0xb0, 0xad, 0x21, 0x59,
0x4e, 0x7d, 0x38, 0x94, 0x2f, 0x4d, 0x6a, 0xfd, 0x0f, 0x7a, 0x99, 0x24, 0xd5, 0x26, 0x58, 0xb7,
0x00, 0x49, 0xbf, 0xc8, 0x29, 0xd9, 0x9a, 0x6d, 0xa8, 0xa6, 0x37, 0x45, 0x0d, 0xac, 0x1e, 0x74,
0xd3, 0x58, 0x59, 0x26, 0x61, 0x7c, 0x4c, 0xf8, 0x41, 0x38, 0x3b, 0x23, 0x71, 0xed, 0xac, 0x27,
0x80, 0xd2, 0xc6, 0x84, 0x95, 0x53, 0x8e, 0x17, 0x11, 0xab, 0x1c, 0xa0, 0x6b, 0x50, 0x76, 0x1d,
0x66, 0x96, 0xf6, 0xca, 0xfb, 0x5b, 0x07, 0x90, 0xaa, 0xaf, 0x30, 0x5b, 0x43, 0x79, 0x70, 0x14,
0x53, 0xb4, 0x33, 0x3b, 0x50, 0x5a, 0xbb, 0x29, 0x25, 0xd7, 0xb1, 0xbe, 0x4c, 0x85, 0x14, 0x2f,
0x7e, 0xc1, 0x24, 0xb4, 0x07, 0x55, 0xb1, 0x9f, 0x2a, 0x90, 0xe6, 0x10, 0x06, 0x52, 0xe3, 0x04,
0xc0, 0x56, 0x0e, 0xeb, 0x16, 0xd4, 0x14, 0xe7, 0x06, 0xd8, 0x01, 0x80, 0xc2, 0x8a, 0x0b, 0x99,
0xe0, 0x8d, 0x75, 0xf8, 0xa7, 0xd0, 0x3e, 0x76, 0xbd, 0xb9, 0x34, 0x6d, 0x96, 0x25, 0x32, 0xe1,
0x32, 0x76, 0x9c, 0x80, 0x30, 0x26, 0x8f, 0x5c, 0xc3, 0x8e, 0x86, 0x96, 0x05, 0x9d, 0x84, 0x4c,
0xa7, 0xdf, 0x82, 0x12, 0x3d, 0x93, 0x6c, 0x75, 0xbb, 0x44, 0xcf, 0xac, 0x07, 0xd0, 0x7d, 0x46,
0xe9, 0x59, 0xe8, 0xa7, 0x97, 0x6c, 0xc5, 0x4b, 0x36, 0x2e, 0x58, 0xe2, 0x15, 0xa0, 0xf4, 0xf4,
0xb8, 0xc6, 0x15, 0x91, 0x8e, 0x64, 0xc8, 0xa6, 0x29, 0xed, 0xe8, 0x43, 0xa8, 0x2c, 0x09, 0xc7,
0xb1, 0xa8, 0xc6, 0xfe, 0xcf, 0x09, 0xc7, 0x0e, 0xe6, 0xd8, 0x96, 0x7e, 0xeb, 0x6b, 0x68, 0xcb,
0x44, 0xbd, 0x13, 0xba, 0x69, 0x35, 0x6e, 0x67, 0x43, 0x6d, 0x0e, 0xbb, 0x09, 0xfb, 0x43, 0xe5,
0x48, 0xa2, 0xff, 0xde, 0x80, 0x4e, 0xb2, 0x80, 0x0e, 0xde, 0x82, 0x0a, 0x3f, 0xf7, 0x55, 0xf0,
0xad, 0x61, 0x2b, 0x99, 0xfe, 0xf2, 0xdc, 0x27, 0xb6, 0xf4, 0xa1, 0x01, 0xd4, 0xa9, 0x4f, 0x02,
0xcc, 0x69, 0x50, 0x4c, 0xe2, 0x85, 0xf6, 0xd8, 0x31, 0x46, 0xe0, 0x67, 0xd8, 0xc7, 0x33, 0x97,
0x9f, 0xcb, 0xeb, 0x9e, 0xc1, 0x8f, 0xb4, 0xc7, 0x8e, 0x31, 0xd6, 0x12, 0xda, 0x8f, 0x5c, 0xcf,
0x79, 0x4e, 0x70, 0xb0, 0x69, 0xe2, 0xef, 0x43, 0x95, 0x71, 0x1c, 0x28, 0xdd, 0x29, 0x42, 0x94,
0x33, 0x79, 0x31, 0x95, 0xe8, 0xa8, 0x81, 0x75, 0x0f, 0x3a, 0xc9, 0x72, 0xba, 0x0c, 0x17, 0x9f,
0x6d, 0x04, 0x9d, 0xc3, 0x70, 0xe9, 0x67, 0x54, 0xe0, 0x13, 0xe8, 0xa6, 0x6c, 0x79, 0xaa, 0xb5,
0xc7, 0xbe, 0x05, 0x5b, 0x69, 0xcd, 0xb5, 0x7e, 0x32, 0xa0, 0x27, 0x0c, 0xe3, 0x70, 0xb9, 0xc4,
0xc1, 0x79, 0xcc, 0x74, 0x1d, 0x20, 0x64, 0xc4, 0x99, 0x30, 0x1f, 0xcf, 0x88, 0x96, 0x8f, 0x86,
0xb0, 0x8c, 0x85, 0x01, 0xdd, 0x80, 0x36, 0x7e, 0x83, 0xdd, 0x85, 0x78, 0xb8, 0x34, 0x46, 0xa9,
0x70, 0x2b, 0x36, 0x2b, 0xe0, 0x07, 0xd0, 0x92, 0x3c, 0x53, 0xec, 0x39, 0xdf, 0xb8, 0x0e, 0x3f,
0xd5, 0xf5, 0xb8, 0x22, 0xac, 0x07, 0x91, 0x11, 0xdd, 0x81, 0x5e, 0xc2, 0x97, 0x60, 0x95, 0x0e,
0xa3, 0xd8, 0x15, 0x4f, 0x90, 0x25, 0xc1, 0xec, 0x74, 0x4a, 0x71, 0xe0, 0x44, 0xb9, 0xfc, 0x56,
0x86, 0x6e, 0xca, 0xa8, 0x33, 0xd9, 0xf8, 0x55, 0xb9, 0x09, 0x1d, 0x09, 0x9c, 0x51, 0xcf, 0x23,
0x33, 0xd1, 0x3f, 0x31, 0x9d, 0x54, 0x5b, 0xd8, 0x47, 0x89, 0x19, 0xdd, 0x86, 0xee, 0x94, 0x52,
0xce, 0x78, 0x80, 0xfd, 0x49, 0x74, 0x0b, 0xca, 0xf2, 0xc2, 0x76, 0x62, 0x87, 0xbe, 0x04, 0x82,
0x57, 0xf6, 0x2f, 0x1e, 0x5e, 0xc4, 0xd8, 0x8a, 0xc4, 0xb6, 0x23, 0x7b, 0x0a, 0x4a, 0xbe, 0xcd,
0x41, 0xab, 0x0a, 0x1a, 0xd9, 0x23, 0xe8, 0x3d, 0x79, 0x0a, 0x39, 0x33, 0x6b, 0xf2, 0x94, 0xef,
0xa4, 0x9a, 0x8a, 0x15, 0xfb, 0x69, 0x2b, 0x30, 0xfa, 0x08, 0x6a, 0xea, 0xa5, 0x32, 0x2f, 0xcb,
0x69, 0xef, 0x0c, 0x54, 0x6f, 0x38, 0x88, 0x7a, 0xc3, 0xc1, 0xa1, 0xee, 0x1d, 0x6d, 0x0d, 0x44,
0x9f, 0x41, 0x53, 0x76, 0x51, 0xbe, 0xeb, 0xcd, 0x89, 0x63, 0xd6, 0xe5, 0xbc, 0x7e, 0x61, 0xde,
0xcb, 0xa8, 0xa7, 0xb4, 0x41, 0xc0, 0x8f, 0x25, 0x1a, 0x3d, 0x80, 0x2d, 0x39, 0xf9, 0x75, 0x48,
0x02, 0x97, 0x38, 0x66, 0xe3, 0xc2, 0xd9, 0x72, 0xb1, 0x2f, 0x14, 0x7c, 0xf8, 0x4b, 0x19, 0xb6,
0x9e, 0x62, 0xe7, 0x28, 0x4a, 0x0d, 0x1d, 0x01, 0x24, 0x0f, 0x22, 0xba, 0x96, 0x4a, 0xba, 0xf0,
0x4e, 0xf6, 0xaf, 0xaf, 0xf1, 0xea, 0x73, 0x31, 0x82, 0x7a, 0xa4, 0xd9, 0xa8, 0x9f, 0x82, 0xe6,
0x5e, 0x85, 0xfe, 0xbb, 0x2b, 0x7d, 0x9a, 0xe4, 0x08, 0x20, 0x51, 0xe5, 0x4c, 0x3c, 0x05, 0xad,
0xcf, 0xc4, 0xb3, 0x42, 0xca, 0x47, 0x50, 0x8f, 0x14, 0x32, 0x13, 0x4f, 0x4e, 0x97, 0x33, 0xf1,
0x14, 0x24, 0x75, 0x04, 0xf5, 0x48, 0x5f, 0x32, 0x24, 0x39, 0x8d, 0xcb, 0x90, 0x14, 0x04, 0xe9,
0x11, 0x34, 0x62, 0x69, 0x41, 0x69, 0x64, 0x5e, 0x84, 0xfa, 0xd7, 0x56, 0x3b, 0x15, 0xcf, 0xf0,
0xe7, 0x12, 0x74, 0x5e, 0xbc, 0x21, 0xc1, 0x02, 0x9f, 0xff, 0x27, 0x3b, 0xf8, 0x2f, 0xc5, 0x29,
0x8a, 0x16, 0xb5, 0xca, 0x99, 0xa2, 0xe5, 0x9a, 0xef, 0x4c, 0xd1, 0x0a, 0xbd, 0xf5, 0x33, 0x68,
0xa6, 0xba, 0x3d, 0x94, 0x09, 0xbd, 0xd0, 0xea, 0xf6, 0x77, 0xd6, 0xb9, 0x75, 0xe9, 0x7e, 0x34,
0xa0, 0x27, 0xff, 0x62, 0xc6, 0x9c, 0x06, 0x24, 0xa9, 0xde, 0x01, 0x54, 0x15, 0xff, 0xd5, 0xdc,
0x7d, 0x5f, 0xc9, 0xbc, 0x42, 0x08, 0xac, 0x4b, 0xe8, 0x09, 0x34, 0x62, 0x95, 0xcc, 0x96, 0x2d,
0x27, 0xa8, 0xd9, 0xb2, 0xe5, 0x85, 0xd5, 0xba, 0x34, 0xfc, 0xce, 0x80, 0xed, 0xd4, 0x1f, 0x4c,
0x12, 0xa6, 0x0f, 0x57, 0xd7, 0xfc, 0x17, 0xa1, 0x9b, 0xe9, 0x5b, 0xf0, 0xb7, 0x3f, 0x9d, 0xfd,
0x5b, 0x9b, 0x40, 0x55, 0x30, 0x07, 0x95, 0xaf, 0x4a, 0xfe, 0x74, 0x5a, 0x93, 0x82, 0xf2, 0xf1,
0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6a, 0xd6, 0xce, 0xb7, 0x57, 0x0f, 0x00, 0x00,
}

View File

@ -178,8 +178,10 @@ message StatsRequest {
message StatSummaryResponse {
int64 used_space = 1;
int64 available_space = 2;
int64 used_bandwidth = 3;
int64 available_bandwidth = 4;
int64 used_ingress = 3;
int64 used_egress = 4;
int64 used_bandwidth = 5;
int64 available_bandwidth = 6;
}
message DashboardRequest {

View File

@ -1033,11 +1033,21 @@
},
{
"id": 3,
"name": "used_bandwidth",
"name": "used_ingress",
"type": "int64"
},
{
"id": 4,
"name": "used_egress",
"type": "int64"
},
{
"id": 5,
"name": "used_bandwidth",
"type": "int64"
},
{
"id": 6,
"name": "available_bandwidth",
"type": "int64"
}
@ -1892,6 +1902,22 @@
"integer": 6
}
]
},
{
"name": "SettlementResponse.Status",
"enum_fields": [
{
"name": "INVALID"
},
{
"name": "ACCEPTED",
"integer": 1
},
{
"name": "REJECTED",
"integer": 2
}
]
}
],
"messages": [
@ -2059,6 +2085,60 @@
"type": "bytes"
}
]
},
{
"name": "SettlementRequest",
"fields": [
{
"id": 1,
"name": "limit",
"type": "OrderLimit2"
},
{
"id": 2,
"name": "order",
"type": "Order2"
}
]
},
{
"name": "SettlementResponse",
"fields": [
{
"id": 1,
"name": "serial_number",
"type": "bytes",
"options": [
{
"name": "(gogoproto.customtype)",
"value": "SerialNumber"
},
{
"name": "(gogoproto.nullable)",
"value": "false"
}
]
},
{
"id": 2,
"name": "status",
"type": "Status"
}
]
}
],
"services": [
{
"name": "Orders",
"rpcs": [
{
"name": "Settlement",
"in_type": "SettlementRequest",
"out_type": "SettlementResponse",
"in_streamed": true,
"out_streamed": true
}
]
}
],
"imports": [
@ -2230,9 +2310,6 @@
}
],
"imports": [
{
"path": "google/protobuf/duration.proto"
},
{
"path": "gogo.proto"
},

View File

@ -63,6 +63,9 @@ func (inspector *Endpoint) retrieveStats(ctx context.Context) (*pb.StatSummaryRe
if err != nil {
return nil, err
}
ingress := usage.Put + usage.PutRepair
egress := usage.Get + usage.GetAudit + usage.GetRepair
totalUsedBandwidth := int64(0)
oldUsage, err := inspector.psdbDB.SumTTLSizes()
if err != nil {
@ -76,6 +79,8 @@ func (inspector *Endpoint) retrieveStats(ctx context.Context) (*pb.StatSummaryRe
return &pb.StatSummaryResponse{
UsedSpace: totalUsedSpace,
AvailableSpace: (inspector.config.AllocatedDiskSpace.Int64() - totalUsedSpace),
UsedIngress: ingress,
UsedEgress: egress,
UsedBandwidth: totalUsedBandwidth,
AvailableBandwidth: (inspector.config.AllocatedBandwidth.Int64() - totalUsedBandwidth),
}, nil

View File

@ -16,13 +16,14 @@ import (
"storj.io/storj/internal/testcontext"
"storj.io/storj/internal/testplanet"
"storj.io/storj/pkg/pb"
"storj.io/storj/uplink"
)
func TestInspectorStats(t *testing.T) {
ctx := testcontext.New(t)
defer ctx.Cleanup()
planet, err := testplanet.New(t, 1, 6, 1)
planet, err := testplanet.New(t, 1, 10, 1)
require.NoError(t, err)
defer ctx.Check(planet.Shutdown)
@ -36,6 +37,8 @@ func TestInspectorStats(t *testing.T) {
assert.Zero(t, response.UsedBandwidth)
assert.Zero(t, response.UsedSpace)
assert.Zero(t, response.UsedEgress)
assert.Zero(t, response.UsedIngress)
assert.True(t, response.AvailableBandwidth > 0)
assert.True(t, response.AvailableSpace > 0)
@ -48,9 +51,20 @@ func TestInspectorStats(t *testing.T) {
_, err = rand.Read(expectedData)
require.NoError(t, err)
err = planet.Uplinks[0].Upload(ctx, planet.Satellites[0], "testbucket", "test/path", expectedData)
rs := &uplink.RSConfig{
MinThreshold: 2,
RepairThreshold: 4,
SuccessThreshold: 6,
MaxThreshold: 10,
}
err = planet.Uplinks[0].UploadWithConfig(ctx, planet.Satellites[0], rs, "testbucket", "test/path", expectedData)
require.NoError(t, err)
_, err = planet.Uplinks[0].Download(ctx, planet.Satellites[0], "testbucket", "test/path")
assert.NoError(t, err)
var downloaded int
for _, storageNode := range planet.StorageNodes {
response, err := storageNode.Storage2.Inspector.Stats(ctx, &pb.StatsRequest{})
require.NoError(t, err)
@ -58,10 +72,15 @@ func TestInspectorStats(t *testing.T) {
// TODO set more accurate assertions
if response.UsedSpace > 0 {
assert.True(t, response.UsedBandwidth > 0)
assert.Equal(t, response.UsedBandwidth, response.UsedIngress+response.UsedEgress)
assert.Equal(t, availableBandwidth-response.UsedBandwidth, response.AvailableBandwidth)
assert.Equal(t, availableSpace-response.UsedSpace, response.AvailableSpace)
assert.Equal(t, response.UsedSpace, response.UsedBandwidth)
assert.Equal(t, response.UsedSpace, response.UsedBandwidth-response.UsedEgress)
if response.UsedEgress > 0 {
downloaded++
assert.Equal(t, response.UsedBandwidth-response.UsedIngress, response.UsedEgress)
}
} else {
assert.Zero(t, response.UsedSpace)
// TODO track why this is failing
@ -69,6 +88,7 @@ func TestInspectorStats(t *testing.T) {
assert.Equal(t, availableSpace, response.AvailableSpace)
}
}
assert.True(t, downloaded >= rs.MinThreshold)
}
func TestInspectorDashboard(t *testing.T) {