Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c3e751fd authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Start collecting build configuration metrics." into qt-dev am: b4435196

Original change: https://googleplex-android-review.googlesource.com/c/platform/build/soong/+/12618631

Change-Id: Ifa3de692aea1bb7a9434d9660dbc845f7f56e3f5
parents 793f74ff b4435196
Loading
Loading
Loading
Loading
+21 −2
Original line number Diff line number Diff line
@@ -15,9 +15,9 @@
package build

import (
	"fmt"
	"io/ioutil"
	"log"
	"fmt"
	"os"
	"path/filepath"
	"runtime"
@@ -26,6 +26,9 @@ import (
	"time"

	"android/soong/shared"
	"github.com/golang/protobuf/proto"

	smpb "android/soong/ui/metrics/metrics_proto"
)

type Config struct{ *configImpl }
@@ -233,7 +236,23 @@ func NewConfig(ctx Context, args ...string) Config {
		}
	}

	return Config{ret}
	c := Config{ret}
	storeConfigMetrics(ctx, c)
	return c
}

// storeConfigMetrics selects a set of configuration information and store in
// the metrics system for further analysis.
func storeConfigMetrics(ctx Context, config Config) {
	if ctx.Metrics == nil {
		return
	}

	b := &smpb.BuildConfig{
		UseGoma: proto.Bool(config.UseGoma()),
		UseRbe:  proto.Bool(config.UseRBE()),
	}
	ctx.Metrics.BuildConfig(b)
}

func (c *configImpl) parseArgs(ctx Context, args []string) {
+4 −0
Original line number Diff line number Diff line
@@ -64,6 +64,10 @@ func (m *Metrics) SetTimeMetrics(perf metrics_proto.PerfInfo) {
	}
}

func (m *Metrics) BuildConfig(b *metrics_proto.BuildConfig) {
	m.metrics.BuildConfig = b
}

func (m *Metrics) SetMetadataMetrics(metadata map[string]string) {
	for k, v := range metadata {
		switch k {
+153 −76
Original line number Diff line number Diff line
@@ -3,9 +3,11 @@

package metrics_proto

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
@@ -16,7 +18,7 @@ var _ = math.Inf
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type MetricsBase_BUILDVARIANT int32

@@ -31,6 +33,7 @@ var MetricsBase_BUILDVARIANT_name = map[int32]string{
	1: "USERDEBUG",
	2: "ENG",
}

var MetricsBase_BUILDVARIANT_value = map[string]int32{
	"USER":      0,
	"USERDEBUG": 1,
@@ -42,9 +45,11 @@ func (x MetricsBase_BUILDVARIANT) Enum() *MetricsBase_BUILDVARIANT {
	*p = x
	return p
}

func (x MetricsBase_BUILDVARIANT) String() string {
	return proto.EnumName(MetricsBase_BUILDVARIANT_name, int32(x))
}

func (x *MetricsBase_BUILDVARIANT) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(MetricsBase_BUILDVARIANT_value, data, "MetricsBase_BUILDVARIANT")
	if err != nil {
@@ -53,8 +58,9 @@ func (x *MetricsBase_BUILDVARIANT) UnmarshalJSON(data []byte) error {
	*x = MetricsBase_BUILDVARIANT(value)
	return nil
}

func (MetricsBase_BUILDVARIANT) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_metrics_9e7b895801991242, []int{0, 0}
	return fileDescriptor_6039342a2ba47b72, []int{0, 0}
}

type MetricsBase_ARCH int32
@@ -74,6 +80,7 @@ var MetricsBase_ARCH_name = map[int32]string{
	3: "X86",
	4: "X86_64",
}

var MetricsBase_ARCH_value = map[string]int32{
	"UNKNOWN": 0,
	"ARM":     1,
@@ -87,9 +94,11 @@ func (x MetricsBase_ARCH) Enum() *MetricsBase_ARCH {
	*p = x
	return p
}

func (x MetricsBase_ARCH) String() string {
	return proto.EnumName(MetricsBase_ARCH_name, int32(x))
}

func (x *MetricsBase_ARCH) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(MetricsBase_ARCH_value, data, "MetricsBase_ARCH")
	if err != nil {
@@ -98,8 +107,9 @@ func (x *MetricsBase_ARCH) UnmarshalJSON(data []byte) error {
	*x = MetricsBase_ARCH(value)
	return nil
}

func (MetricsBase_ARCH) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_metrics_9e7b895801991242, []int{0, 1}
	return fileDescriptor_6039342a2ba47b72, []int{0, 1}
}

type ModuleTypeInfo_BUILDSYSTEM int32
@@ -115,6 +125,7 @@ var ModuleTypeInfo_BUILDSYSTEM_name = map[int32]string{
	1: "SOONG",
	2: "MAKE",
}

var ModuleTypeInfo_BUILDSYSTEM_value = map[string]int32{
	"UNKNOWN": 0,
	"SOONG":   1,
@@ -126,9 +137,11 @@ func (x ModuleTypeInfo_BUILDSYSTEM) Enum() *ModuleTypeInfo_BUILDSYSTEM {
	*p = x
	return p
}

func (x ModuleTypeInfo_BUILDSYSTEM) String() string {
	return proto.EnumName(ModuleTypeInfo_BUILDSYSTEM_name, int32(x))
}

func (x *ModuleTypeInfo_BUILDSYSTEM) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(ModuleTypeInfo_BUILDSYSTEM_value, data, "ModuleTypeInfo_BUILDSYSTEM")
	if err != nil {
@@ -137,8 +150,9 @@ func (x *ModuleTypeInfo_BUILDSYSTEM) UnmarshalJSON(data []byte) error {
	*x = ModuleTypeInfo_BUILDSYSTEM(value)
	return nil
}

func (ModuleTypeInfo_BUILDSYSTEM) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_metrics_9e7b895801991242, []int{2, 0}
	return fileDescriptor_6039342a2ba47b72, []int{3, 0}
}

type MetricsBase struct {
@@ -182,6 +196,7 @@ type MetricsBase struct {
	SoongRuns []*PerfInfo `protobuf:"bytes,19,rep,name=soong_runs,json=soongRuns" json:"soong_runs,omitempty"`
	// The metrics for calling Ninja.
	NinjaRuns            []*PerfInfo  `protobuf:"bytes,20,rep,name=ninja_runs,json=ninjaRuns" json:"ninja_runs,omitempty"`
	BuildConfig          *BuildConfig `protobuf:"bytes,23,opt,name=build_config,json=buildConfig" json:"build_config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
@@ -191,16 +206,17 @@ func (m *MetricsBase) Reset() { *m = MetricsBase{} }
func (m *MetricsBase) String() string { return proto.CompactTextString(m) }
func (*MetricsBase) ProtoMessage()    {}
func (*MetricsBase) Descriptor() ([]byte, []int) {
	return fileDescriptor_metrics_9e7b895801991242, []int{0}
	return fileDescriptor_6039342a2ba47b72, []int{0}
}

func (m *MetricsBase) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MetricsBase.Unmarshal(m, b)
}
func (m *MetricsBase) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MetricsBase.Marshal(b, m, deterministic)
}
func (dst *MetricsBase) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MetricsBase.Merge(dst, src)
func (m *MetricsBase) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MetricsBase.Merge(m, src)
}
func (m *MetricsBase) XXX_Size() int {
	return xxx_messageInfo_MetricsBase.Size(m)
@@ -356,6 +372,60 @@ func (m *MetricsBase) GetNinjaRuns() []*PerfInfo {
	return nil
}

func (m *MetricsBase) GetBuildConfig() *BuildConfig {
	if m != nil {
		return m.BuildConfig
	}
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *BuildConfig) Reset()         { *m = BuildConfig{} }
func (m *BuildConfig) String() string { return proto.CompactTextString(m) }
func (*BuildConfig) ProtoMessage()    {}
func (*BuildConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_6039342a2ba47b72, []int{1}
}

func (m *BuildConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BuildConfig.Unmarshal(m, b)
}
func (m *BuildConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BuildConfig.Marshal(b, m, deterministic)
}
func (m *BuildConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BuildConfig.Merge(m, src)
}
func (m *BuildConfig) XXX_Size() int {
	return xxx_messageInfo_BuildConfig.Size(m)
}
func (m *BuildConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_BuildConfig.DiscardUnknown(m)
}

var xxx_messageInfo_BuildConfig proto.InternalMessageInfo

func (m *BuildConfig) GetUseGoma() bool {
	if m != nil && m.UseGoma != nil {
		return *m.UseGoma
	}
	return false
}

func (m *BuildConfig) GetUseRbe() bool {
	if m != nil && m.UseRbe != nil {
		return *m.UseRbe
	}
	return false
}

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"`
@@ -378,16 +448,17 @@ 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_metrics_9e7b895801991242, []int{1}
	return fileDescriptor_6039342a2ba47b72, []int{2}
}

func (m *PerfInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_PerfInfo.Unmarshal(m, b)
}
func (m *PerfInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_PerfInfo.Marshal(b, m, deterministic)
}
func (dst *PerfInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PerfInfo.Merge(dst, src)
func (m *PerfInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PerfInfo.Merge(m, src)
}
func (m *PerfInfo) XXX_Size() int {
	return xxx_messageInfo_PerfInfo.Size(m)
@@ -449,16 +520,17 @@ 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_metrics_9e7b895801991242, []int{2}
	return fileDescriptor_6039342a2ba47b72, []int{3}
}

func (m *ModuleTypeInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ModuleTypeInfo.Unmarshal(m, b)
}
func (m *ModuleTypeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ModuleTypeInfo.Marshal(b, m, deterministic)
}
func (dst *ModuleTypeInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ModuleTypeInfo.Merge(dst, src)
func (m *ModuleTypeInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ModuleTypeInfo.Merge(m, src)
}
func (m *ModuleTypeInfo) XXX_Size() int {
	return xxx_messageInfo_ModuleTypeInfo.Size(m)
@@ -493,65 +565,70 @@ func (m *ModuleTypeInfo) GetNumOfModules() uint32 {
}

func init() {
	proto.RegisterType((*MetricsBase)(nil), "build_metrics.MetricsBase")
	proto.RegisterType((*PerfInfo)(nil), "build_metrics.PerfInfo")
	proto.RegisterType((*ModuleTypeInfo)(nil), "build_metrics.ModuleTypeInfo")
	proto.RegisterEnum("build_metrics.MetricsBase_BUILDVARIANT", MetricsBase_BUILDVARIANT_name, MetricsBase_BUILDVARIANT_value)
	proto.RegisterEnum("build_metrics.MetricsBase_ARCH", MetricsBase_ARCH_name, MetricsBase_ARCH_value)
	proto.RegisterEnum("build_metrics.ModuleTypeInfo_BUILDSYSTEM", ModuleTypeInfo_BUILDSYSTEM_name, ModuleTypeInfo_BUILDSYSTEM_value)
	proto.RegisterType((*MetricsBase)(nil), "build_metrics.MetricsBase")
	proto.RegisterType((*BuildConfig)(nil), "build_metrics.BuildConfig")
	proto.RegisterType((*PerfInfo)(nil), "build_metrics.PerfInfo")
	proto.RegisterType((*ModuleTypeInfo)(nil), "build_metrics.ModuleTypeInfo")
}

func init() { proto.RegisterFile("metrics.proto", fileDescriptor_metrics_9e7b895801991242) }

var fileDescriptor_metrics_9e7b895801991242 = []byte{
	// 783 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x6e, 0xdb, 0x36,
	0x14, 0xae, 0x62, 0x25, 0x96, 0x8e, 0x62, 0x57, 0x61, 0x02, 0x44, 0xc5, 0x50, 0x34, 0x30, 0xf6,
	0x93, 0x01, 0x9b, 0x57, 0x18, 0x81, 0x11, 0x04, 0xbb, 0xb1, 0x13, 0xa3, 0x35, 0x5a, 0xdb, 0x85,
	0x6c, 0x67, 0xdd, 0x2e, 0x46, 0x68, 0x12, 0xdd, 0x68, 0xb3, 0x44, 0x81, 0xa4, 0x8a, 0xf9, 0x21,
	0xf6, 0x8c, 0x7b, 0x91, 0x5d, 0x0c, 0x3c, 0xb4, 0x5c, 0xa5, 0x17, 0x29, 0x72, 0x47, 0x9d, 0xef,
	0x87, 0xdf, 0x91, 0xc8, 0x23, 0x68, 0x65, 0x4c, 0x89, 0x34, 0x96, 0xdd, 0x42, 0x70, 0xc5, 0x49,
	0xeb, 0x8f, 0x32, 0x5d, 0x27, 0x74, 0x5b, 0xec, 0xfc, 0xe7, 0x80, 0x37, 0x31, 0xeb, 0x61, 0x24,
	0x19, 0x79, 0x09, 0x27, 0x86, 0x90, 0x44, 0x8a, 0x51, 0x95, 0x66, 0x4c, 0xaa, 0x28, 0x2b, 0x02,
	0xeb, 0xcc, 0x3a, 0x6f, 0x84, 0x04, 0xb1, 0x9b, 0x48, 0xb1, 0x45, 0x85, 0x90, 0x67, 0xe0, 0x18,
	0x45, 0x9a, 0x04, 0x7b, 0x67, 0xd6, 0xb9, 0x1b, 0x36, 0xf1, 0x79, 0x9c, 0x90, 0x2b, 0x78, 0x56,
	0xac, 0x23, 0xb5, 0xe2, 0x22, 0xa3, 0x1f, 0x99, 0x90, 0x29, 0xcf, 0x69, 0xcc, 0x13, 0x96, 0x47,
	0x19, 0x0b, 0x1a, 0xc8, 0x3d, 0xad, 0x08, 0xb7, 0x06, 0xbf, 0xde, 0xc2, 0xe4, 0x1b, 0x68, 0xab,
	0x48, 0x7c, 0x60, 0x8a, 0x16, 0x82, 0x27, 0x65, 0xac, 0x02, 0x1b, 0x05, 0x2d, 0x53, 0x7d, 0x67,
	0x8a, 0xe4, 0x77, 0x38, 0xd9, 0xd2, 0x4c, 0x88, 0x8f, 0x91, 0x48, 0xa3, 0x5c, 0x05, 0xfb, 0x67,
	0xd6, 0x79, 0xbb, 0xf7, 0x5d, 0xf7, 0x5e, 0xb7, 0xdd, 0x5a, 0xa7, 0xdd, 0xe1, 0x72, 0xfc, 0xf6,
	0xe6, 0x76, 0x10, 0x8e, 0x07, 0xd3, 0xc5, 0x55, 0x63, 0x34, 0x7d, 0x15, 0x12, 0xe3, 0x34, 0xd4,
	0x92, 0x5b, 0xe3, 0x43, 0xc6, 0xe0, 0x6d, 0xfd, 0x23, 0x11, 0xdf, 0x05, 0x07, 0x68, 0xfb, 0xe2,
	0x01, 0xdb, 0x41, 0x78, 0xfd, 0xfa, 0xaa, 0xb9, 0x9c, 0xbe, 0x99, 0xce, 0x7e, 0x99, 0x86, 0x60,
	0xc4, 0x03, 0x11, 0xdf, 0x91, 0x2e, 0x1c, 0xd7, 0xac, 0x76, 0x49, 0x9b, 0xd8, 0xd6, 0xd1, 0x27,
	0x62, 0xb5, 0xf5, 0x0f, 0xb0, 0x0d, 0x44, 0xe3, 0xa2, 0xdc, 0xd1, 0x1d, 0xa4, 0xfb, 0x06, 0xb9,
	0x2e, 0xca, 0x8a, 0x3d, 0x02, 0xf7, 0x8e, 0xcb, 0x6d, 0x4c, 0xf7, 0x91, 0x31, 0x1d, 0x2d, 0xc5,
	0x90, 0x6f, 0xa1, 0x85, 0x36, 0xbd, 0x3c, 0x31, 0x56, 0xf0, 0x48, 0x2b, 0x4f, 0xcb, 0x7b, 0x79,
	0x82, 0x6e, 0xa7, 0xd0, 0x44, 0x37, 0x2e, 0x03, 0x0f, 0x73, 0x1f, 0xe8, 0xc7, 0x99, 0x24, 0x9d,
	0xed, 0x36, 0x5c, 0x52, 0xf6, 0xb7, 0x12, 0x51, 0x70, 0x88, 0xb0, 0x67, 0xe0, 0x91, 0x2e, 0xed,
	0x38, 0xb1, 0xe0, 0x52, 0x6a, 0x8b, 0xd6, 0x27, 0xce, 0xb5, 0xae, 0xcd, 0x24, 0xf9, 0x16, 0x9e,
	0xd6, 0x38, 0x18, 0xb8, 0x6d, 0x8e, 0xc9, 0x8e, 0x85, 0x41, 0x7e, 0x84, 0xe3, 0x1a, 0x6f, 0xd7,
	0xdc, 0x53, 0xf3, 0x32, 0x77, 0xdc, 0x5a, 0x6e, 0x5e, 0x2a, 0x9a, 0xa4, 0x22, 0xf0, 0x4d, 0x6e,
	0x5e, 0xaa, 0x9b, 0x54, 0x90, 0x4b, 0xf0, 0x24, 0x53, 0x65, 0x41, 0x15, 0xe7, 0x6b, 0x19, 0x1c,
	0x9d, 0x35, 0xce, 0xbd, 0xde, 0xe9, 0x67, 0x2f, 0xe7, 0x1d, 0x13, 0xab, 0x71, 0xbe, 0xe2, 0x21,
	0x20, 0x77, 0xa1, 0xa9, 0xe4, 0x02, 0xdc, 0xbf, 0x22, 0x95, 0x52, 0x51, 0xe6, 0x32, 0x20, 0x0f,
	0xeb, 0x1c, 0xcd, 0x0c, 0xcb, 0x5c, 0x92, 0x3e, 0x80, 0xe4, 0x3c, 0xff, 0x60, 0x64, 0xc7, 0x0f,
	0xcb, 0x5c, 0xa4, 0x56, 0xba, 0x3c, 0xcd, 0xff, 0x8c, 0x8c, 0xee, 0xe4, 0x0b, 0x3a, 0xa4, 0x6a,
	0x5d, 0xe7, 0x25, 0x1c, 0xd6, 0xef, 0x05, 0x71, 0xc0, 0x5e, 0xce, 0x47, 0xa1, 0xff, 0x84, 0xb4,
	0xc0, 0xd5, 0xab, 0x9b, 0xd1, 0x70, 0xf9, 0xca, 0xb7, 0x48, 0x13, 0xf4, 0x95, 0xf1, 0xf7, 0x3a,
	0x3f, 0x83, 0xad, 0x0f, 0x00, 0xf1, 0xa0, 0x3a, 0x02, 0xfe, 0x13, 0x8d, 0x0e, 0xc2, 0x89, 0x6f,
	0x11, 0x17, 0xf6, 0x07, 0xe1, 0xa4, 0x7f, 0xe1, 0xef, 0xe9, 0xda, 0xfb, 0xcb, 0xbe, 0xdf, 0x20,
	0x00, 0x07, 0xef, 0x2f, 0xfb, 0xb4, 0x7f, 0xe1, 0xdb, 0x9d, 0x7f, 0x2c, 0x70, 0xaa, 0x1c, 0x84,
	0x80, 0x9d, 0x30, 0x19, 0xe3, 0xac, 0x71, 0x43, 0x5c, 0xeb, 0x1a, 0x4e, 0x0b, 0x33, 0x59, 0x70,
	0x4d, 0x9e, 0x03, 0x48, 0x15, 0x09, 0x85, 0xe3, 0x09, 0xe7, 0x88, 0x1d, 0xba, 0x58, 0xd1, 0x53,
	0x89, 0x7c, 0x05, 0xae, 0x60, 0xd1, 0xda, 0xa0, 0x36, 0xa2, 0x8e, 0x2e, 0x20, 0xf8, 0x1c, 0x20,
	0x63, 0x19, 0x17, 0x1b, 0x5a, 0x4a, 0x86, 0x53, 0xc2, 0x0e, 0x5d, 0x53, 0x59, 0x4a, 0xd6, 0xf9,
	0xd7, 0x82, 0xf6, 0x84, 0x27, 0xe5, 0x9a, 0x2d, 0x36, 0x05, 0xc3, 0x54, 0x4b, 0x38, 0x34, 0xef,
	0x4d, 0x6e, 0xa4, 0x62, 0x19, 0xa6, 0x6b, 0xf7, 0xbe, 0xff, 0xfc, 0x42, 0xdc, 0x13, 0x99, 0xe1,
	0x32, 0xff, 0x75, 0xbe, 0x18, 0x4d, 0x6a, 0x57, 0x03, 0x25, 0x73, 0xb4, 0x21, 0x2f, 0xc0, 0xcb,
	0x50, 0x43, 0xd5, 0xa6, 0xa8, 0xfa, 0x83, 0x6c, 0x67, 0x43, 0xbe, 0x86, 0x76, 0x5e, 0x66, 0x94,
	0xaf, 0xa8, 0x29, 0x4a, 0xec, 0xb4, 0x15, 0x1e, 0xe6, 0x65, 0x36, 0x5b, 0x99, 0xfd, 0x64, 0xe7,
	0x27, 0xf0, 0x6a, 0x7b, 0xdd, 0xff, 0x0a, 0x2e, 0xec, 0xcf, 0x67, 0xb3, 0xa9, 0xfe, 0x5c, 0x0e,
	0xd8, 0x93, 0xc1, 0x9b, 0x91, 0xbf, 0x37, 0x3c, 0x7a, 0xdd, 0xf8, 0xad, 0xfa, 0x25, 0x50, 0xfc,
	0x25, 0xfc, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x8d, 0x19, 0x89, 0x22, 0x06, 0x00, 0x00,
func init() { proto.RegisterFile("metrics.proto", fileDescriptor_6039342a2ba47b72) }

var fileDescriptor_6039342a2ba47b72 = []byte{
	// 847 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x6e, 0xe2, 0x46,
	0x14, 0x5e, 0x02, 0x1b, 0xec, 0xe3, 0xc0, 0x3a, 0x93, 0x48, 0xf1, 0xb6, 0x5a, 0x2d, 0x42, 0xfd,
	0xa1, 0x52, 0x4b, 0x57, 0x28, 0x42, 0x51, 0xd4, 0x5e, 0x00, 0x41, 0x59, 0xb4, 0x0b, 0xac, 0x06,
	0x48, 0xb7, 0xbd, 0xa8, 0xe5, 0xd8, 0x43, 0xe2, 0x16, 0x7b, 0xac, 0x99, 0xf1, 0xaa, 0x79, 0x88,
	0x3e, 0x51, 0x1f, 0xa6, 0xaf, 0x52, 0xcd, 0x19, 0x4c, 0x9c, 0x5c, 0xa4, 0xda, 0xbb, 0xf1, 0xf9,
	0x7e, 0xe6, 0x3b, 0x1e, 0xcf, 0x31, 0x34, 0x12, 0xa6, 0x44, 0x1c, 0xca, 0x6e, 0x26, 0xb8, 0xe2,
	0xa4, 0x71, 0x9d, 0xc7, 0x9b, 0xc8, 0xdf, 0x16, 0xdb, 0xff, 0xd8, 0xe0, 0x4c, 0xcd, 0x7a, 0x18,
	0x48, 0x46, 0xde, 0xc0, 0xb1, 0x21, 0x44, 0x81, 0x62, 0xbe, 0x8a, 0x13, 0x26, 0x55, 0x90, 0x64,
	0x5e, 0xa5, 0x55, 0xe9, 0x54, 0x29, 0x41, 0xec, 0x22, 0x50, 0x6c, 0x59, 0x20, 0xe4, 0x25, 0x58,
	0x46, 0x11, 0x47, 0xde, 0x5e, 0xab, 0xd2, 0xb1, 0x69, 0x1d, 0x9f, 0x27, 0x11, 0x39, 0x87, 0x97,
	0xd9, 0x26, 0x50, 0x6b, 0x2e, 0x12, 0xff, 0x13, 0x13, 0x32, 0xe6, 0xa9, 0x1f, 0xf2, 0x88, 0xa5,
	0x41, 0xc2, 0xbc, 0x2a, 0x72, 0x4f, 0x0a, 0xc2, 0x95, 0xc1, 0x47, 0x5b, 0x98, 0x7c, 0x0d, 0x4d,
	0x15, 0x88, 0x1b, 0xa6, 0xfc, 0x4c, 0xf0, 0x28, 0x0f, 0x95, 0x57, 0x43, 0x41, 0xc3, 0x54, 0x3f,
	0x98, 0x22, 0xf9, 0x1d, 0x8e, 0xb7, 0x34, 0x13, 0xe2, 0x53, 0x20, 0xe2, 0x20, 0x55, 0xde, 0xf3,
	0x56, 0xa5, 0xd3, 0xec, 0x7d, 0xdb, 0x7d, 0xd0, 0x6d, 0xb7, 0xd4, 0x69, 0x77, 0xb8, 0x9a, 0xbc,
	0xbf, 0xb8, 0x1a, 0xd0, 0xc9, 0x60, 0xb6, 0x3c, 0xaf, 0x8e, 0x67, 0x97, 0x94, 0x18, 0xa7, 0xa1,
	0x96, 0x5c, 0x19, 0x1f, 0x32, 0x01, 0x67, 0xeb, 0x1f, 0x88, 0xf0, 0xd6, 0xdb, 0x47, 0xdb, 0xd7,
	0x4f, 0xd8, 0x0e, 0xe8, 0xe8, 0xed, 0x79, 0x7d, 0x35, 0x7b, 0x37, 0x9b, 0xff, 0x32, 0xa3, 0x60,
	0xc4, 0x03, 0x11, 0xde, 0x92, 0x2e, 0x1c, 0x95, 0xac, 0x76, 0x49, 0xeb, 0xd8, 0xd6, 0xe1, 0x3d,
	0xb1, 0xd8, 0xfa, 0x7b, 0xd8, 0x06, 0xf2, 0xc3, 0x2c, 0xdf, 0xd1, 0x2d, 0xa4, 0xbb, 0x06, 0x19,
	0x65, 0x79, 0xc1, 0x1e, 0x83, 0x7d, 0xcb, 0xe5, 0x36, 0xa6, 0xfd, 0x99, 0x31, 0x2d, 0x2d, 0xc5,
	0x90, 0xef, 0xa1, 0x81, 0x36, 0xbd, 0x34, 0x32, 0x56, 0xf0, 0x99, 0x56, 0x8e, 0x96, 0xf7, 0xd2,
	0x08, 0xdd, 0x4e, 0xa0, 0x8e, 0x6e, 0x5c, 0x7a, 0x0e, 0xe6, 0xde, 0xd7, 0x8f, 0x73, 0x49, 0xda,
	0xdb, 0x6d, 0xb8, 0xf4, 0xd9, 0x5f, 0x4a, 0x04, 0xde, 0x01, 0xc2, 0x8e, 0x81, 0xc7, 0xba, 0xb4,
	0xe3, 0x84, 0x82, 0x4b, 0xa9, 0x2d, 0x1a, 0xf7, 0x9c, 0x91, 0xae, 0xcd, 0x25, 0xf9, 0x06, 0x5e,
	0x94, 0x38, 0x18, 0xb8, 0x69, 0x3e, 0x93, 0x1d, 0x0b, 0x83, 0xfc, 0x00, 0x47, 0x25, 0xde, 0xae,
	0xb9, 0x17, 0xe6, 0x65, 0xee, 0xb8, 0xa5, 0xdc, 0x3c, 0x57, 0x7e, 0x14, 0x0b, 0xcf, 0x35, 0xb9,
	0x79, 0xae, 0x2e, 0x62, 0x41, 0xce, 0xc0, 0x91, 0x4c, 0xe5, 0x99, 0xaf, 0x38, 0xdf, 0x48, 0xef,
	0xb0, 0x55, 0xed, 0x38, 0xbd, 0x93, 0x47, 0x2f, 0xe7, 0x03, 0x13, 0xeb, 0x49, 0xba, 0xe6, 0x14,
	0x90, 0xbb, 0xd4, 0x54, 0x72, 0x0a, 0xf6, 0x9f, 0x81, 0x8a, 0x7d, 0x91, 0xa7, 0xd2, 0x23, 0x4f,
	0xeb, 0x2c, 0xcd, 0xa4, 0x79, 0x2a, 0x49, 0x1f, 0x40, 0x72, 0x9e, 0xde, 0x18, 0xd9, 0xd1, 0xd3,
	0x32, 0x1b, 0xa9, 0x85, 0x2e, 0x8d, 0xd3, 0x3f, 0x02, 0xa3, 0x3b, 0xfe, 0x1f, 0x1d, 0x52, 0x51,
	0xf7, 0x33, 0x1c, 0x18, 0x52, 0xc8, 0xd3, 0x75, 0x7c, 0xe3, 0x9d, 0xb4, 0x2a, 0x1d, 0xa7, 0xf7,
	0xc5, 0x23, 0x25, 0xde, 0x90, 0x11, 0x32, 0xa8, 0x73, 0x7d, 0xff, 0xd0, 0x7e, 0x03, 0x07, 0xe5,
	0x6b, 0x45, 0x2c, 0xa8, 0xad, 0x16, 0x63, 0xea, 0x3e, 0x23, 0x0d, 0xb0, 0xf5, 0xea, 0x62, 0x3c,
	0x5c, 0x5d, 0xba, 0x15, 0x52, 0x07, 0x7d, 0xe3, 0xdc, 0xbd, 0xf6, 0x4f, 0x50, 0xd3, 0xdf, 0x0f,
	0x71, 0xa0, 0xf8, 0x82, 0xdc, 0x67, 0x1a, 0x1d, 0xd0, 0xa9, 0x5b, 0x21, 0x36, 0x3c, 0x1f, 0xd0,
	0x69, 0xff, 0xd4, 0xdd, 0xd3, 0xb5, 0x8f, 0x67, 0x7d, 0xb7, 0x4a, 0x00, 0xf6, 0x3f, 0x9e, 0xf5,
	0xfd, 0xfe, 0xa9, 0x5b, 0x6b, 0x0f, 0xc0, 0x29, 0x65, 0xd1, 0xa3, 0x28, 0x97, 0xcc, 0xbf, 0xe1,
	0x49, 0x80, 0x03, 0xcb, 0xa2, 0xf5, 0x5c, 0xb2, 0x4b, 0x9e, 0x04, 0xfa, 0x44, 0x35, 0x24, 0xae,
	0x19, 0x0e, 0x29, 0x8b, 0xee, 0xe7, 0x92, 0xd1, 0x6b, 0xd6, 0xfe, 0xbb, 0x02, 0x56, 0xf1, 0x26,
	0x08, 0x81, 0x5a, 0xc4, 0x64, 0x88, 0x62, 0x9b, 0xe2, 0x5a, 0xd7, 0x70, 0x5e, 0x99, 0xd9, 0x86,
	0x6b, 0xf2, 0x0a, 0x40, 0xaa, 0x40, 0x28, 0x1c, 0x90, 0x38, 0xc9, 0x6a, 0xd4, 0xc6, 0x8a, 0x9e,
	0x8b, 0xe4, 0x4b, 0xb0, 0x05, 0x0b, 0x36, 0x06, 0xad, 0x21, 0x6a, 0xe9, 0x02, 0x82, 0xaf, 0x00,
	0x12, 0x96, 0x70, 0x71, 0xe7, 0xe7, 0x92, 0xe1, 0x9c, 0xaa, 0x51, 0xdb, 0x54, 0x56, 0x92, 0xb5,
	0xff, 0xad, 0x40, 0x73, 0xca, 0xa3, 0x7c, 0xc3, 0x96, 0x77, 0x19, 0xc3, 0x54, 0xab, 0xe2, 0x50,
	0xe4, 0x9d, 0x54, 0x2c, 0xc1, 0x74, 0xcd, 0xde, 0x77, 0x8f, 0xaf, 0xe4, 0x03, 0x91, 0x19, 0x6f,
	0x8b, 0x5f, 0x17, 0xcb, 0xf1, 0xb4, 0x74, 0x39, 0x51, 0xb2, 0x40, 0x1b, 0xf2, 0x1a, 0x9c, 0x04,
	0x35, 0xbe, 0xba, 0xcb, 0x8a, 0xfe, 0x20, 0xd9, 0xd9, 0x90, 0xaf, 0xa0, 0x99, 0xe6, 0x89, 0xcf,
	0xd7, 0xbe, 0x29, 0x4a, 0xec, 0xb4, 0x41, 0x0f, 0xd2, 0x3c, 0x99, 0xaf, 0xcd, 0x7e, 0xb2, 0xfd,
	0x23, 0x38, 0xa5, 0xbd, 0x1e, 0x1e, 0xa4, 0x0d, 0xcf, 0x17, 0xf3, 0xf9, 0x4c, 0x9f, 0xb8, 0x05,
	0xb5, 0xe9, 0xe0, 0xdd, 0xd8, 0xdd, 0x1b, 0x1e, 0xbe, 0xad, 0xfe, 0x56, 0xfc, 0x94, 0x7c, 0xfc,
	0x29, 0xfd, 0x17, 0x00, 0x00, 0xff, 0xff, 0x76, 0x9a, 0xf7, 0xbd, 0xa4, 0x06, 0x00, 0x00,
}
+8 −0
Original line number Diff line number Diff line
@@ -91,6 +91,14 @@ message MetricsBase {

  // The metrics for calling Ninja.
  repeated PerfInfo ninja_runs = 20;

  optional BuildConfig build_config = 23;
}

message BuildConfig {
  optional bool use_goma = 1;

  optional bool use_rbe = 2;
}

message PerfInfo {