Loading ui/build/config.go +6 −0 Original line number Diff line number Diff line Loading @@ -303,6 +303,12 @@ func storeConfigMetrics(ctx Context, config Config) { UseRbe: proto.Bool(config.UseRBE()), } ctx.Metrics.BuildConfig(b) s := &smpb.SystemResourceInfo{ TotalPhysicalMemory: proto.Uint64(config.TotalRAM()), AvailableCpus: proto.Int32(int32(runtime.NumCPU())), } ctx.Metrics.SystemResourceInfo(s) } // getConfigArgs processes the command arguments based on the build action and creates a set of new Loading ui/metrics/metrics.go +4 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,10 @@ func (m *Metrics) BuildConfig(b *soong_metrics_proto.BuildConfig) { m.metrics.BuildConfig = b } func (m *Metrics) SystemResourceInfo(b *soong_metrics_proto.SystemResourceInfo) { m.metrics.SystemResourceInfo = b } func (m *Metrics) SetMetadataMetrics(metadata map[string]string) { for k, v := range metadata { switch k { Loading ui/metrics/metrics_proto/metrics.pb.go +142 −78 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ func (x *ModuleTypeInfo_BuildSystem) UnmarshalJSON(data []byte) error { } func (ModuleTypeInfo_BuildSystem) EnumDescriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{3, 0} return fileDescriptor_6039342a2ba47b72, []int{4, 0} } type MetricsBase struct { Loading Loading @@ -200,8 +200,10 @@ type MetricsBase struct { Total *PerfInfo `protobuf:"bytes,21,opt,name=total" json:"total,omitempty"` SoongBuildMetrics *SoongBuildMetrics `protobuf:"bytes,22,opt,name=soong_build_metrics,json=soongBuildMetrics" json:"soong_build_metrics,omitempty"` BuildConfig *BuildConfig `protobuf:"bytes,23,opt,name=build_config,json=buildConfig" json:"build_config,omitempty"` // The hostname of the machine // The hostname of the machine. Hostname *string `protobuf:"bytes,24,opt,name=hostname" json:"hostname,omitempty"` // The system resource information such as total physical memory. SystemResourceInfo *SystemResourceInfo `protobuf:"bytes,25,opt,name=system_resource_info,json=systemResourceInfo" json:"system_resource_info,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` Loading Loading @@ -405,6 +407,13 @@ func (m *MetricsBase) GetHostname() string { return "" } func (m *MetricsBase) GetSystemResourceInfo() *SystemResourceInfo { if m != nil { return m.SystemResourceInfo } return nil } type BuildConfig struct { UseGoma *bool `protobuf:"varint,1,opt,name=use_goma,json=useGoma" json:"use_goma,omitempty"` UseRbe *bool `protobuf:"varint,2,opt,name=use_rbe,json=useRbe" json:"use_rbe,omitempty"` Loading Loading @@ -460,6 +469,55 @@ func (m *BuildConfig) GetForceUseGoma() bool { return false } type SystemResourceInfo struct { // The total physical memory in bytes. TotalPhysicalMemory *uint64 `protobuf:"varint,1,opt,name=total_physical_memory,json=totalPhysicalMemory" json:"total_physical_memory,omitempty"` // The total of available cores for building AvailableCpus *int32 `protobuf:"varint,2,opt,name=available_cpus,json=availableCpus" json:"available_cpus,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SystemResourceInfo) Reset() { *m = SystemResourceInfo{} } func (m *SystemResourceInfo) String() string { return proto.CompactTextString(m) } func (*SystemResourceInfo) ProtoMessage() {} func (*SystemResourceInfo) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{2} } func (m *SystemResourceInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SystemResourceInfo.Unmarshal(m, b) } func (m *SystemResourceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SystemResourceInfo.Marshal(b, m, deterministic) } func (m *SystemResourceInfo) XXX_Merge(src proto.Message) { xxx_messageInfo_SystemResourceInfo.Merge(m, src) } func (m *SystemResourceInfo) XXX_Size() int { return xxx_messageInfo_SystemResourceInfo.Size(m) } func (m *SystemResourceInfo) XXX_DiscardUnknown() { xxx_messageInfo_SystemResourceInfo.DiscardUnknown(m) } var xxx_messageInfo_SystemResourceInfo proto.InternalMessageInfo func (m *SystemResourceInfo) GetTotalPhysicalMemory() uint64 { if m != nil && m.TotalPhysicalMemory != nil { return *m.TotalPhysicalMemory } return 0 } func (m *SystemResourceInfo) GetAvailableCpus() int32 { if m != nil && m.AvailableCpus != nil { return *m.AvailableCpus } return 0 } type PerfInfo struct { // The description for the phase/action/part while the tool running. Desc *string `protobuf:"bytes,1,opt,name=desc" json:"desc,omitempty"` Loading @@ -482,7 +540,7 @@ func (m *PerfInfo) Reset() { *m = PerfInfo{} } func (m *PerfInfo) String() string { return proto.CompactTextString(m) } func (*PerfInfo) ProtoMessage() {} func (*PerfInfo) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{2} return fileDescriptor_6039342a2ba47b72, []int{3} } func (m *PerfInfo) XXX_Unmarshal(b []byte) error { Loading Loading @@ -554,7 +612,7 @@ func (m *ModuleTypeInfo) Reset() { *m = ModuleTypeInfo{} } func (m *ModuleTypeInfo) String() string { return proto.CompactTextString(m) } func (*ModuleTypeInfo) ProtoMessage() {} func (*ModuleTypeInfo) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{3} return fileDescriptor_6039342a2ba47b72, []int{4} } func (m *ModuleTypeInfo) XXX_Unmarshal(b []byte) error { Loading Loading @@ -612,7 +670,7 @@ func (m *CriticalUserJourneyMetrics) Reset() { *m = CriticalUserJourneyM func (m *CriticalUserJourneyMetrics) String() string { return proto.CompactTextString(m) } func (*CriticalUserJourneyMetrics) ProtoMessage() {} func (*CriticalUserJourneyMetrics) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{4} return fileDescriptor_6039342a2ba47b72, []int{5} } func (m *CriticalUserJourneyMetrics) XXX_Unmarshal(b []byte) error { Loading Loading @@ -659,7 +717,7 @@ func (m *CriticalUserJourneysMetrics) Reset() { *m = CriticalUserJourney func (m *CriticalUserJourneysMetrics) String() string { return proto.CompactTextString(m) } func (*CriticalUserJourneysMetrics) ProtoMessage() {} func (*CriticalUserJourneysMetrics) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{5} return fileDescriptor_6039342a2ba47b72, []int{6} } func (m *CriticalUserJourneysMetrics) XXX_Unmarshal(b []byte) error { Loading Loading @@ -707,7 +765,7 @@ func (m *SoongBuildMetrics) Reset() { *m = SoongBuildMetrics{} } func (m *SoongBuildMetrics) String() string { return proto.CompactTextString(m) } func (*SoongBuildMetrics) ProtoMessage() {} func (*SoongBuildMetrics) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{6} return fileDescriptor_6039342a2ba47b72, []int{7} } func (m *SoongBuildMetrics) XXX_Unmarshal(b []byte) error { Loading Loading @@ -769,6 +827,7 @@ func init() { proto.RegisterEnum("soong_build_metrics.ModuleTypeInfo_BuildSystem", ModuleTypeInfo_BuildSystem_name, ModuleTypeInfo_BuildSystem_value) proto.RegisterType((*MetricsBase)(nil), "soong_build_metrics.MetricsBase") proto.RegisterType((*BuildConfig)(nil), "soong_build_metrics.BuildConfig") proto.RegisterType((*SystemResourceInfo)(nil), "soong_build_metrics.SystemResourceInfo") proto.RegisterType((*PerfInfo)(nil), "soong_build_metrics.PerfInfo") proto.RegisterType((*ModuleTypeInfo)(nil), "soong_build_metrics.ModuleTypeInfo") proto.RegisterType((*CriticalUserJourneyMetrics)(nil), "soong_build_metrics.CriticalUserJourneyMetrics") Loading @@ -781,71 +840,76 @@ func init() { } var fileDescriptor_6039342a2ba47b72 = []byte{ // 1047 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xef, 0x4e, 0x1b, 0x47, 0x10, 0xcf, 0x61, 0x83, 0x7d, 0x73, 0xd8, 0x1c, 0x0b, 0x29, 0x97, 0x44, 0xa8, 0x96, 0xd5, 0x44, 0xa8, 0x6a, 0x48, 0x44, 0x23, 0x14, 0xa1, 0xa8, 0x12, 0x18, 0x44, 0x53, 0x04, 0x8e, 0x16, 0x4c, 0xa3, 0xf6, 0xc3, 0x69, 0x7d, 0xb7, 0x86, 0x4b, 0x7d, 0xb7, 0xd6, 0xee, 0x5e, 0x04, 0x79, 0x87, 0xbe, 0x40, 0x5f, 0xa7, 0xcf, 0xd2, 0xf7, 0xa8, 0x76, 0xf6, 0xce, 0x3e, 0x5a, 0xb7, 0x41, 0xf9, 0xe6, 0x9d, 0xdf, 0x9f, 0x9d, 0x9d, 0x9d, 0x9d, 0x33, 0xb4, 0x52, 0xae, 0x65, 0x12, 0xa9, 0xed, 0x89, 0x14, 0x5a, 0x90, 0x35, 0x25, 0x44, 0x76, 0x15, 0x0e, 0xf3, 0x64, 0x1c, 0x87, 0x05, 0xd4, 0xfd, 0xc3, 0x03, 0xef, 0xd4, 0xfe, 0x3e, 0x60, 0x8a, 0x93, 0x97, 0xb0, 0x6e, 0x09, 0x31, 0xd3, 0x3c, 0xd4, 0x49, 0xca, 0x95, 0x66, 0xe9, 0x24, 0x70, 0x3a, 0xce, 0x56, 0x8d, 0x12, 0xc4, 0x0e, 0x99, 0xe6, 0x17, 0x25, 0x42, 0x1e, 0x41, 0xd3, 0x2a, 0x92, 0x38, 0x58, 0xe8, 0x38, 0x5b, 0x2e, 0x6d, 0xe0, 0xfa, 0x6d, 0x4c, 0xf6, 0xe0, 0xd1, 0x64, 0xcc, 0xf4, 0x48, 0xc8, 0x34, 0xfc, 0xc8, 0xa5, 0x4a, 0x44, 0x16, 0x46, 0x22, 0xe6, 0x19, 0x4b, 0x79, 0x50, 0x43, 0xee, 0x46, 0x49, 0xb8, 0xb4, 0x78, 0xaf, 0x80, 0xc9, 0x53, 0x68, 0x6b, 0x26, 0xaf, 0xb8, 0x0e, 0x27, 0x52, 0xc4, 0x79, 0xa4, 0x83, 0x3a, 0x0a, 0x5a, 0x36, 0xfa, 0xce, 0x06, 0x49, 0x0c, 0xeb, 0x05, 0xcd, 0x26, 0xf1, 0x91, 0xc9, 0x84, 0x65, 0x3a, 0x58, 0xec, 0x38, 0x5b, 0xed, 0x9d, 0xe7, 0xdb, 0x73, 0xce, 0xbc, 0x5d, 0x39, 0xef, 0xf6, 0x81, 0x41, 0x2e, 0xad, 0x68, 0xaf, 0x76, 0x74, 0x76, 0x4c, 0x89, 0xf5, 0xab, 0x02, 0xa4, 0x0f, 0x5e, 0xb1, 0x0b, 0x93, 0xd1, 0x75, 0xb0, 0x84, 0xe6, 0x4f, 0x3f, 0x6b, 0xbe, 0x2f, 0xa3, 0xeb, 0xbd, 0xc6, 0xe0, 0xec, 0xe4, 0xac, 0xff, 0xf3, 0x19, 0x05, 0x6b, 0x61, 0x82, 0x64, 0x1b, 0xd6, 0x2a, 0x86, 0xd3, 0xac, 0x1b, 0x78, 0xc4, 0xd5, 0x19, 0xb1, 0x4c, 0xe0, 0x3b, 0x28, 0xd2, 0x0a, 0xa3, 0x49, 0x3e, 0xa5, 0x37, 0x91, 0xee, 0x5b, 0xa4, 0x37, 0xc9, 0x4b, 0xf6, 0x09, 0xb8, 0xd7, 0x42, 0x15, 0xc9, 0xba, 0x5f, 0x94, 0x6c, 0xd3, 0x18, 0x60, 0xaa, 0x14, 0x5a, 0x68, 0xb6, 0x93, 0xc5, 0xd6, 0x10, 0xbe, 0xc8, 0xd0, 0x33, 0x26, 0x3b, 0x59, 0x8c, 0x9e, 0x1b, 0xd0, 0x40, 0x4f, 0xa1, 0x02, 0x0f, 0xcf, 0xb0, 0x64, 0x96, 0x7d, 0x45, 0xba, 0xc5, 0x66, 0x42, 0x85, 0xfc, 0x46, 0x4b, 0x16, 0x2c, 0x23, 0xec, 0x59, 0xf8, 0xc8, 0x84, 0xa6, 0x9c, 0x48, 0x0a, 0xa5, 0x8c, 0x45, 0x6b, 0xc6, 0xe9, 0x99, 0x58, 0x5f, 0x91, 0x67, 0xb0, 0x52, 0xe1, 0x60, 0xda, 0x6d, 0xdb, 0x3e, 0x53, 0x16, 0x26, 0xf2, 0x1c, 0xd6, 0x2a, 0xbc, 0xe9, 0x11, 0x57, 0x6c, 0x61, 0xa7, 0xdc, 0x4a, 0xde, 0x22, 0xd7, 0x61, 0x9c, 0xc8, 0xc0, 0xb7, 0x79, 0x8b, 0x5c, 0x1f, 0x26, 0x92, 0xfc, 0x00, 0x9e, 0xe2, 0x3a, 0x9f, 0x84, 0x5a, 0x88, 0xb1, 0x0a, 0x56, 0x3b, 0xb5, 0x2d, 0x6f, 0x67, 0x73, 0x6e, 0x89, 0xde, 0x71, 0x39, 0x7a, 0x9b, 0x8d, 0x04, 0x05, 0x54, 0x5c, 0x18, 0x01, 0xd9, 0x03, 0xf7, 0x37, 0xa6, 0x93, 0x50, 0xe6, 0x99, 0x0a, 0xc8, 0x7d, 0xd4, 0x4d, 0xc3, 0xa7, 0x79, 0xa6, 0xc8, 0x1b, 0x00, 0xcb, 0x44, 0xf1, 0xda, 0x7d, 0xc4, 0x2e, 0xa2, 0xa5, 0x3a, 0x4b, 0xb2, 0x0f, 0xcc, 0xaa, 0xd7, 0xef, 0xa5, 0x46, 0x01, 0xaa, 0xbf, 0x87, 0x45, 0x2d, 0x34, 0x1b, 0x07, 0x0f, 0x3b, 0xce, 0xe7, 0x85, 0x96, 0x4b, 0x2e, 0x61, 0xde, 0x28, 0x0a, 0xbe, 0x42, 0x8b, 0x67, 0x73, 0x2d, 0xce, 0x4d, 0x0c, 0x9f, 0x64, 0xd1, 0x61, 0x74, 0x55, 0xfd, 0x33, 0x44, 0x7a, 0xb0, 0x6c, 0x55, 0x91, 0xc8, 0x46, 0xc9, 0x55, 0xb0, 0x81, 0x86, 0x9d, 0xb9, 0x86, 0x28, 0xec, 0x21, 0x8f, 0x7a, 0xc3, 0xd9, 0x82, 0x3c, 0x06, 0x6c, 0x7d, 0x1c, 0x51, 0x01, 0xde, 0xf1, 0x74, 0xdd, 0x7d, 0x09, 0xcb, 0x77, 0xc6, 0x42, 0x13, 0xea, 0x83, 0xf3, 0x23, 0xea, 0x3f, 0x20, 0x2d, 0x70, 0xcd, 0xaf, 0xc3, 0xa3, 0x83, 0xc1, 0xb1, 0xef, 0x90, 0x06, 0x98, 0x51, 0xe2, 0x2f, 0x74, 0xdf, 0x40, 0x1d, 0x1b, 0xc7, 0x83, 0xf2, 0x21, 0xf8, 0x0f, 0x0c, 0xba, 0x4f, 0x4f, 0x7d, 0x87, 0xb8, 0xb0, 0xb8, 0x4f, 0x4f, 0x77, 0x5f, 0xf9, 0x0b, 0x26, 0xf6, 0xfe, 0xf5, 0xae, 0x5f, 0x23, 0x00, 0x4b, 0xef, 0x5f, 0xef, 0x86, 0xbb, 0xaf, 0xfc, 0x7a, 0xf7, 0x0a, 0xbc, 0x4a, 0x9e, 0x66, 0xd2, 0xe6, 0x8a, 0x87, 0x57, 0x22, 0x65, 0x38, 0x8f, 0x9b, 0xb4, 0x91, 0x2b, 0x7e, 0x2c, 0x52, 0x66, 0x1a, 0xd3, 0x40, 0x72, 0xc8, 0x71, 0x06, 0x37, 0xe9, 0x52, 0xae, 0x38, 0x1d, 0x72, 0xf2, 0x0d, 0xb4, 0x47, 0x42, 0x46, 0x3c, 0x9c, 0x2a, 0x6b, 0x88, 0x2f, 0x63, 0x74, 0x60, 0xe5, 0xdd, 0xdf, 0x1d, 0x68, 0x96, 0xb7, 0x44, 0x08, 0xd4, 0x63, 0xae, 0x22, 0xdc, 0xc2, 0xa5, 0xf8, 0xdb, 0xc4, 0xb0, 0x22, 0x76, 0xc0, 0xe3, 0x6f, 0xb2, 0x09, 0xa0, 0x34, 0x93, 0x1a, 0xbf, 0x12, 0x68, 0x5b, 0xa7, 0x2e, 0x46, 0xcc, 0xc7, 0x81, 0x3c, 0x01, 0x57, 0x72, 0x36, 0xb6, 0x68, 0x1d, 0xd1, 0xa6, 0x09, 0x20, 0xb8, 0x09, 0x90, 0xf2, 0x54, 0xc8, 0x5b, 0x93, 0x17, 0x0e, 0xeb, 0x3a, 0x75, 0x6d, 0x64, 0xa0, 0x78, 0xf7, 0x2f, 0x07, 0xda, 0xa7, 0x22, 0xce, 0xc7, 0xfc, 0xe2, 0x76, 0xc2, 0x31, 0xab, 0x5f, 0xcb, 0xcb, 0x55, 0xb7, 0x4a, 0xf3, 0x14, 0xb3, 0x6b, 0xef, 0xbc, 0x98, 0x3f, 0x85, 0xee, 0x48, 0xed, 0x5d, 0x9f, 0xa3, 0xac, 0x32, 0x8f, 0x86, 0xb3, 0x28, 0xf9, 0x1a, 0xbc, 0x14, 0x35, 0xa1, 0xbe, 0x9d, 0x94, 0xa7, 0x84, 0x74, 0x6a, 0x63, 0xca, 0x98, 0xe5, 0x69, 0x28, 0x46, 0xa1, 0x0d, 0x2a, 0x3c, 0x6f, 0x8b, 0x2e, 0x67, 0x79, 0xda, 0x1f, 0xd9, 0xfd, 0x54, 0xf7, 0x45, 0x71, 0x5f, 0x85, 0xeb, 0x9d, 0x4b, 0x77, 0x61, 0xf1, 0xbc, 0xdf, 0x3f, 0x33, 0xdd, 0xd1, 0x84, 0xfa, 0xe9, 0xfe, 0xc9, 0x91, 0xbf, 0xd0, 0x1d, 0xc3, 0xe3, 0x9e, 0x4c, 0x74, 0x12, 0xb1, 0xf1, 0x40, 0x71, 0xf9, 0x93, 0xc8, 0x65, 0xc6, 0x6f, 0xcb, 0x7e, 0x2e, 0x8b, 0xee, 0x54, 0x8a, 0xbe, 0x07, 0x8d, 0xf2, 0xbd, 0x2c, 0xfc, 0x4f, 0x7b, 0x57, 0xe6, 0x30, 0x2d, 0x05, 0xdd, 0x21, 0x3c, 0x99, 0xb3, 0x9b, 0x9a, 0x3d, 0x9f, 0x7a, 0x94, 0x7f, 0x50, 0x81, 0x83, 0x33, 0x60, 0x7e, 0x65, 0xff, 0x3b, 0x5b, 0x8a, 0xe2, 0xee, 0x9f, 0x0e, 0xac, 0xfe, 0xeb, 0xb1, 0x92, 0x00, 0x1a, 0x65, 0xdd, 0x1c, 0xac, 0x5b, 0xb9, 0x34, 0xcf, 0xad, 0xf8, 0x9a, 0xd9, 0x03, 0xb5, 0xe8, 0x74, 0x4d, 0xbe, 0x85, 0x55, 0x1c, 0x18, 0x21, 0x1b, 0x8f, 0x45, 0x14, 0x46, 0x22, 0xcf, 0x74, 0xd1, 0x67, 0x2b, 0x08, 0xec, 0x9b, 0x78, 0xcf, 0x84, 0xc9, 0x16, 0xf8, 0x55, 0xae, 0x4a, 0x3e, 0x95, 0x4d, 0xd7, 0x9e, 0x51, 0xcf, 0x93, 0x4f, 0xdc, 0x7c, 0x3e, 0x52, 0x76, 0x13, 0x5e, 0x73, 0x36, 0xb1, 0x34, 0xdb, 0x7d, 0x5e, 0xca, 0x6e, 0x7e, 0xe4, 0x6c, 0x62, 0x38, 0x07, 0x0f, 0x7f, 0x29, 0x26, 0x54, 0x71, 0xee, 0x10, 0xff, 0x41, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x9e, 0xa1, 0xd5, 0x51, 0x09, 0x00, 0x00, // 1130 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x6f, 0x6f, 0xd4, 0x46, 0x13, 0xc7, 0xc9, 0x25, 0x77, 0x1e, 0xe7, 0x0e, 0x67, 0x13, 0x1e, 0x0c, 0x08, 0x3d, 0x91, 0x55, 0x68, 0x54, 0x95, 0x80, 0xae, 0x28, 0x42, 0x11, 0xaa, 0x94, 0x1c, 0x11, 0xa5, 0xe8, 0x72, 0x68, 0xc3, 0x51, 0xda, 0xbe, 0xb0, 0xf6, 0xec, 0xbd, 0xc4, 0xd4, 0xf6, 0x5a, 0xbb, 0x6b, 0xc4, 0xf1, 0x1d, 0xfa, 0xa9, 0xfa, 0x59, 0xfa, 0x11, 0xfa, 0xbe, 0xda, 0x59, 0xfb, 0xee, 0x28, 0xd7, 0x82, 0x78, 0x77, 0x9e, 0xdf, 0x9f, 0x9d, 0x19, 0x8f, 0x67, 0x0f, 0xba, 0x39, 0xd7, 0x32, 0x8d, 0xd5, 0x41, 0x29, 0x85, 0x16, 0x64, 0x47, 0x09, 0x51, 0x5c, 0x44, 0x93, 0x2a, 0xcd, 0x92, 0xa8, 0x86, 0xc2, 0xbf, 0x3c, 0xf0, 0x86, 0xf6, 0xf7, 0x09, 0x53, 0x9c, 0x3c, 0x80, 0x5d, 0x4b, 0x48, 0x98, 0xe6, 0x91, 0x4e, 0x73, 0xae, 0x34, 0xcb, 0xcb, 0xc0, 0xd9, 0x73, 0xf6, 0xd7, 0x29, 0x41, 0xec, 0x09, 0xd3, 0xfc, 0x65, 0x83, 0x90, 0x1b, 0xd0, 0xb1, 0x8a, 0x34, 0x09, 0xd6, 0xf6, 0x9c, 0x7d, 0x97, 0xb6, 0xf1, 0xf9, 0x59, 0x42, 0x8e, 0xe0, 0x46, 0x99, 0x31, 0x3d, 0x15, 0x32, 0x8f, 0xde, 0x72, 0xa9, 0x52, 0x51, 0x44, 0xb1, 0x48, 0x78, 0xc1, 0x72, 0x1e, 0xac, 0x23, 0xf7, 0x7a, 0x43, 0x78, 0x65, 0xf1, 0x41, 0x0d, 0x93, 0x3b, 0xd0, 0xd3, 0x4c, 0x5e, 0x70, 0x1d, 0x95, 0x52, 0x24, 0x55, 0xac, 0x83, 0x16, 0x0a, 0xba, 0x36, 0xfa, 0xc2, 0x06, 0x49, 0x02, 0xbb, 0x35, 0xcd, 0x26, 0xf1, 0x96, 0xc9, 0x94, 0x15, 0x3a, 0xd8, 0xd8, 0x73, 0xf6, 0x7b, 0xfd, 0x7b, 0x07, 0x2b, 0x6a, 0x3e, 0x58, 0xaa, 0xf7, 0xe0, 0xc4, 0x20, 0xaf, 0xac, 0xe8, 0x68, 0xfd, 0xf4, 0xec, 0x29, 0x25, 0xd6, 0x6f, 0x19, 0x20, 0x23, 0xf0, 0xea, 0x53, 0x98, 0x8c, 0x2f, 0x83, 0x4d, 0x34, 0xbf, 0xf3, 0x49, 0xf3, 0x63, 0x19, 0x5f, 0x1e, 0xb5, 0xc7, 0x67, 0xcf, 0xcf, 0x46, 0x3f, 0x9d, 0x51, 0xb0, 0x16, 0x26, 0x48, 0x0e, 0x60, 0x67, 0xc9, 0x70, 0x9e, 0x75, 0x1b, 0x4b, 0xdc, 0x5e, 0x10, 0x9b, 0x04, 0xbe, 0x85, 0x3a, 0xad, 0x28, 0x2e, 0xab, 0x39, 0xbd, 0x83, 0x74, 0xdf, 0x22, 0x83, 0xb2, 0x6a, 0xd8, 0xcf, 0xc1, 0xbd, 0x14, 0xaa, 0x4e, 0xd6, 0xfd, 0xa2, 0x64, 0x3b, 0xc6, 0x00, 0x53, 0xa5, 0xd0, 0x45, 0xb3, 0x7e, 0x91, 0x58, 0x43, 0xf8, 0x22, 0x43, 0xcf, 0x98, 0xf4, 0x8b, 0x04, 0x3d, 0xaf, 0x43, 0x1b, 0x3d, 0x85, 0x0a, 0x3c, 0xac, 0x61, 0xd3, 0x3c, 0x8e, 0x14, 0x09, 0xeb, 0xc3, 0x84, 0x8a, 0xf8, 0x3b, 0x2d, 0x59, 0xb0, 0x85, 0xb0, 0x67, 0xe1, 0x53, 0x13, 0x9a, 0x73, 0x62, 0x29, 0x94, 0x32, 0x16, 0xdd, 0x05, 0x67, 0x60, 0x62, 0x23, 0x45, 0xee, 0xc2, 0xd5, 0x25, 0x0e, 0xa6, 0xdd, 0xb3, 0xe3, 0x33, 0x67, 0x61, 0x22, 0xf7, 0x60, 0x67, 0x89, 0x37, 0x2f, 0xf1, 0xaa, 0x6d, 0xec, 0x9c, 0xbb, 0x94, 0xb7, 0xa8, 0x74, 0x94, 0xa4, 0x32, 0xf0, 0x6d, 0xde, 0xa2, 0xd2, 0x4f, 0x52, 0x49, 0xbe, 0x07, 0x4f, 0x71, 0x5d, 0x95, 0x91, 0x16, 0x22, 0x53, 0xc1, 0xf6, 0xde, 0xfa, 0xbe, 0xd7, 0xbf, 0xbd, 0xb2, 0x45, 0x2f, 0xb8, 0x9c, 0x3e, 0x2b, 0xa6, 0x82, 0x02, 0x2a, 0x5e, 0x1a, 0x01, 0x39, 0x02, 0xf7, 0x37, 0xa6, 0xd3, 0x48, 0x56, 0x85, 0x0a, 0xc8, 0xe7, 0xa8, 0x3b, 0x86, 0x4f, 0xab, 0x42, 0x91, 0xc7, 0x00, 0x96, 0x89, 0xe2, 0x9d, 0xcf, 0x11, 0xbb, 0x88, 0x36, 0xea, 0x22, 0x2d, 0xde, 0x30, 0xab, 0xde, 0xfd, 0x2c, 0x35, 0x0a, 0x50, 0xfd, 0x1d, 0x6c, 0x68, 0xa1, 0x59, 0x16, 0x5c, 0xdb, 0x73, 0x3e, 0x2d, 0xb4, 0x5c, 0xf2, 0x0a, 0x56, 0xad, 0xa2, 0xe0, 0x7f, 0x68, 0x71, 0x77, 0xa5, 0xc5, 0xb9, 0x89, 0xe1, 0x27, 0x59, 0x4f, 0x18, 0xdd, 0x56, 0xff, 0x0c, 0x91, 0x01, 0x6c, 0x59, 0x55, 0x2c, 0x8a, 0x69, 0x7a, 0x11, 0x5c, 0x47, 0xc3, 0xbd, 0x95, 0x86, 0x28, 0x1c, 0x20, 0x8f, 0x7a, 0x93, 0xc5, 0x03, 0xb9, 0x09, 0x38, 0xfa, 0xb8, 0xa2, 0x02, 0x7c, 0xc7, 0xf3, 0x67, 0xf2, 0x33, 0xec, 0xaa, 0x99, 0xd2, 0x3c, 0x8f, 0x24, 0x57, 0xa2, 0x92, 0x31, 0x8f, 0xd2, 0x62, 0x2a, 0x82, 0x1b, 0x78, 0xd0, 0xd7, 0xab, 0x33, 0x47, 0x01, 0xad, 0xf9, 0xd8, 0x06, 0xa2, 0x3e, 0x8a, 0x85, 0x0f, 0x60, 0xeb, 0x83, 0x8d, 0xd3, 0x81, 0xd6, 0xf8, 0xfc, 0x94, 0xfa, 0x57, 0x48, 0x17, 0x5c, 0xf3, 0xeb, 0xc9, 0xe9, 0xc9, 0xf8, 0xa9, 0xef, 0x90, 0x36, 0x98, 0x2d, 0xe5, 0xaf, 0x85, 0x8f, 0xa1, 0x85, 0x33, 0xe9, 0x41, 0xf3, 0x8d, 0xf9, 0x57, 0x0c, 0x7a, 0x4c, 0x87, 0xbe, 0x43, 0x5c, 0xd8, 0x38, 0xa6, 0xc3, 0xc3, 0x87, 0xfe, 0x9a, 0x89, 0xbd, 0x7e, 0x74, 0xe8, 0xaf, 0x13, 0x80, 0xcd, 0xd7, 0x8f, 0x0e, 0xa3, 0xc3, 0x87, 0x7e, 0x2b, 0xbc, 0x00, 0x6f, 0xa9, 0x05, 0x66, 0x89, 0x57, 0x8a, 0x47, 0x17, 0x22, 0x67, 0xb8, 0xea, 0x3b, 0xb4, 0x5d, 0x29, 0xfe, 0x54, 0xe4, 0xcc, 0xcc, 0xbc, 0x81, 0xe4, 0x84, 0xe3, 0x7a, 0xef, 0xd0, 0xcd, 0x4a, 0x71, 0x3a, 0xe1, 0xe4, 0x2b, 0xe8, 0x4d, 0x85, 0xe9, 0xc1, 0x5c, 0xb9, 0x8e, 0xf8, 0x16, 0x46, 0xc7, 0x56, 0x1e, 0x0a, 0x20, 0x1f, 0xb7, 0x80, 0xf4, 0xe1, 0x1a, 0xce, 0x42, 0x54, 0x5e, 0xce, 0x54, 0x1a, 0xb3, 0x2c, 0xca, 0x79, 0x2e, 0xe4, 0x0c, 0x0f, 0x6f, 0xd1, 0x1d, 0x04, 0x5f, 0xd4, 0xd8, 0x10, 0x21, 0x73, 0x23, 0xb0, 0xb7, 0x2c, 0xcd, 0xd8, 0x24, 0xe3, 0x66, 0x0d, 0x2a, 0xcc, 0x67, 0x83, 0x76, 0xe7, 0xd1, 0x41, 0x59, 0xa9, 0xf0, 0x77, 0x07, 0x3a, 0xcd, 0xc4, 0x11, 0x02, 0xad, 0x84, 0xab, 0x18, 0x6d, 0x5d, 0x8a, 0xbf, 0x4d, 0x0c, 0xdf, 0xae, 0xbd, 0xac, 0xf0, 0x37, 0xb9, 0x0d, 0xa0, 0x34, 0x93, 0x1a, 0x6f, 0x3c, 0xac, 0xa3, 0x45, 0x5d, 0x8c, 0x98, 0x8b, 0x8e, 0xdc, 0x02, 0x57, 0x72, 0x96, 0x59, 0xb4, 0x85, 0x68, 0xc7, 0x04, 0x10, 0xbc, 0x0d, 0x60, 0x93, 0x37, 0x8d, 0xc0, 0x8b, 0xa7, 0x45, 0x5d, 0x1b, 0x19, 0x2b, 0x1e, 0xfe, 0xe9, 0x40, 0x6f, 0x28, 0x92, 0x2a, 0xe3, 0x2f, 0x67, 0xa5, 0xad, 0xfe, 0xd7, 0x66, 0x50, 0xed, 0x20, 0x60, 0x76, 0xbd, 0xfe, 0xfd, 0xd5, 0x1b, 0xf5, 0x03, 0xa9, 0x9d, 0x5b, 0xdb, 0xd0, 0xa5, 0xdd, 0x3a, 0x59, 0x44, 0xc9, 0xff, 0xc1, 0xcb, 0x51, 0x13, 0xe9, 0x59, 0xd9, 0x54, 0x09, 0xf9, 0xdc, 0xc6, 0xbc, 0xb7, 0xa2, 0xca, 0x23, 0x31, 0x8d, 0x6c, 0x50, 0x61, 0xbd, 0x5d, 0xba, 0x55, 0x54, 0xf9, 0x68, 0x6a, 0xcf, 0x53, 0xe1, 0xfd, 0x7a, 0x40, 0x6a, 0xd7, 0x0f, 0xa6, 0xcc, 0x85, 0x8d, 0xf3, 0xd1, 0xe8, 0xcc, 0x8c, 0x63, 0x07, 0x5a, 0xc3, 0xe3, 0xe7, 0xa7, 0xfe, 0x5a, 0x98, 0xc1, 0xcd, 0x81, 0x4c, 0xb5, 0x79, 0x61, 0x63, 0xc5, 0xe5, 0x8f, 0xa2, 0x92, 0x05, 0x9f, 0x35, 0xdf, 0x66, 0xd3, 0x74, 0x67, 0xa9, 0xe9, 0x47, 0xd0, 0x6e, 0xbe, 0xfd, 0xb5, 0xff, 0xf8, 0x54, 0x97, 0xee, 0x14, 0xda, 0x08, 0xc2, 0x09, 0xdc, 0x5a, 0x71, 0x9a, 0x5a, 0xac, 0x82, 0x56, 0x5c, 0xbd, 0x51, 0x81, 0x83, 0xfb, 0x6c, 0x75, 0x67, 0xff, 0x3d, 0x5b, 0x8a, 0xe2, 0xf0, 0x0f, 0x07, 0xb6, 0x3f, 0x5a, 0x3c, 0x24, 0x80, 0x76, 0xd3, 0x37, 0x07, 0xfb, 0xd6, 0x3c, 0x9a, 0xd5, 0x51, 0xdf, 0xcc, 0xb6, 0xa0, 0x2e, 0x9d, 0x3f, 0x93, 0x6f, 0x60, 0xdb, 0x0e, 0x3c, 0xcb, 0x32, 0x11, 0x47, 0xb1, 0xa8, 0x0a, 0x5d, 0xcf, 0xd9, 0x55, 0x04, 0x8e, 0x4d, 0x7c, 0x60, 0xc2, 0x64, 0x1f, 0xfc, 0x65, 0xae, 0x4a, 0xdf, 0x37, 0x43, 0xd7, 0x5b, 0x50, 0xcf, 0xd3, 0xf7, 0xdc, 0x5c, 0x85, 0x39, 0x7b, 0x17, 0x5d, 0x72, 0x56, 0x5a, 0x9a, 0x9d, 0x3e, 0x2f, 0x67, 0xef, 0x7e, 0xe0, 0xac, 0x34, 0x9c, 0x93, 0x6b, 0xbf, 0xd4, 0xdb, 0xb6, 0xae, 0x3b, 0xc2, 0x7f, 0x83, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa3, 0xdd, 0xbb, 0xb3, 0x1d, 0x0a, 0x00, 0x00, } ui/metrics/metrics_proto/metrics.proto +11 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,9 @@ message MetricsBase { // The hostname of the machine. optional string hostname = 24; // The system resource information such as total physical memory. optional SystemResourceInfo system_resource_info = 25; } message BuildConfig { Loading @@ -109,6 +112,14 @@ message BuildConfig { optional bool force_use_goma = 3; } message SystemResourceInfo { // The total physical memory in bytes. optional uint64 total_physical_memory = 1; // The total of available cores for building optional int32 available_cpus = 2; } message PerfInfo { // The description for the phase/action/part while the tool running. optional string desc = 1; Loading Loading
ui/build/config.go +6 −0 Original line number Diff line number Diff line Loading @@ -303,6 +303,12 @@ func storeConfigMetrics(ctx Context, config Config) { UseRbe: proto.Bool(config.UseRBE()), } ctx.Metrics.BuildConfig(b) s := &smpb.SystemResourceInfo{ TotalPhysicalMemory: proto.Uint64(config.TotalRAM()), AvailableCpus: proto.Int32(int32(runtime.NumCPU())), } ctx.Metrics.SystemResourceInfo(s) } // getConfigArgs processes the command arguments based on the build action and creates a set of new Loading
ui/metrics/metrics.go +4 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,10 @@ func (m *Metrics) BuildConfig(b *soong_metrics_proto.BuildConfig) { m.metrics.BuildConfig = b } func (m *Metrics) SystemResourceInfo(b *soong_metrics_proto.SystemResourceInfo) { m.metrics.SystemResourceInfo = b } func (m *Metrics) SetMetadataMetrics(metadata map[string]string) { for k, v := range metadata { switch k { Loading
ui/metrics/metrics_proto/metrics.pb.go +142 −78 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ func (x *ModuleTypeInfo_BuildSystem) UnmarshalJSON(data []byte) error { } func (ModuleTypeInfo_BuildSystem) EnumDescriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{3, 0} return fileDescriptor_6039342a2ba47b72, []int{4, 0} } type MetricsBase struct { Loading Loading @@ -200,8 +200,10 @@ type MetricsBase struct { Total *PerfInfo `protobuf:"bytes,21,opt,name=total" json:"total,omitempty"` SoongBuildMetrics *SoongBuildMetrics `protobuf:"bytes,22,opt,name=soong_build_metrics,json=soongBuildMetrics" json:"soong_build_metrics,omitempty"` BuildConfig *BuildConfig `protobuf:"bytes,23,opt,name=build_config,json=buildConfig" json:"build_config,omitempty"` // The hostname of the machine // The hostname of the machine. Hostname *string `protobuf:"bytes,24,opt,name=hostname" json:"hostname,omitempty"` // The system resource information such as total physical memory. SystemResourceInfo *SystemResourceInfo `protobuf:"bytes,25,opt,name=system_resource_info,json=systemResourceInfo" json:"system_resource_info,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` Loading Loading @@ -405,6 +407,13 @@ func (m *MetricsBase) GetHostname() string { return "" } func (m *MetricsBase) GetSystemResourceInfo() *SystemResourceInfo { if m != nil { return m.SystemResourceInfo } return nil } type BuildConfig struct { UseGoma *bool `protobuf:"varint,1,opt,name=use_goma,json=useGoma" json:"use_goma,omitempty"` UseRbe *bool `protobuf:"varint,2,opt,name=use_rbe,json=useRbe" json:"use_rbe,omitempty"` Loading Loading @@ -460,6 +469,55 @@ func (m *BuildConfig) GetForceUseGoma() bool { return false } type SystemResourceInfo struct { // The total physical memory in bytes. TotalPhysicalMemory *uint64 `protobuf:"varint,1,opt,name=total_physical_memory,json=totalPhysicalMemory" json:"total_physical_memory,omitempty"` // The total of available cores for building AvailableCpus *int32 `protobuf:"varint,2,opt,name=available_cpus,json=availableCpus" json:"available_cpus,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *SystemResourceInfo) Reset() { *m = SystemResourceInfo{} } func (m *SystemResourceInfo) String() string { return proto.CompactTextString(m) } func (*SystemResourceInfo) ProtoMessage() {} func (*SystemResourceInfo) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{2} } func (m *SystemResourceInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SystemResourceInfo.Unmarshal(m, b) } func (m *SystemResourceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_SystemResourceInfo.Marshal(b, m, deterministic) } func (m *SystemResourceInfo) XXX_Merge(src proto.Message) { xxx_messageInfo_SystemResourceInfo.Merge(m, src) } func (m *SystemResourceInfo) XXX_Size() int { return xxx_messageInfo_SystemResourceInfo.Size(m) } func (m *SystemResourceInfo) XXX_DiscardUnknown() { xxx_messageInfo_SystemResourceInfo.DiscardUnknown(m) } var xxx_messageInfo_SystemResourceInfo proto.InternalMessageInfo func (m *SystemResourceInfo) GetTotalPhysicalMemory() uint64 { if m != nil && m.TotalPhysicalMemory != nil { return *m.TotalPhysicalMemory } return 0 } func (m *SystemResourceInfo) GetAvailableCpus() int32 { if m != nil && m.AvailableCpus != nil { return *m.AvailableCpus } return 0 } type PerfInfo struct { // The description for the phase/action/part while the tool running. Desc *string `protobuf:"bytes,1,opt,name=desc" json:"desc,omitempty"` Loading @@ -482,7 +540,7 @@ func (m *PerfInfo) Reset() { *m = PerfInfo{} } func (m *PerfInfo) String() string { return proto.CompactTextString(m) } func (*PerfInfo) ProtoMessage() {} func (*PerfInfo) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{2} return fileDescriptor_6039342a2ba47b72, []int{3} } func (m *PerfInfo) XXX_Unmarshal(b []byte) error { Loading Loading @@ -554,7 +612,7 @@ func (m *ModuleTypeInfo) Reset() { *m = ModuleTypeInfo{} } func (m *ModuleTypeInfo) String() string { return proto.CompactTextString(m) } func (*ModuleTypeInfo) ProtoMessage() {} func (*ModuleTypeInfo) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{3} return fileDescriptor_6039342a2ba47b72, []int{4} } func (m *ModuleTypeInfo) XXX_Unmarshal(b []byte) error { Loading Loading @@ -612,7 +670,7 @@ func (m *CriticalUserJourneyMetrics) Reset() { *m = CriticalUserJourneyM func (m *CriticalUserJourneyMetrics) String() string { return proto.CompactTextString(m) } func (*CriticalUserJourneyMetrics) ProtoMessage() {} func (*CriticalUserJourneyMetrics) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{4} return fileDescriptor_6039342a2ba47b72, []int{5} } func (m *CriticalUserJourneyMetrics) XXX_Unmarshal(b []byte) error { Loading Loading @@ -659,7 +717,7 @@ func (m *CriticalUserJourneysMetrics) Reset() { *m = CriticalUserJourney func (m *CriticalUserJourneysMetrics) String() string { return proto.CompactTextString(m) } func (*CriticalUserJourneysMetrics) ProtoMessage() {} func (*CriticalUserJourneysMetrics) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{5} return fileDescriptor_6039342a2ba47b72, []int{6} } func (m *CriticalUserJourneysMetrics) XXX_Unmarshal(b []byte) error { Loading Loading @@ -707,7 +765,7 @@ func (m *SoongBuildMetrics) Reset() { *m = SoongBuildMetrics{} } func (m *SoongBuildMetrics) String() string { return proto.CompactTextString(m) } func (*SoongBuildMetrics) ProtoMessage() {} func (*SoongBuildMetrics) Descriptor() ([]byte, []int) { return fileDescriptor_6039342a2ba47b72, []int{6} return fileDescriptor_6039342a2ba47b72, []int{7} } func (m *SoongBuildMetrics) XXX_Unmarshal(b []byte) error { Loading Loading @@ -769,6 +827,7 @@ func init() { proto.RegisterEnum("soong_build_metrics.ModuleTypeInfo_BuildSystem", ModuleTypeInfo_BuildSystem_name, ModuleTypeInfo_BuildSystem_value) proto.RegisterType((*MetricsBase)(nil), "soong_build_metrics.MetricsBase") proto.RegisterType((*BuildConfig)(nil), "soong_build_metrics.BuildConfig") proto.RegisterType((*SystemResourceInfo)(nil), "soong_build_metrics.SystemResourceInfo") proto.RegisterType((*PerfInfo)(nil), "soong_build_metrics.PerfInfo") proto.RegisterType((*ModuleTypeInfo)(nil), "soong_build_metrics.ModuleTypeInfo") proto.RegisterType((*CriticalUserJourneyMetrics)(nil), "soong_build_metrics.CriticalUserJourneyMetrics") Loading @@ -781,71 +840,76 @@ func init() { } var fileDescriptor_6039342a2ba47b72 = []byte{ // 1047 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xef, 0x4e, 0x1b, 0x47, 0x10, 0xcf, 0x61, 0x83, 0x7d, 0x73, 0xd8, 0x1c, 0x0b, 0x29, 0x97, 0x44, 0xa8, 0x96, 0xd5, 0x44, 0xa8, 0x6a, 0x48, 0x44, 0x23, 0x14, 0xa1, 0xa8, 0x12, 0x18, 0x44, 0x53, 0x04, 0x8e, 0x16, 0x4c, 0xa3, 0xf6, 0xc3, 0x69, 0x7d, 0xb7, 0x86, 0x4b, 0x7d, 0xb7, 0xd6, 0xee, 0x5e, 0x04, 0x79, 0x87, 0xbe, 0x40, 0x5f, 0xa7, 0xcf, 0xd2, 0xf7, 0xa8, 0x76, 0xf6, 0xce, 0x3e, 0x5a, 0xb7, 0x41, 0xf9, 0xe6, 0x9d, 0xdf, 0x9f, 0x9d, 0x9d, 0x9d, 0x9d, 0x33, 0xb4, 0x52, 0xae, 0x65, 0x12, 0xa9, 0xed, 0x89, 0x14, 0x5a, 0x90, 0x35, 0x25, 0x44, 0x76, 0x15, 0x0e, 0xf3, 0x64, 0x1c, 0x87, 0x05, 0xd4, 0xfd, 0xc3, 0x03, 0xef, 0xd4, 0xfe, 0x3e, 0x60, 0x8a, 0x93, 0x97, 0xb0, 0x6e, 0x09, 0x31, 0xd3, 0x3c, 0xd4, 0x49, 0xca, 0x95, 0x66, 0xe9, 0x24, 0x70, 0x3a, 0xce, 0x56, 0x8d, 0x12, 0xc4, 0x0e, 0x99, 0xe6, 0x17, 0x25, 0x42, 0x1e, 0x41, 0xd3, 0x2a, 0x92, 0x38, 0x58, 0xe8, 0x38, 0x5b, 0x2e, 0x6d, 0xe0, 0xfa, 0x6d, 0x4c, 0xf6, 0xe0, 0xd1, 0x64, 0xcc, 0xf4, 0x48, 0xc8, 0x34, 0xfc, 0xc8, 0xa5, 0x4a, 0x44, 0x16, 0x46, 0x22, 0xe6, 0x19, 0x4b, 0x79, 0x50, 0x43, 0xee, 0x46, 0x49, 0xb8, 0xb4, 0x78, 0xaf, 0x80, 0xc9, 0x53, 0x68, 0x6b, 0x26, 0xaf, 0xb8, 0x0e, 0x27, 0x52, 0xc4, 0x79, 0xa4, 0x83, 0x3a, 0x0a, 0x5a, 0x36, 0xfa, 0xce, 0x06, 0x49, 0x0c, 0xeb, 0x05, 0xcd, 0x26, 0xf1, 0x91, 0xc9, 0x84, 0x65, 0x3a, 0x58, 0xec, 0x38, 0x5b, 0xed, 0x9d, 0xe7, 0xdb, 0x73, 0xce, 0xbc, 0x5d, 0x39, 0xef, 0xf6, 0x81, 0x41, 0x2e, 0xad, 0x68, 0xaf, 0x76, 0x74, 0x76, 0x4c, 0x89, 0xf5, 0xab, 0x02, 0xa4, 0x0f, 0x5e, 0xb1, 0x0b, 0x93, 0xd1, 0x75, 0xb0, 0x84, 0xe6, 0x4f, 0x3f, 0x6b, 0xbe, 0x2f, 0xa3, 0xeb, 0xbd, 0xc6, 0xe0, 0xec, 0xe4, 0xac, 0xff, 0xf3, 0x19, 0x05, 0x6b, 0x61, 0x82, 0x64, 0x1b, 0xd6, 0x2a, 0x86, 0xd3, 0xac, 0x1b, 0x78, 0xc4, 0xd5, 0x19, 0xb1, 0x4c, 0xe0, 0x3b, 0x28, 0xd2, 0x0a, 0xa3, 0x49, 0x3e, 0xa5, 0x37, 0x91, 0xee, 0x5b, 0xa4, 0x37, 0xc9, 0x4b, 0xf6, 0x09, 0xb8, 0xd7, 0x42, 0x15, 0xc9, 0xba, 0x5f, 0x94, 0x6c, 0xd3, 0x18, 0x60, 0xaa, 0x14, 0x5a, 0x68, 0xb6, 0x93, 0xc5, 0xd6, 0x10, 0xbe, 0xc8, 0xd0, 0x33, 0x26, 0x3b, 0x59, 0x8c, 0x9e, 0x1b, 0xd0, 0x40, 0x4f, 0xa1, 0x02, 0x0f, 0xcf, 0xb0, 0x64, 0x96, 0x7d, 0x45, 0xba, 0xc5, 0x66, 0x42, 0x85, 0xfc, 0x46, 0x4b, 0x16, 0x2c, 0x23, 0xec, 0x59, 0xf8, 0xc8, 0x84, 0xa6, 0x9c, 0x48, 0x0a, 0xa5, 0x8c, 0x45, 0x6b, 0xc6, 0xe9, 0x99, 0x58, 0x5f, 0x91, 0x67, 0xb0, 0x52, 0xe1, 0x60, 0xda, 0x6d, 0xdb, 0x3e, 0x53, 0x16, 0x26, 0xf2, 0x1c, 0xd6, 0x2a, 0xbc, 0xe9, 0x11, 0x57, 0x6c, 0x61, 0xa7, 0xdc, 0x4a, 0xde, 0x22, 0xd7, 0x61, 0x9c, 0xc8, 0xc0, 0xb7, 0x79, 0x8b, 0x5c, 0x1f, 0x26, 0x92, 0xfc, 0x00, 0x9e, 0xe2, 0x3a, 0x9f, 0x84, 0x5a, 0x88, 0xb1, 0x0a, 0x56, 0x3b, 0xb5, 0x2d, 0x6f, 0x67, 0x73, 0x6e, 0x89, 0xde, 0x71, 0x39, 0x7a, 0x9b, 0x8d, 0x04, 0x05, 0x54, 0x5c, 0x18, 0x01, 0xd9, 0x03, 0xf7, 0x37, 0xa6, 0x93, 0x50, 0xe6, 0x99, 0x0a, 0xc8, 0x7d, 0xd4, 0x4d, 0xc3, 0xa7, 0x79, 0xa6, 0xc8, 0x1b, 0x00, 0xcb, 0x44, 0xf1, 0xda, 0x7d, 0xc4, 0x2e, 0xa2, 0xa5, 0x3a, 0x4b, 0xb2, 0x0f, 0xcc, 0xaa, 0xd7, 0xef, 0xa5, 0x46, 0x01, 0xaa, 0xbf, 0x87, 0x45, 0x2d, 0x34, 0x1b, 0x07, 0x0f, 0x3b, 0xce, 0xe7, 0x85, 0x96, 0x4b, 0x2e, 0x61, 0xde, 0x28, 0x0a, 0xbe, 0x42, 0x8b, 0x67, 0x73, 0x2d, 0xce, 0x4d, 0x0c, 0x9f, 0x64, 0xd1, 0x61, 0x74, 0x55, 0xfd, 0x33, 0x44, 0x7a, 0xb0, 0x6c, 0x55, 0x91, 0xc8, 0x46, 0xc9, 0x55, 0xb0, 0x81, 0x86, 0x9d, 0xb9, 0x86, 0x28, 0xec, 0x21, 0x8f, 0x7a, 0xc3, 0xd9, 0x82, 0x3c, 0x06, 0x6c, 0x7d, 0x1c, 0x51, 0x01, 0xde, 0xf1, 0x74, 0xdd, 0x7d, 0x09, 0xcb, 0x77, 0xc6, 0x42, 0x13, 0xea, 0x83, 0xf3, 0x23, 0xea, 0x3f, 0x20, 0x2d, 0x70, 0xcd, 0xaf, 0xc3, 0xa3, 0x83, 0xc1, 0xb1, 0xef, 0x90, 0x06, 0x98, 0x51, 0xe2, 0x2f, 0x74, 0xdf, 0x40, 0x1d, 0x1b, 0xc7, 0x83, 0xf2, 0x21, 0xf8, 0x0f, 0x0c, 0xba, 0x4f, 0x4f, 0x7d, 0x87, 0xb8, 0xb0, 0xb8, 0x4f, 0x4f, 0x77, 0x5f, 0xf9, 0x0b, 0x26, 0xf6, 0xfe, 0xf5, 0xae, 0x5f, 0x23, 0x00, 0x4b, 0xef, 0x5f, 0xef, 0x86, 0xbb, 0xaf, 0xfc, 0x7a, 0xf7, 0x0a, 0xbc, 0x4a, 0x9e, 0x66, 0xd2, 0xe6, 0x8a, 0x87, 0x57, 0x22, 0x65, 0x38, 0x8f, 0x9b, 0xb4, 0x91, 0x2b, 0x7e, 0x2c, 0x52, 0x66, 0x1a, 0xd3, 0x40, 0x72, 0xc8, 0x71, 0x06, 0x37, 0xe9, 0x52, 0xae, 0x38, 0x1d, 0x72, 0xf2, 0x0d, 0xb4, 0x47, 0x42, 0x46, 0x3c, 0x9c, 0x2a, 0x6b, 0x88, 0x2f, 0x63, 0x74, 0x60, 0xe5, 0xdd, 0xdf, 0x1d, 0x68, 0x96, 0xb7, 0x44, 0x08, 0xd4, 0x63, 0xae, 0x22, 0xdc, 0xc2, 0xa5, 0xf8, 0xdb, 0xc4, 0xb0, 0x22, 0x76, 0xc0, 0xe3, 0x6f, 0xb2, 0x09, 0xa0, 0x34, 0x93, 0x1a, 0xbf, 0x12, 0x68, 0x5b, 0xa7, 0x2e, 0x46, 0xcc, 0xc7, 0x81, 0x3c, 0x01, 0x57, 0x72, 0x36, 0xb6, 0x68, 0x1d, 0xd1, 0xa6, 0x09, 0x20, 0xb8, 0x09, 0x90, 0xf2, 0x54, 0xc8, 0x5b, 0x93, 0x17, 0x0e, 0xeb, 0x3a, 0x75, 0x6d, 0x64, 0xa0, 0x78, 0xf7, 0x2f, 0x07, 0xda, 0xa7, 0x22, 0xce, 0xc7, 0xfc, 0xe2, 0x76, 0xc2, 0x31, 0xab, 0x5f, 0xcb, 0xcb, 0x55, 0xb7, 0x4a, 0xf3, 0x14, 0xb3, 0x6b, 0xef, 0xbc, 0x98, 0x3f, 0x85, 0xee, 0x48, 0xed, 0x5d, 0x9f, 0xa3, 0xac, 0x32, 0x8f, 0x86, 0xb3, 0x28, 0xf9, 0x1a, 0xbc, 0x14, 0x35, 0xa1, 0xbe, 0x9d, 0x94, 0xa7, 0x84, 0x74, 0x6a, 0x63, 0xca, 0x98, 0xe5, 0x69, 0x28, 0x46, 0xa1, 0x0d, 0x2a, 0x3c, 0x6f, 0x8b, 0x2e, 0x67, 0x79, 0xda, 0x1f, 0xd9, 0xfd, 0x54, 0xf7, 0x45, 0x71, 0x5f, 0x85, 0xeb, 0x9d, 0x4b, 0x77, 0x61, 0xf1, 0xbc, 0xdf, 0x3f, 0x33, 0xdd, 0xd1, 0x84, 0xfa, 0xe9, 0xfe, 0xc9, 0x91, 0xbf, 0xd0, 0x1d, 0xc3, 0xe3, 0x9e, 0x4c, 0x74, 0x12, 0xb1, 0xf1, 0x40, 0x71, 0xf9, 0x93, 0xc8, 0x65, 0xc6, 0x6f, 0xcb, 0x7e, 0x2e, 0x8b, 0xee, 0x54, 0x8a, 0xbe, 0x07, 0x8d, 0xf2, 0xbd, 0x2c, 0xfc, 0x4f, 0x7b, 0x57, 0xe6, 0x30, 0x2d, 0x05, 0xdd, 0x21, 0x3c, 0x99, 0xb3, 0x9b, 0x9a, 0x3d, 0x9f, 0x7a, 0x94, 0x7f, 0x50, 0x81, 0x83, 0x33, 0x60, 0x7e, 0x65, 0xff, 0x3b, 0x5b, 0x8a, 0xe2, 0xee, 0x9f, 0x0e, 0xac, 0xfe, 0xeb, 0xb1, 0x92, 0x00, 0x1a, 0x65, 0xdd, 0x1c, 0xac, 0x5b, 0xb9, 0x34, 0xcf, 0xad, 0xf8, 0x9a, 0xd9, 0x03, 0xb5, 0xe8, 0x74, 0x4d, 0xbe, 0x85, 0x55, 0x1c, 0x18, 0x21, 0x1b, 0x8f, 0x45, 0x14, 0x46, 0x22, 0xcf, 0x74, 0xd1, 0x67, 0x2b, 0x08, 0xec, 0x9b, 0x78, 0xcf, 0x84, 0xc9, 0x16, 0xf8, 0x55, 0xae, 0x4a, 0x3e, 0x95, 0x4d, 0xd7, 0x9e, 0x51, 0xcf, 0x93, 0x4f, 0xdc, 0x7c, 0x3e, 0x52, 0x76, 0x13, 0x5e, 0x73, 0x36, 0xb1, 0x34, 0xdb, 0x7d, 0x5e, 0xca, 0x6e, 0x7e, 0xe4, 0x6c, 0x62, 0x38, 0x07, 0x0f, 0x7f, 0x29, 0x26, 0x54, 0x71, 0xee, 0x10, 0xff, 0x41, 0xfd, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x9e, 0xa1, 0xd5, 0x51, 0x09, 0x00, 0x00, // 1130 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x6f, 0x6f, 0xd4, 0x46, 0x13, 0xc7, 0xc9, 0x25, 0x77, 0x1e, 0xe7, 0x0e, 0x67, 0x13, 0x1e, 0x0c, 0x08, 0x3d, 0x91, 0x55, 0x68, 0x54, 0x95, 0x80, 0xae, 0x28, 0x42, 0x11, 0xaa, 0x94, 0x1c, 0x11, 0xa5, 0xe8, 0x72, 0x68, 0xc3, 0x51, 0xda, 0xbe, 0xb0, 0xf6, 0xec, 0xbd, 0xc4, 0xd4, 0xf6, 0x5a, 0xbb, 0x6b, 0xc4, 0xf1, 0x1d, 0xfa, 0xa9, 0xfa, 0x59, 0xfa, 0x11, 0xfa, 0xbe, 0xda, 0x59, 0xfb, 0xee, 0x28, 0xd7, 0x82, 0x78, 0x77, 0x9e, 0xdf, 0x9f, 0x9d, 0x19, 0x8f, 0x67, 0x0f, 0xba, 0x39, 0xd7, 0x32, 0x8d, 0xd5, 0x41, 0x29, 0x85, 0x16, 0x64, 0x47, 0x09, 0x51, 0x5c, 0x44, 0x93, 0x2a, 0xcd, 0x92, 0xa8, 0x86, 0xc2, 0xbf, 0x3c, 0xf0, 0x86, 0xf6, 0xf7, 0x09, 0x53, 0x9c, 0x3c, 0x80, 0x5d, 0x4b, 0x48, 0x98, 0xe6, 0x91, 0x4e, 0x73, 0xae, 0x34, 0xcb, 0xcb, 0xc0, 0xd9, 0x73, 0xf6, 0xd7, 0x29, 0x41, 0xec, 0x09, 0xd3, 0xfc, 0x65, 0x83, 0x90, 0x1b, 0xd0, 0xb1, 0x8a, 0x34, 0x09, 0xd6, 0xf6, 0x9c, 0x7d, 0x97, 0xb6, 0xf1, 0xf9, 0x59, 0x42, 0x8e, 0xe0, 0x46, 0x99, 0x31, 0x3d, 0x15, 0x32, 0x8f, 0xde, 0x72, 0xa9, 0x52, 0x51, 0x44, 0xb1, 0x48, 0x78, 0xc1, 0x72, 0x1e, 0xac, 0x23, 0xf7, 0x7a, 0x43, 0x78, 0x65, 0xf1, 0x41, 0x0d, 0x93, 0x3b, 0xd0, 0xd3, 0x4c, 0x5e, 0x70, 0x1d, 0x95, 0x52, 0x24, 0x55, 0xac, 0x83, 0x16, 0x0a, 0xba, 0x36, 0xfa, 0xc2, 0x06, 0x49, 0x02, 0xbb, 0x35, 0xcd, 0x26, 0xf1, 0x96, 0xc9, 0x94, 0x15, 0x3a, 0xd8, 0xd8, 0x73, 0xf6, 0x7b, 0xfd, 0x7b, 0x07, 0x2b, 0x6a, 0x3e, 0x58, 0xaa, 0xf7, 0xe0, 0xc4, 0x20, 0xaf, 0xac, 0xe8, 0x68, 0xfd, 0xf4, 0xec, 0x29, 0x25, 0xd6, 0x6f, 0x19, 0x20, 0x23, 0xf0, 0xea, 0x53, 0x98, 0x8c, 0x2f, 0x83, 0x4d, 0x34, 0xbf, 0xf3, 0x49, 0xf3, 0x63, 0x19, 0x5f, 0x1e, 0xb5, 0xc7, 0x67, 0xcf, 0xcf, 0x46, 0x3f, 0x9d, 0x51, 0xb0, 0x16, 0x26, 0x48, 0x0e, 0x60, 0x67, 0xc9, 0x70, 0x9e, 0x75, 0x1b, 0x4b, 0xdc, 0x5e, 0x10, 0x9b, 0x04, 0xbe, 0x85, 0x3a, 0xad, 0x28, 0x2e, 0xab, 0x39, 0xbd, 0x83, 0x74, 0xdf, 0x22, 0x83, 0xb2, 0x6a, 0xd8, 0xcf, 0xc1, 0xbd, 0x14, 0xaa, 0x4e, 0xd6, 0xfd, 0xa2, 0x64, 0x3b, 0xc6, 0x00, 0x53, 0xa5, 0xd0, 0x45, 0xb3, 0x7e, 0x91, 0x58, 0x43, 0xf8, 0x22, 0x43, 0xcf, 0x98, 0xf4, 0x8b, 0x04, 0x3d, 0xaf, 0x43, 0x1b, 0x3d, 0x85, 0x0a, 0x3c, 0xac, 0x61, 0xd3, 0x3c, 0x8e, 0x14, 0x09, 0xeb, 0xc3, 0x84, 0x8a, 0xf8, 0x3b, 0x2d, 0x59, 0xb0, 0x85, 0xb0, 0x67, 0xe1, 0x53, 0x13, 0x9a, 0x73, 0x62, 0x29, 0x94, 0x32, 0x16, 0xdd, 0x05, 0x67, 0x60, 0x62, 0x23, 0x45, 0xee, 0xc2, 0xd5, 0x25, 0x0e, 0xa6, 0xdd, 0xb3, 0xe3, 0x33, 0x67, 0x61, 0x22, 0xf7, 0x60, 0x67, 0x89, 0x37, 0x2f, 0xf1, 0xaa, 0x6d, 0xec, 0x9c, 0xbb, 0x94, 0xb7, 0xa8, 0x74, 0x94, 0xa4, 0x32, 0xf0, 0x6d, 0xde, 0xa2, 0xd2, 0x4f, 0x52, 0x49, 0xbe, 0x07, 0x4f, 0x71, 0x5d, 0x95, 0x91, 0x16, 0x22, 0x53, 0xc1, 0xf6, 0xde, 0xfa, 0xbe, 0xd7, 0xbf, 0xbd, 0xb2, 0x45, 0x2f, 0xb8, 0x9c, 0x3e, 0x2b, 0xa6, 0x82, 0x02, 0x2a, 0x5e, 0x1a, 0x01, 0x39, 0x02, 0xf7, 0x37, 0xa6, 0xd3, 0x48, 0x56, 0x85, 0x0a, 0xc8, 0xe7, 0xa8, 0x3b, 0x86, 0x4f, 0xab, 0x42, 0x91, 0xc7, 0x00, 0x96, 0x89, 0xe2, 0x9d, 0xcf, 0x11, 0xbb, 0x88, 0x36, 0xea, 0x22, 0x2d, 0xde, 0x30, 0xab, 0xde, 0xfd, 0x2c, 0x35, 0x0a, 0x50, 0xfd, 0x1d, 0x6c, 0x68, 0xa1, 0x59, 0x16, 0x5c, 0xdb, 0x73, 0x3e, 0x2d, 0xb4, 0x5c, 0xf2, 0x0a, 0x56, 0xad, 0xa2, 0xe0, 0x7f, 0x68, 0x71, 0x77, 0xa5, 0xc5, 0xb9, 0x89, 0xe1, 0x27, 0x59, 0x4f, 0x18, 0xdd, 0x56, 0xff, 0x0c, 0x91, 0x01, 0x6c, 0x59, 0x55, 0x2c, 0x8a, 0x69, 0x7a, 0x11, 0x5c, 0x47, 0xc3, 0xbd, 0x95, 0x86, 0x28, 0x1c, 0x20, 0x8f, 0x7a, 0x93, 0xc5, 0x03, 0xb9, 0x09, 0x38, 0xfa, 0xb8, 0xa2, 0x02, 0x7c, 0xc7, 0xf3, 0x67, 0xf2, 0x33, 0xec, 0xaa, 0x99, 0xd2, 0x3c, 0x8f, 0x24, 0x57, 0xa2, 0x92, 0x31, 0x8f, 0xd2, 0x62, 0x2a, 0x82, 0x1b, 0x78, 0xd0, 0xd7, 0xab, 0x33, 0x47, 0x01, 0xad, 0xf9, 0xd8, 0x06, 0xa2, 0x3e, 0x8a, 0x85, 0x0f, 0x60, 0xeb, 0x83, 0x8d, 0xd3, 0x81, 0xd6, 0xf8, 0xfc, 0x94, 0xfa, 0x57, 0x48, 0x17, 0x5c, 0xf3, 0xeb, 0xc9, 0xe9, 0xc9, 0xf8, 0xa9, 0xef, 0x90, 0x36, 0x98, 0x2d, 0xe5, 0xaf, 0x85, 0x8f, 0xa1, 0x85, 0x33, 0xe9, 0x41, 0xf3, 0x8d, 0xf9, 0x57, 0x0c, 0x7a, 0x4c, 0x87, 0xbe, 0x43, 0x5c, 0xd8, 0x38, 0xa6, 0xc3, 0xc3, 0x87, 0xfe, 0x9a, 0x89, 0xbd, 0x7e, 0x74, 0xe8, 0xaf, 0x13, 0x80, 0xcd, 0xd7, 0x8f, 0x0e, 0xa3, 0xc3, 0x87, 0x7e, 0x2b, 0xbc, 0x00, 0x6f, 0xa9, 0x05, 0x66, 0x89, 0x57, 0x8a, 0x47, 0x17, 0x22, 0x67, 0xb8, 0xea, 0x3b, 0xb4, 0x5d, 0x29, 0xfe, 0x54, 0xe4, 0xcc, 0xcc, 0xbc, 0x81, 0xe4, 0x84, 0xe3, 0x7a, 0xef, 0xd0, 0xcd, 0x4a, 0x71, 0x3a, 0xe1, 0xe4, 0x2b, 0xe8, 0x4d, 0x85, 0xe9, 0xc1, 0x5c, 0xb9, 0x8e, 0xf8, 0x16, 0x46, 0xc7, 0x56, 0x1e, 0x0a, 0x20, 0x1f, 0xb7, 0x80, 0xf4, 0xe1, 0x1a, 0xce, 0x42, 0x54, 0x5e, 0xce, 0x54, 0x1a, 0xb3, 0x2c, 0xca, 0x79, 0x2e, 0xe4, 0x0c, 0x0f, 0x6f, 0xd1, 0x1d, 0x04, 0x5f, 0xd4, 0xd8, 0x10, 0x21, 0x73, 0x23, 0xb0, 0xb7, 0x2c, 0xcd, 0xd8, 0x24, 0xe3, 0x66, 0x0d, 0x2a, 0xcc, 0x67, 0x83, 0x76, 0xe7, 0xd1, 0x41, 0x59, 0xa9, 0xf0, 0x77, 0x07, 0x3a, 0xcd, 0xc4, 0x11, 0x02, 0xad, 0x84, 0xab, 0x18, 0x6d, 0x5d, 0x8a, 0xbf, 0x4d, 0x0c, 0xdf, 0xae, 0xbd, 0xac, 0xf0, 0x37, 0xb9, 0x0d, 0xa0, 0x34, 0x93, 0x1a, 0x6f, 0x3c, 0xac, 0xa3, 0x45, 0x5d, 0x8c, 0x98, 0x8b, 0x8e, 0xdc, 0x02, 0x57, 0x72, 0x96, 0x59, 0xb4, 0x85, 0x68, 0xc7, 0x04, 0x10, 0xbc, 0x0d, 0x60, 0x93, 0x37, 0x8d, 0xc0, 0x8b, 0xa7, 0x45, 0x5d, 0x1b, 0x19, 0x2b, 0x1e, 0xfe, 0xe9, 0x40, 0x6f, 0x28, 0x92, 0x2a, 0xe3, 0x2f, 0x67, 0xa5, 0xad, 0xfe, 0xd7, 0x66, 0x50, 0xed, 0x20, 0x60, 0x76, 0xbd, 0xfe, 0xfd, 0xd5, 0x1b, 0xf5, 0x03, 0xa9, 0x9d, 0x5b, 0xdb, 0xd0, 0xa5, 0xdd, 0x3a, 0x59, 0x44, 0xc9, 0xff, 0xc1, 0xcb, 0x51, 0x13, 0xe9, 0x59, 0xd9, 0x54, 0x09, 0xf9, 0xdc, 0xc6, 0xbc, 0xb7, 0xa2, 0xca, 0x23, 0x31, 0x8d, 0x6c, 0x50, 0x61, 0xbd, 0x5d, 0xba, 0x55, 0x54, 0xf9, 0x68, 0x6a, 0xcf, 0x53, 0xe1, 0xfd, 0x7a, 0x40, 0x6a, 0xd7, 0x0f, 0xa6, 0xcc, 0x85, 0x8d, 0xf3, 0xd1, 0xe8, 0xcc, 0x8c, 0x63, 0x07, 0x5a, 0xc3, 0xe3, 0xe7, 0xa7, 0xfe, 0x5a, 0x98, 0xc1, 0xcd, 0x81, 0x4c, 0xb5, 0x79, 0x61, 0x63, 0xc5, 0xe5, 0x8f, 0xa2, 0x92, 0x05, 0x9f, 0x35, 0xdf, 0x66, 0xd3, 0x74, 0x67, 0xa9, 0xe9, 0x47, 0xd0, 0x6e, 0xbe, 0xfd, 0xb5, 0xff, 0xf8, 0x54, 0x97, 0xee, 0x14, 0xda, 0x08, 0xc2, 0x09, 0xdc, 0x5a, 0x71, 0x9a, 0x5a, 0xac, 0x82, 0x56, 0x5c, 0xbd, 0x51, 0x81, 0x83, 0xfb, 0x6c, 0x75, 0x67, 0xff, 0x3d, 0x5b, 0x8a, 0xe2, 0xf0, 0x0f, 0x07, 0xb6, 0x3f, 0x5a, 0x3c, 0x24, 0x80, 0x76, 0xd3, 0x37, 0x07, 0xfb, 0xd6, 0x3c, 0x9a, 0xd5, 0x51, 0xdf, 0xcc, 0xb6, 0xa0, 0x2e, 0x9d, 0x3f, 0x93, 0x6f, 0x60, 0xdb, 0x0e, 0x3c, 0xcb, 0x32, 0x11, 0x47, 0xb1, 0xa8, 0x0a, 0x5d, 0xcf, 0xd9, 0x55, 0x04, 0x8e, 0x4d, 0x7c, 0x60, 0xc2, 0x64, 0x1f, 0xfc, 0x65, 0xae, 0x4a, 0xdf, 0x37, 0x43, 0xd7, 0x5b, 0x50, 0xcf, 0xd3, 0xf7, 0xdc, 0x5c, 0x85, 0x39, 0x7b, 0x17, 0x5d, 0x72, 0x56, 0x5a, 0x9a, 0x9d, 0x3e, 0x2f, 0x67, 0xef, 0x7e, 0xe0, 0xac, 0x34, 0x9c, 0x93, 0x6b, 0xbf, 0xd4, 0xdb, 0xb6, 0xae, 0x3b, 0xc2, 0x7f, 0x83, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xa3, 0xdd, 0xbb, 0xb3, 0x1d, 0x0a, 0x00, 0x00, }
ui/metrics/metrics_proto/metrics.proto +11 −0 Original line number Diff line number Diff line Loading @@ -99,6 +99,9 @@ message MetricsBase { // The hostname of the machine. optional string hostname = 24; // The system resource information such as total physical memory. optional SystemResourceInfo system_resource_info = 25; } message BuildConfig { Loading @@ -109,6 +112,14 @@ message BuildConfig { optional bool force_use_goma = 3; } message SystemResourceInfo { // The total physical memory in bytes. optional uint64 total_physical_memory = 1; // The total of available cores for building optional int32 available_cpus = 2; } message PerfInfo { // The description for the phase/action/part while the tool running. optional string desc = 1; Loading