move DiskStatus and MemStatus to protobuf

This commit is contained in:
Chris Lu 2018-10-15 22:25:28 -07:00
parent eec951cad2
commit 46eb77f9bb
10 changed files with 242 additions and 86 deletions

View file

@ -34,6 +34,8 @@ service VolumeServer {
rpc VolumeUnmount (VolumeUnmountRequest) returns (VolumeUnmountResponse) { rpc VolumeUnmount (VolumeUnmountRequest) returns (VolumeUnmountResponse) {
} }
// rpc VolumeUiPage (VolumeUiPageRequest) returns (VolumeUiPageResponse) {}
} }
////////////////////////////////////////////////// //////////////////////////////////////////////////
@ -138,3 +140,25 @@ message VolumeUnmountRequest {
} }
message VolumeUnmountResponse { message VolumeUnmountResponse {
} }
message VolumeUiPageRequest {
}
message VolumeUiPageResponse {
}
message DiskStatus {
string dir = 1;
uint64 all = 2;
uint64 used = 3;
uint64 free = 4;
}
message MemStatus {
int32 goroutines = 1;
uint64 all = 2;
uint64 used = 3;
uint64 free = 4;
uint64 self = 5;
uint64 heap = 6;
uint64 stack = 7;
}

View file

@ -35,6 +35,10 @@ It has these top-level messages:
VolumeMountResponse VolumeMountResponse
VolumeUnmountRequest VolumeUnmountRequest
VolumeUnmountResponse VolumeUnmountResponse
VolumeUiPageRequest
VolumeUiPageResponse
DiskStatus
MemStatus
*/ */
package volume_server_pb package volume_server_pb
@ -546,6 +550,126 @@ func (m *VolumeUnmountResponse) String() string { return proto.Compac
func (*VolumeUnmountResponse) ProtoMessage() {} func (*VolumeUnmountResponse) ProtoMessage() {}
func (*VolumeUnmountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } func (*VolumeUnmountResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
type VolumeUiPageRequest struct {
}
func (m *VolumeUiPageRequest) Reset() { *m = VolumeUiPageRequest{} }
func (m *VolumeUiPageRequest) String() string { return proto.CompactTextString(m) }
func (*VolumeUiPageRequest) ProtoMessage() {}
func (*VolumeUiPageRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
type VolumeUiPageResponse struct {
}
func (m *VolumeUiPageResponse) Reset() { *m = VolumeUiPageResponse{} }
func (m *VolumeUiPageResponse) String() string { return proto.CompactTextString(m) }
func (*VolumeUiPageResponse) ProtoMessage() {}
func (*VolumeUiPageResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
type DiskStatus struct {
Dir string `protobuf:"bytes,1,opt,name=dir" json:"dir,omitempty"`
All uint64 `protobuf:"varint,2,opt,name=all" json:"all,omitempty"`
Used uint64 `protobuf:"varint,3,opt,name=used" json:"used,omitempty"`
Free uint64 `protobuf:"varint,4,opt,name=free" json:"free,omitempty"`
}
func (m *DiskStatus) Reset() { *m = DiskStatus{} }
func (m *DiskStatus) String() string { return proto.CompactTextString(m) }
func (*DiskStatus) ProtoMessage() {}
func (*DiskStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
func (m *DiskStatus) GetDir() string {
if m != nil {
return m.Dir
}
return ""
}
func (m *DiskStatus) GetAll() uint64 {
if m != nil {
return m.All
}
return 0
}
func (m *DiskStatus) GetUsed() uint64 {
if m != nil {
return m.Used
}
return 0
}
func (m *DiskStatus) GetFree() uint64 {
if m != nil {
return m.Free
}
return 0
}
type MemStatus struct {
Goroutines int32 `protobuf:"varint,1,opt,name=goroutines" json:"goroutines,omitempty"`
All uint64 `protobuf:"varint,2,opt,name=all" json:"all,omitempty"`
Used uint64 `protobuf:"varint,3,opt,name=used" json:"used,omitempty"`
Free uint64 `protobuf:"varint,4,opt,name=free" json:"free,omitempty"`
Self uint64 `protobuf:"varint,5,opt,name=self" json:"self,omitempty"`
Heap uint64 `protobuf:"varint,6,opt,name=heap" json:"heap,omitempty"`
Stack uint64 `protobuf:"varint,7,opt,name=stack" json:"stack,omitempty"`
}
func (m *MemStatus) Reset() { *m = MemStatus{} }
func (m *MemStatus) String() string { return proto.CompactTextString(m) }
func (*MemStatus) ProtoMessage() {}
func (*MemStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
func (m *MemStatus) GetGoroutines() int32 {
if m != nil {
return m.Goroutines
}
return 0
}
func (m *MemStatus) GetAll() uint64 {
if m != nil {
return m.All
}
return 0
}
func (m *MemStatus) GetUsed() uint64 {
if m != nil {
return m.Used
}
return 0
}
func (m *MemStatus) GetFree() uint64 {
if m != nil {
return m.Free
}
return 0
}
func (m *MemStatus) GetSelf() uint64 {
if m != nil {
return m.Self
}
return 0
}
func (m *MemStatus) GetHeap() uint64 {
if m != nil {
return m.Heap
}
return 0
}
func (m *MemStatus) GetStack() uint64 {
if m != nil {
return m.Stack
}
return 0
}
func init() { func init() {
proto.RegisterType((*BatchDeleteRequest)(nil), "volume_server_pb.BatchDeleteRequest") proto.RegisterType((*BatchDeleteRequest)(nil), "volume_server_pb.BatchDeleteRequest")
proto.RegisterType((*BatchDeleteResponse)(nil), "volume_server_pb.BatchDeleteResponse") proto.RegisterType((*BatchDeleteResponse)(nil), "volume_server_pb.BatchDeleteResponse")
@ -573,6 +697,10 @@ func init() {
proto.RegisterType((*VolumeMountResponse)(nil), "volume_server_pb.VolumeMountResponse") proto.RegisterType((*VolumeMountResponse)(nil), "volume_server_pb.VolumeMountResponse")
proto.RegisterType((*VolumeUnmountRequest)(nil), "volume_server_pb.VolumeUnmountRequest") proto.RegisterType((*VolumeUnmountRequest)(nil), "volume_server_pb.VolumeUnmountRequest")
proto.RegisterType((*VolumeUnmountResponse)(nil), "volume_server_pb.VolumeUnmountResponse") proto.RegisterType((*VolumeUnmountResponse)(nil), "volume_server_pb.VolumeUnmountResponse")
proto.RegisterType((*VolumeUiPageRequest)(nil), "volume_server_pb.VolumeUiPageRequest")
proto.RegisterType((*VolumeUiPageResponse)(nil), "volume_server_pb.VolumeUiPageResponse")
proto.RegisterType((*DiskStatus)(nil), "volume_server_pb.DiskStatus")
proto.RegisterType((*MemStatus)(nil), "volume_server_pb.MemStatus")
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -1015,61 +1143,69 @@ var _VolumeServer_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("volume_server.proto", fileDescriptor0) } func init() { proto.RegisterFile("volume_server.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 892 bytes of a gzipped FileDescriptorProto // 1013 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x56, 0xdd, 0x6e, 0xeb, 0x44, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x57, 0xdf, 0x72, 0xdb, 0xc4,
0x10, 0x8e, 0x9b, 0xdf, 0x4e, 0x12, 0x4e, 0xd8, 0xf4, 0x34, 0x3e, 0x3e, 0x70, 0x08, 0x0b, 0xb4, 0x17, 0x8e, 0x62, 0x3b, 0x76, 0x8e, 0xed, 0x5f, 0xfd, 0x5b, 0xa7, 0x89, 0xaa, 0x42, 0x30, 0x02,
0xe9, 0x0f, 0x45, 0xb4, 0x02, 0x8a, 0xb8, 0x01, 0x5a, 0x40, 0xb9, 0x40, 0x95, 0x5c, 0xd1, 0x1b, 0x5a, 0xa7, 0x0d, 0x61, 0x68, 0x07, 0x28, 0xc3, 0x0d, 0x90, 0x00, 0x93, 0x8b, 0x4e, 0x99, 0xcd,
0x2a, 0x59, 0x8e, 0xbd, 0x69, 0xad, 0x3a, 0xb6, 0x6b, 0xaf, 0xab, 0x96, 0x37, 0xe0, 0x11, 0x78, 0xb4, 0xc3, 0x0c, 0x9d, 0xf1, 0x28, 0xd2, 0x3a, 0xd9, 0x89, 0x2c, 0xa9, 0xda, 0x55, 0x26, 0xe5,
0x03, 0xde, 0x89, 0x97, 0x41, 0xde, 0x5d, 0xbb, 0xfe, 0x4b, 0xed, 0x73, 0xe7, 0x9d, 0x9d, 0xf9, 0x0d, 0x78, 0x04, 0xae, 0xb9, 0xe1, 0x9d, 0x78, 0x19, 0x66, 0xff, 0x48, 0xd1, 0x3f, 0x57, 0x82,
0xbe, 0x99, 0xf1, 0xf8, 0x1b, 0xc3, 0xf8, 0xc1, 0xb5, 0xc3, 0x15, 0xd1, 0x02, 0xe2, 0x3f, 0x10, 0xbb, 0xd5, 0xb7, 0xe7, 0x9c, 0x6f, 0xcf, 0xd9, 0xb3, 0xe7, 0xb3, 0x61, 0x7a, 0x1d, 0xfa, 0xc9,
0xff, 0xc8, 0xf3, 0x5d, 0xea, 0xa2, 0x51, 0xc6, 0xa8, 0x79, 0x0b, 0xfc, 0x15, 0xa0, 0x9f, 0x75, 0x8a, 0x2c, 0x18, 0x89, 0xaf, 0x49, 0x7c, 0x14, 0xc5, 0x21, 0x0f, 0xd1, 0xa4, 0x00, 0x2e, 0xa2,
0x6a, 0xdc, 0x9e, 0x13, 0x9b, 0x50, 0xa2, 0x92, 0xfb, 0x90, 0x04, 0x14, 0xbd, 0x81, 0xde, 0xd2, 0x73, 0xfb, 0x33, 0x40, 0xdf, 0x3b, 0xdc, 0xbd, 0x3c, 0x21, 0x3e, 0xe1, 0x04, 0x93, 0x37, 0x09,
0xb2, 0x89, 0x66, 0x99, 0x81, 0x2c, 0x4d, 0x9b, 0xb3, 0x4d, 0xb5, 0x1b, 0x9d, 0xe7, 0x66, 0x80, 0x61, 0x1c, 0xdd, 0x83, 0xc1, 0x92, 0xfa, 0x64, 0x41, 0x3d, 0x66, 0x1a, 0xb3, 0xce, 0x7c, 0x1b,
0x2f, 0x60, 0x9c, 0x09, 0x08, 0x3c, 0xd7, 0x09, 0x08, 0x3a, 0x85, 0xae, 0x4f, 0x82, 0xd0, 0xa6, 0xf7, 0xc5, 0xf7, 0xa9, 0xc7, 0xec, 0x17, 0x30, 0x2d, 0x38, 0xb0, 0x28, 0x0c, 0x18, 0x41, 0xcf,
0x3c, 0xa0, 0x7f, 0xfc, 0xee, 0x28, 0xcf, 0x75, 0x94, 0x84, 0x84, 0x36, 0x55, 0x63, 0x77, 0x6c, 0xa0, 0x1f, 0x13, 0x96, 0xf8, 0x5c, 0x39, 0x0c, 0x9f, 0xec, 0x1f, 0x95, 0xb9, 0x8e, 0x32, 0x97,
0xc1, 0x20, 0x7d, 0x81, 0x26, 0xd0, 0x15, 0xdc, 0xb2, 0x34, 0x95, 0x66, 0x9b, 0x6a, 0x87, 0x53, 0xc4, 0xe7, 0x38, 0x35, 0xb7, 0x29, 0x8c, 0xf2, 0x1b, 0x68, 0x0f, 0xfa, 0x9a, 0xdb, 0x34, 0x66,
0xa3, 0x6d, 0xe8, 0x04, 0x54, 0xa7, 0x61, 0x20, 0x6f, 0x4c, 0xa5, 0x59, 0x5b, 0x15, 0x27, 0xb4, 0xc6, 0x7c, 0x1b, 0x6f, 0x29, 0x6a, 0xb4, 0x0b, 0x5b, 0x8c, 0x3b, 0x3c, 0x61, 0xe6, 0xe6, 0xcc,
0x05, 0x6d, 0xe2, 0xfb, 0xae, 0x2f, 0x37, 0x99, 0x3b, 0x3f, 0x20, 0x04, 0xad, 0xc0, 0xfa, 0x8b, 0x98, 0xf7, 0xb0, 0xfe, 0x42, 0x3b, 0xd0, 0x23, 0x71, 0x1c, 0xc6, 0x66, 0x47, 0x9a, 0xab, 0x0f,
0xc8, 0xad, 0xa9, 0x34, 0x1b, 0xaa, 0xec, 0x19, 0x77, 0xa1, 0xfd, 0xcb, 0xca, 0xa3, 0x4f, 0xf8, 0x84, 0xa0, 0xcb, 0xe8, 0x6f, 0xc4, 0xec, 0xce, 0x8c, 0xf9, 0x18, 0xcb, 0xb5, 0xdd, 0x87, 0xde,
0x3b, 0x90, 0xaf, 0x74, 0x23, 0x0c, 0x57, 0x57, 0x2c, 0xc7, 0xb3, 0x5b, 0x62, 0xdc, 0xc5, 0xb5, 0x0f, 0xab, 0x88, 0xbf, 0xb5, 0xbf, 0x02, 0xf3, 0x95, 0xe3, 0x26, 0xc9, 0xea, 0x95, 0x3c, 0xe3,
0xbf, 0x85, 0x4d, 0x96, 0xb9, 0x19, 0x67, 0x30, 0x54, 0x7b, 0xdc, 0x30, 0x37, 0xf1, 0x8f, 0xf0, 0xf1, 0x25, 0x71, 0xaf, 0xd2, 0xdc, 0xef, 0xc3, 0xb6, 0x3c, 0xb9, 0x97, 0x9e, 0x60, 0x8c, 0x07,
0xa6, 0x24, 0x50, 0xf4, 0xe0, 0x33, 0x18, 0xde, 0xe8, 0xfe, 0x42, 0xbf, 0x21, 0x9a, 0xaf, 0x53, 0x0a, 0x38, 0xf5, 0xec, 0x6f, 0xe1, 0x5e, 0x8d, 0xa3, 0xae, 0xc1, 0x47, 0x30, 0xbe, 0x70, 0xe2,
0xcb, 0x65, 0xd1, 0x92, 0x3a, 0x10, 0x46, 0x35, 0xb2, 0xe1, 0x3f, 0x41, 0xc9, 0x20, 0xb8, 0x2b, 0x73, 0xe7, 0x82, 0x2c, 0x62, 0x87, 0xd3, 0x50, 0x7a, 0x1b, 0x78, 0xa4, 0x41, 0x2c, 0x30, 0xfb,
0x4f, 0x37, 0x68, 0x1d, 0x72, 0x34, 0x85, 0xbe, 0xe7, 0x13, 0xdd, 0xb6, 0x5d, 0x43, 0xa7, 0x84, 0x57, 0xb0, 0x0a, 0x11, 0xc2, 0x55, 0xe4, 0xb8, 0xbc, 0x0d, 0x39, 0x9a, 0xc1, 0x30, 0x8a, 0x89,
0x75, 0xa1, 0xa9, 0xa6, 0x4d, 0xf8, 0x63, 0x78, 0x5b, 0x0a, 0xce, 0x13, 0xc4, 0xa7, 0xb9, 0xec, 0xe3, 0xfb, 0xa1, 0xeb, 0x70, 0x22, 0xab, 0xd0, 0xc1, 0x79, 0xc8, 0x7e, 0x1f, 0xee, 0xd7, 0x06,
0xdd, 0xd5, 0xca, 0xaa, 0x45, 0x8d, 0x3f, 0x2a, 0x64, 0xcd, 0x22, 0x05, 0xee, 0xf7, 0xb9, 0x5b, 0x57, 0x07, 0xb4, 0x9f, 0x95, 0x4e, 0x1f, 0xae, 0x56, 0xb4, 0x15, 0xb5, 0xfd, 0x5e, 0xe5, 0xd4,
0x9b, 0xe8, 0x4e, 0xe8, 0xd5, 0x02, 0xce, 0x67, 0x1c, 0x87, 0x26, 0xc8, 0x13, 0x3e, 0x1c, 0x67, 0xd2, 0x53, 0xc7, 0xfd, 0xba, 0xb4, 0xeb, 0x13, 0x27, 0x48, 0xa2, 0x56, 0x81, 0xcb, 0x27, 0x4e,
0xae, 0x6d, 0x13, 0x83, 0x5a, 0xae, 0x13, 0xc3, 0xbe, 0x03, 0x30, 0x12, 0xa3, 0x18, 0x95, 0x94, 0x5d, 0xb3, 0xc8, 0x7b, 0xaa, 0x39, 0x8e, 0x43, 0xdf, 0x27, 0x2e, 0xa7, 0x61, 0x90, 0x86, 0xdd,
0x05, 0x2b, 0x20, 0x17, 0x43, 0x05, 0xec, 0xbf, 0x12, 0x8c, 0x7f, 0x0a, 0x02, 0xeb, 0xc6, 0xe1, 0x07, 0x70, 0x33, 0x50, 0xb7, 0x4a, 0x0e, 0xb1, 0x2d, 0x30, 0xab, 0xae, 0x3a, 0xec, 0x5f, 0x06,
0xb4, 0xb5, 0xda, 0x9f, 0x25, 0xdc, 0xc8, 0x13, 0xe6, 0x5f, 0x4f, 0xb3, 0xf0, 0x7a, 0x22, 0x0f, 0x4c, 0xbf, 0x63, 0x8c, 0x5e, 0x04, 0x8a, 0xb6, 0x55, 0xf9, 0x8b, 0x84, 0x9b, 0x65, 0xc2, 0xf2,
0x9f, 0x78, 0xb6, 0x65, 0xe8, 0x0c, 0xa2, 0xc5, 0x20, 0xd2, 0x26, 0x34, 0x82, 0x26, 0xa5, 0xb6, 0xf5, 0x74, 0x2a, 0xd7, 0x23, 0x2c, 0x62, 0x12, 0xf9, 0xd4, 0x75, 0x64, 0x88, 0xae, 0x0c, 0x91,
0xdc, 0x66, 0x37, 0xd1, 0x23, 0xde, 0x86, 0xad, 0x6c, 0xa6, 0xa2, 0x84, 0x6f, 0x61, 0xc2, 0x2d, 0x87, 0xd0, 0x04, 0x3a, 0x9c, 0xfb, 0x66, 0x4f, 0xee, 0x88, 0xa5, 0xbd, 0x0b, 0x3b, 0xc5, 0x93,
0x97, 0x4f, 0x8e, 0x71, 0xc9, 0xbe, 0x84, 0x5a, 0x0d, 0xff, 0x4f, 0x02, 0xb9, 0x18, 0x28, 0x26, 0xea, 0x14, 0xbe, 0x84, 0x3d, 0x85, 0x9c, 0xbd, 0x0d, 0xdc, 0x33, 0xf9, 0x12, 0x5a, 0x15, 0xfc,
0xb8, 0x6a, 0xfc, 0xde, 0x37, 0x7b, 0xf4, 0x09, 0xf4, 0xa9, 0x6e, 0xd9, 0x9a, 0xbb, 0x5c, 0x06, 0x6f, 0x03, 0xcc, 0xaa, 0xa3, 0xee, 0xe0, 0xa6, 0xf6, 0xfb, 0xb7, 0xa7, 0x47, 0x1f, 0xc0, 0x90,
0x84, 0xca, 0x9d, 0xa9, 0x34, 0x6b, 0xa9, 0x10, 0x99, 0x2e, 0x98, 0x05, 0xed, 0xc1, 0xc8, 0xe0, 0x3b, 0xd4, 0x5f, 0x84, 0xcb, 0x25, 0x23, 0xdc, 0xdc, 0x9a, 0x19, 0xf3, 0x2e, 0x06, 0x01, 0xbd,
0x53, 0xaa, 0xf9, 0xe4, 0xc1, 0x0a, 0x22, 0xe4, 0x2e, 0x23, 0x7e, 0x65, 0xc4, 0xd3, 0xcb, 0xcd, 0x90, 0x08, 0x3a, 0x80, 0x89, 0xab, 0xba, 0x74, 0x11, 0x93, 0x6b, 0xca, 0x44, 0xe4, 0xbe, 0x24,
0x08, 0xc3, 0xd0, 0x32, 0x1f, 0x35, 0x26, 0x0e, 0xec, 0xd3, 0xee, 0x31, 0xb4, 0xbe, 0x65, 0x3e, 0xbe, 0xe3, 0xa6, 0xdd, 0xab, 0x60, 0x64, 0xc3, 0x98, 0x7a, 0x37, 0x0b, 0x39, 0x1c, 0xe4, 0xd3,
0xfe, 0x6a, 0xd9, 0xe4, 0x32, 0xfa, 0xc2, 0xbf, 0x81, 0xed, 0xe7, 0xe2, 0xe6, 0x8e, 0x49, 0x1e, 0x1e, 0xc8, 0x68, 0x43, 0xea, 0xdd, 0xfc, 0x48, 0x7d, 0x72, 0x26, 0x5e, 0xf8, 0x17, 0xb0, 0x7b,
0x6b, 0x35, 0xe5, 0xb7, 0x74, 0x33, 0x45, 0x98, 0x68, 0xc9, 0x21, 0x20, 0x2b, 0x32, 0x70, 0x5e, 0x9b, 0xdc, 0x69, 0xe0, 0x91, 0x9b, 0x56, 0x45, 0xf9, 0x29, 0x5f, 0x4c, 0xed, 0xa6, 0x4b, 0x72,
0xc3, 0x75, 0x28, 0x71, 0x28, 0x03, 0x18, 0xa8, 0x23, 0x76, 0x13, 0x91, 0x9f, 0x71, 0x3b, 0xfe, 0x08, 0x88, 0x0a, 0x40, 0xf1, 0xba, 0x61, 0xc0, 0x49, 0xc0, 0x65, 0x80, 0x11, 0x9e, 0xc8, 0x1d,
0x47, 0x82, 0xd7, 0xcf, 0x48, 0xe7, 0x3a, 0xd5, 0x6b, 0x8d, 0x96, 0x02, 0xbd, 0xa4, 0xfa, 0x0d, 0x41, 0x7e, 0xac, 0x70, 0xfb, 0x0f, 0x03, 0xee, 0xde, 0x46, 0x3a, 0x71, 0xb8, 0xd3, 0xaa, 0xb5,
0x7e, 0x17, 0x9f, 0x23, 0xd9, 0x13, 0xdd, 0x6b, 0xb2, 0x1b, 0x71, 0x2a, 0x13, 0xb8, 0x88, 0xc4, 0x2c, 0x18, 0x64, 0xd9, 0x6f, 0xaa, 0xbd, 0xf4, 0x5b, 0x8c, 0x3d, 0x5d, 0xbd, 0x8e, 0xdc, 0xd1,
0x21, 0xc4, 0xe4, 0xea, 0xc9, 0x5f, 0x43, 0x8f, 0x1b, 0xe6, 0x26, 0xfe, 0x21, 0xdd, 0x1b, 0x9e, 0x5f, 0x75, 0x03, 0x4e, 0x90, 0x04, 0x84, 0x78, 0x6a, 0x7a, 0xaa, 0x6b, 0x18, 0x28, 0xe0, 0xd4,
0x9a, 0xa8, 0xf1, 0x53, 0x18, 0x94, 0x54, 0xd7, 0x5f, 0xa6, 0x0a, 0xfb, 0x1a, 0x10, 0x0f, 0xfe, 0xb3, 0xbf, 0xc9, 0xd7, 0x46, 0x1d, 0x4d, 0xe7, 0xf8, 0x21, 0x8c, 0x6a, 0xb2, 0x1b, 0x2e, 0x73,
0xdd, 0x0d, 0x9d, 0x7a, 0x9a, 0xf1, 0x1a, 0xc6, 0x99, 0x10, 0x31, 0xb8, 0x27, 0xb0, 0xc5, 0xcd, 0x89, 0x7d, 0x0e, 0x48, 0x39, 0x3f, 0x0f, 0x93, 0xa0, 0xdd, 0xcc, 0xb8, 0x0b, 0xd3, 0x82, 0x8b,
0x7f, 0x38, 0xab, 0xda, 0x58, 0x93, 0xb8, 0xad, 0x49, 0x10, 0x47, 0x3b, 0xfe, 0x1b, 0x60, 0x20, 0x6e, 0xdc, 0xa7, 0xb0, 0xa3, 0xe0, 0x97, 0xc1, 0xaa, 0x75, 0xac, 0xbd, 0xb4, 0xac, 0x99, 0x93,
0xaa, 0x62, 0x7b, 0x06, 0x5d, 0x43, 0x3f, 0xb5, 0x9f, 0xd0, 0xe7, 0xc5, 0x35, 0x54, 0xdc, 0x77, 0x8e, 0x96, 0x91, 0xbc, 0xa4, 0x3f, 0x8b, 0x19, 0xab, 0x82, 0x89, 0x57, 0x53, 0x84, 0xb5, 0xf9,
0xca, 0x17, 0x15, 0x5e, 0x22, 0xf5, 0x06, 0x72, 0xe0, 0xc3, 0x82, 0xfe, 0xa3, 0xfd, 0x62, 0xf4, 0x2f, 0x00, 0x27, 0x94, 0x5d, 0xa9, 0xb6, 0x17, 0xfd, 0xea, 0xd1, 0x58, 0xcf, 0x0e, 0xb1, 0x14,
0xba, 0xed, 0xa2, 0x1c, 0xd4, 0xf2, 0x4d, 0xf8, 0x28, 0x8c, 0x4b, 0x04, 0x1d, 0x1d, 0x56, 0xa0, 0x88, 0xe3, 0xfb, 0xf2, 0x0e, 0xba, 0x58, 0x2c, 0x45, 0x99, 0x13, 0x46, 0x3c, 0x59, 0xfc, 0x2e,
0x64, 0x96, 0x8a, 0xf2, 0x65, 0x4d, 0xef, 0x84, 0xf5, 0x1e, 0x50, 0x51, 0xed, 0xd1, 0x41, 0x25, 0x96, 0x6b, 0x81, 0x2d, 0x63, 0xa2, 0x4a, 0xdf, 0xc5, 0x72, 0x6d, 0xff, 0x69, 0xc0, 0xf6, 0x73,
0xcc, 0xf3, 0x36, 0x51, 0x0e, 0xeb, 0x39, 0xaf, 0x2d, 0x94, 0xef, 0x81, 0xca, 0x42, 0x33, 0x9b, 0xb2, 0xd2, 0x91, 0xf7, 0x01, 0x2e, 0xc2, 0x38, 0x4c, 0x38, 0x0d, 0x08, 0x93, 0x04, 0x3d, 0x9c,
0xa6, 0xb2, 0xd0, 0xdc, 0x72, 0x69, 0xa0, 0x3b, 0x18, 0xe5, 0x77, 0x04, 0xda, 0x5b, 0xf7, 0xe3, 0x43, 0xfe, 0x3b, 0x8f, 0xbc, 0x76, 0xe2, 0x2f, 0xe5, 0xed, 0x76, 0xb1, 0x5c, 0x0b, 0xec, 0x92,
0x52, 0x58, 0x41, 0xca, 0x7e, 0x1d, 0xd7, 0x84, 0x4c, 0x83, 0x41, 0x5a, 0xc9, 0x51, 0xc9, 0xd0, 0x38, 0x91, 0x7e, 0x5e, 0x72, 0x2d, 0x54, 0x91, 0x71, 0xc7, 0xbd, 0x92, 0xaf, 0xa9, 0x8b, 0xd5,
0x95, 0xec, 0x24, 0x65, 0xa7, 0xca, 0x2d, 0x5d, 0x4d, 0x5e, 0xd9, 0xcb, 0xaa, 0x59, 0xb3, 0x36, 0xc7, 0x93, 0xdf, 0x01, 0x46, 0xba, 0x09, 0xa4, 0x2c, 0xa3, 0xd7, 0x30, 0xcc, 0xc9, 0x39, 0xfa,
0xca, 0xaa, 0x59, 0xb7, 0x28, 0x70, 0x03, 0xdd, 0xc2, 0xab, 0x9c, 0x64, 0xa2, 0xd9, 0x4b, 0x00, 0xb8, 0xaa, 0xda, 0xd5, 0x9f, 0x07, 0xd6, 0x27, 0x0d, 0x56, 0xba, 0xd8, 0x1b, 0x28, 0x80, 0xff,
0x69, 0x31, 0x56, 0xf6, 0x6a, 0x78, 0x26, 0x4c, 0x04, 0x3e, 0xc8, 0xea, 0x16, 0xda, 0x7d, 0x29, 0x57, 0xe4, 0x12, 0x3d, 0xaa, 0x7a, 0xaf, 0x13, 0x63, 0xeb, 0x71, 0x2b, 0xdb, 0x8c, 0x8f, 0xc3,
0x3c, 0x25, 0xba, 0xca, 0xac, 0xda, 0x31, 0xa1, 0xb9, 0x86, 0x7e, 0x4a, 0xae, 0xca, 0x84, 0xa3, 0xb4, 0x46, 0xff, 0xd0, 0x61, 0x43, 0x94, 0x82, 0x06, 0x5b, 0x9f, 0xb6, 0xb4, 0xce, 0x58, 0xdf,
0x28, 0x80, 0x65, 0xc2, 0x51, 0xa6, 0x79, 0x0d, 0xb4, 0x80, 0x61, 0x46, 0xc0, 0xd0, 0xce, 0xba, 0x00, 0xaa, 0x8a, 0x23, 0x7a, 0xdc, 0x18, 0xe6, 0x56, 0x7c, 0xad, 0xc3, 0x76, 0xc6, 0x6b, 0x13,
0xc8, 0xac, 0x2c, 0x2a, 0xbb, 0x95, 0x7e, 0x31, 0xc7, 0xa2, 0xc3, 0x7e, 0xf2, 0x4f, 0xfe, 0x0f, 0x55, 0xb2, 0xd9, 0x98, 0x68, 0x41, 0x98, 0x1b, 0x13, 0x2d, 0x69, 0xf1, 0x06, 0xba, 0x82, 0x49,
0x00, 0x00, 0xff, 0xff, 0x5b, 0x29, 0xa9, 0x95, 0xfb, 0x0b, 0x00, 0x00, 0x59, 0x52, 0xd1, 0xc1, 0xba, 0xdf, 0x79, 0x15, 0xc5, 0xb6, 0x1e, 0xb5, 0x31, 0xcd, 0xc8, 0x16,
0x30, 0xca, 0x0b, 0x1f, 0xaa, 0x69, 0xba, 0x1a, 0x09, 0xb7, 0x1e, 0x34, 0x99, 0xe5, 0xb3, 0x29,
0x0b, 0x61, 0x5d, 0x36, 0x6b, 0x54, 0xb6, 0x2e, 0x9b, 0x75, 0xba, 0x6a, 0x6f, 0xa0, 0x4b, 0xb8,
0x53, 0x52, 0x18, 0x34, 0x7f, 0x57, 0x80, 0xbc, 0x76, 0x59, 0x07, 0x2d, 0x2c, 0x33, 0x26, 0x02,
0xff, 0x2b, 0x8e, 0x79, 0xf4, 0xf0, 0x5d, 0xee, 0x39, 0x8d, 0xb2, 0xe6, 0xcd, 0x86, 0x19, 0xcd,
0x6b, 0x18, 0xe6, 0xa6, 0x7b, 0xdd, 0xe0, 0xa8, 0xea, 0x45, 0xdd, 0xe0, 0xa8, 0x93, 0x88, 0x0d,
0x74, 0x0e, 0xe3, 0xc2, 0xbc, 0x47, 0x0f, 0xd6, 0x79, 0x16, 0x55, 0xc4, 0x7a, 0xd8, 0x68, 0x97,
0x72, 0x9c, 0x6f, 0xc9, 0xff, 0x44, 0x4f, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x60, 0xe6, 0x57,
0xdf, 0x2a, 0x0d, 0x00, 0x00,
} }

View file

@ -6,6 +6,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/stats" "github.com/chrislusf/seaweedfs/weed/stats"
"github.com/chrislusf/seaweedfs/weed/util" "github.com/chrislusf/seaweedfs/weed/util"
"github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
) )
func (vs *VolumeServer) statusHandler(w http.ResponseWriter, r *http.Request) { func (vs *VolumeServer) statusHandler(w http.ResponseWriter, r *http.Request) {
@ -18,7 +19,7 @@ func (vs *VolumeServer) statusHandler(w http.ResponseWriter, r *http.Request) {
func (vs *VolumeServer) statsDiskHandler(w http.ResponseWriter, r *http.Request) { func (vs *VolumeServer) statsDiskHandler(w http.ResponseWriter, r *http.Request) {
m := make(map[string]interface{}) m := make(map[string]interface{})
m["Version"] = util.VERSION m["Version"] = util.VERSION
var ds []*stats.DiskStatus var ds []*volume_server_pb.DiskStatus
for _, loc := range vs.store.Locations { for _, loc := range vs.store.Locations {
if dir, e := filepath.Abs(loc.Directory); e == nil { if dir, e := filepath.Abs(loc.Directory); e == nil {
ds = append(ds, stats.NewDiskStatus(dir)) ds = append(ds, stats.NewDiskStatus(dir))

View file

@ -8,12 +8,13 @@ import (
ui "github.com/chrislusf/seaweedfs/weed/server/volume_server_ui" ui "github.com/chrislusf/seaweedfs/weed/server/volume_server_ui"
"github.com/chrislusf/seaweedfs/weed/stats" "github.com/chrislusf/seaweedfs/weed/stats"
"github.com/chrislusf/seaweedfs/weed/util" "github.com/chrislusf/seaweedfs/weed/util"
"github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
) )
func (vs *VolumeServer) uiStatusHandler(w http.ResponseWriter, r *http.Request) { func (vs *VolumeServer) uiStatusHandler(w http.ResponseWriter, r *http.Request) {
infos := make(map[string]interface{}) infos := make(map[string]interface{})
infos["Up Time"] = time.Now().Sub(startTime).String() infos["Up Time"] = time.Now().Sub(startTime).String()
var ds []*stats.DiskStatus var ds []*volume_server_pb.DiskStatus
for _, loc := range vs.store.Locations { for _, loc := range vs.store.Locations {
if dir, e := filepath.Abs(loc.Directory); e == nil { if dir, e := filepath.Abs(loc.Directory); e == nil {
ds = append(ds, stats.NewDiskStatus(dir)) ds = append(ds, stats.NewDiskStatus(dir))

View file

@ -1,14 +1,9 @@
package stats package stats
type DiskStatus struct { import "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
Dir string
All uint64
Used uint64
Free uint64
}
func NewDiskStatus(path string) (disk *DiskStatus) { func NewDiskStatus(path string) (disk *volume_server_pb.DiskStatus) {
disk = &DiskStatus{Dir: path} disk = &volume_server_pb.DiskStatus{Dir: path}
disk.fillInStatus() fillInDiskStatus(disk)
return return
} }

View file

@ -2,6 +2,8 @@
package stats package stats
func (disk *DiskStatus) fillInStatus() { import "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
func fillInDiskStatus(status *volume_server_pb.DiskStatus) {
return return
} }

View file

@ -4,9 +4,11 @@ package stats
import ( import (
"syscall" "syscall"
"github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
) )
func (disk *DiskStatus) fillInStatus() { func fillInDiskStatus(disk *volume_server_pb.DiskStatus) {
fs := syscall.Statfs_t{} fs := syscall.Statfs_t{}
err := syscall.Statfs(disk.Dir, &fs) err := syscall.Statfs(disk.Dir, &fs)
if err != nil { if err != nil {

View file

@ -2,27 +2,18 @@ package stats
import ( import (
"runtime" "runtime"
"github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
) )
type MemStatus struct { func MemStat() *volume_server_pb.MemStatus {
Goroutines int mem := &volume_server_pb.MemStatus{}
All uint64 mem.Goroutines = int32(runtime.NumGoroutine())
Used uint64
Free uint64
Self uint64
Heap uint64
Stack uint64
}
func MemStat() MemStatus {
mem := MemStatus{}
mem.Goroutines = runtime.NumGoroutine()
memStat := new(runtime.MemStats) memStat := new(runtime.MemStats)
runtime.ReadMemStats(memStat) runtime.ReadMemStats(memStat)
mem.Self = memStat.Alloc mem.Self = memStat.Alloc
mem.Heap = memStat.HeapAlloc mem.Heap = memStat.HeapAlloc
mem.Stack = memStat.StackInuse mem.Stack = memStat.StackInuse
mem.fillInStatus() fillInMemStatus(mem)
return mem return mem
} }

View file

@ -2,6 +2,8 @@
package stats package stats
func (mem *MemStatus) fillInStatus() { import "github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
func fillInMemStatus(status *volume_server_pb.MemStatus) {
return return
} }

View file

@ -4,9 +4,11 @@ package stats
import ( import (
"syscall" "syscall"
"github.com/chrislusf/seaweedfs/weed/pb/volume_server_pb"
) )
func (mem *MemStatus) fillInStatus() { func fillInMemStatus(mem *volume_server_pb.MemStatus) {
//system memory usage //system memory usage
sysInfo := new(syscall.Sysinfo_t) sysInfo := new(syscall.Sysinfo_t)
err := syscall.Sysinfo(sysInfo) err := syscall.Sysinfo(sysInfo)