Loading cmd/soong_ui/main.go +1 −1 Original line number Diff line number Diff line Loading @@ -197,7 +197,7 @@ func main() { rbeMetricsFile := filepath.Join(logsDir, c.logsPrefix+"rbe_metrics.pb") soongBuildMetricsFile := filepath.Join(logsDir, c.logsPrefix+"soong_build_metrics.pb") buildTraceFile := filepath.Join(logsDir, c.logsPrefix+"build.trace.gz") executionMetricsFile := filepath.Join(logsDir, c.logsPrefix+"soong_execution_metrics.pb") executionMetricsFile := filepath.Join(logsDir, c.logsPrefix+"execution_metrics.pb") metricsFiles := []string{ buildErrorFile, // build error strings Loading ui/execution_metrics/execution_metrics.go +9 −3 Original line number Diff line number Diff line Loading @@ -204,8 +204,7 @@ func (c *ExecutionMetrics) Dump(path string, args []string) error { if c.MetricsAggregationDir == "" { return nil } msg := c.GetMetrics() msg.CommandArgs = args msg := c.GetMetrics(args) if _, err := os.Stat(filepath.Dir(path)); err != nil { if err = os.MkdirAll(filepath.Dir(path), 0775); err != nil { Loading @@ -219,7 +218,14 @@ func (c *ExecutionMetrics) Dump(path string, args []string) error { return os.WriteFile(path, data, 0644) } func (c *ExecutionMetrics) GetMetrics() *soong_metrics_proto.AggregatedFileList { func (c *ExecutionMetrics) GetMetrics(args []string) *soong_metrics_proto.ExecutionMetrics { return &soong_metrics_proto.ExecutionMetrics{ CommandArgs: args, ChangedFiles: c.getChangedFiles(), } } func (c *ExecutionMetrics) getChangedFiles() *soong_metrics_proto.AggregatedFileList { fl := c.fileList if fl == nil { return nil Loading ui/metrics/metrics_proto/metrics.pb.go +134 −64 Original line number Diff line number Diff line Loading @@ -2080,6 +2080,64 @@ func (x *OptimizedBuildMetrics) GetTargetResult() []*OptimizedBuildMetrics_Targe return nil } // This is created by soong_ui from SoongExexcutionMetrics files. type ExecutionMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The arguments provided on the command line. CommandArgs []string `protobuf:"bytes,1,rep,name=command_args,json=commandArgs" json:"command_args,omitempty"` // Changed files detected by the build. ChangedFiles *AggregatedFileList `protobuf:"bytes,2,opt,name=changed_files,json=changedFiles" json:"changed_files,omitempty"` } func (x *ExecutionMetrics) Reset() { *x = ExecutionMetrics{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecutionMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecutionMetrics) ProtoMessage() {} func (x *ExecutionMetrics) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExecutionMetrics.ProtoReflect.Descriptor instead. func (*ExecutionMetrics) Descriptor() ([]byte, []int) { return file_metrics_proto_rawDescGZIP(), []int{19} } func (x *ExecutionMetrics) GetCommandArgs() []string { if x != nil { return x.CommandArgs } return nil } func (x *ExecutionMetrics) GetChangedFiles() *AggregatedFileList { if x != nil { return x.ChangedFiles } return nil } // This is created by soong_ui from the various // android.find_input_delta_proto.FileList metrics provided to it by // find_input_delta. Loading @@ -2088,8 +2146,6 @@ type AggregatedFileList struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The arguments provided on the command line. CommandArgs []string `protobuf:"bytes,1,rep,name=command_args,json=commandArgs" json:"command_args,omitempty"` // The (possibly truncated list of) added files. Additions []string `protobuf:"bytes,2,rep,name=additions" json:"additions,omitempty"` // The (possibly truncated list of) changed files. Loading @@ -2105,7 +2161,7 @@ type AggregatedFileList struct { func (x *AggregatedFileList) Reset() { *x = AggregatedFileList{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[19] mi := &file_metrics_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } Loading @@ -2118,7 +2174,7 @@ func (x *AggregatedFileList) String() string { func (*AggregatedFileList) ProtoMessage() {} func (x *AggregatedFileList) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[19] mi := &file_metrics_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { Loading @@ -2131,14 +2187,7 @@ func (x *AggregatedFileList) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedFileList.ProtoReflect.Descriptor instead. func (*AggregatedFileList) Descriptor() ([]byte, []int) { return file_metrics_proto_rawDescGZIP(), []int{19} } func (x *AggregatedFileList) GetCommandArgs() []string { if x != nil { return x.CommandArgs } return nil return file_metrics_proto_rawDescGZIP(), []int{20} } func (x *AggregatedFileList) GetAdditions() []string { Loading Loading @@ -2194,7 +2243,7 @@ type FileCount struct { func (x *FileCount) Reset() { *x = FileCount{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[20] mi := &file_metrics_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } Loading @@ -2207,7 +2256,7 @@ func (x *FileCount) String() string { func (*FileCount) ProtoMessage() {} func (x *FileCount) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[20] mi := &file_metrics_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { Loading @@ -2220,7 +2269,7 @@ func (x *FileCount) ProtoReflect() protoreflect.Message { // Deprecated: Use FileCount.ProtoReflect.Descriptor instead. func (*FileCount) Descriptor() ([]byte, []int) { return file_metrics_proto_rawDescGZIP(), []int{20} return file_metrics_proto_rawDescGZIP(), []int{21} } func (x *FileCount) GetExtension() string { Loading Loading @@ -2272,7 +2321,7 @@ type OptimizedBuildMetrics_TargetOptimizationResult struct { func (x *OptimizedBuildMetrics_TargetOptimizationResult) Reset() { *x = OptimizedBuildMetrics_TargetOptimizationResult{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[21] mi := &file_metrics_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } Loading @@ -2285,7 +2334,7 @@ func (x *OptimizedBuildMetrics_TargetOptimizationResult) String() string { func (*OptimizedBuildMetrics_TargetOptimizationResult) ProtoMessage() {} func (x *OptimizedBuildMetrics_TargetOptimizationResult) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[21] mi := &file_metrics_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { Loading Loading @@ -2352,7 +2401,7 @@ type OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact struct { func (x *OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact) Reset() { *x = OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[22] mi := &file_metrics_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } Loading @@ -2365,7 +2414,7 @@ func (x *OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact) String() func (*OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact) ProtoMessage() {} func (x *OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[22] mi := &file_metrics_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { Loading Loading @@ -2808,33 +2857,40 @@ var file_metrics_proto_rawDesc = []byte{ 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x12, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x28, 0x5a, 0x26, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x2f, 0x75, 0x69, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x72, 0x67, 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x12, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x8b, 0x01, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x28, 0x5a, 0x26, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x2f, 0x75, 0x69, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, } var ( Loading @@ -2850,7 +2906,7 @@ func file_metrics_proto_rawDescGZIP() []byte { } var file_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_metrics_proto_goTypes = []interface{}{ (MetricsBase_BuildVariant)(0), // 0: soong_build_metrics.MetricsBase.BuildVariant (MetricsBase_Arch)(0), // 1: soong_build_metrics.MetricsBase.Arch Loading @@ -2876,10 +2932,11 @@ var file_metrics_proto_goTypes = []interface{}{ (*CriticalPathInfo)(nil), // 21: soong_build_metrics.CriticalPathInfo (*JobInfo)(nil), // 22: soong_build_metrics.JobInfo (*OptimizedBuildMetrics)(nil), // 23: soong_build_metrics.OptimizedBuildMetrics (*AggregatedFileList)(nil), // 24: soong_build_metrics.AggregatedFileList (*FileCount)(nil), // 25: soong_build_metrics.FileCount (*OptimizedBuildMetrics_TargetOptimizationResult)(nil), // 26: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult (*OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact)(nil), // 27: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.OutputArtifact (*ExecutionMetrics)(nil), // 24: soong_build_metrics.ExecutionMetrics (*AggregatedFileList)(nil), // 25: soong_build_metrics.AggregatedFileList (*FileCount)(nil), // 26: soong_build_metrics.FileCount (*OptimizedBuildMetrics_TargetOptimizationResult)(nil), // 27: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult (*OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact)(nil), // 28: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.OutputArtifact } var file_metrics_proto_depIdxs = []int32{ 0, // 0: soong_build_metrics.MetricsBase.target_build_variant:type_name -> soong_build_metrics.MetricsBase.BuildVariant Loading Loading @@ -2915,15 +2972,16 @@ var file_metrics_proto_depIdxs = []int32{ 22, // 30: soong_build_metrics.CriticalPathInfo.long_running_jobs:type_name -> soong_build_metrics.JobInfo 10, // 31: soong_build_metrics.OptimizedBuildMetrics.analysis_perf:type_name -> soong_build_metrics.PerfInfo 10, // 32: soong_build_metrics.OptimizedBuildMetrics.packaging_perf:type_name -> soong_build_metrics.PerfInfo 26, // 33: soong_build_metrics.OptimizedBuildMetrics.target_result:type_name -> soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult 25, // 34: soong_build_metrics.AggregatedFileList.counts:type_name -> soong_build_metrics.FileCount 10, // 35: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.packaging_perf:type_name -> soong_build_metrics.PerfInfo 27, // 36: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.output_artifact:type_name -> soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.OutputArtifact 37, // [37:37] is the sub-list for method output_type 37, // [37:37] is the sub-list for method input_type 37, // [37:37] is the sub-list for extension type_name 37, // [37:37] is the sub-list for extension extendee 0, // [0:37] is the sub-list for field type_name 27, // 33: soong_build_metrics.OptimizedBuildMetrics.target_result:type_name -> soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult 25, // 34: soong_build_metrics.ExecutionMetrics.changed_files:type_name -> soong_build_metrics.AggregatedFileList 26, // 35: soong_build_metrics.AggregatedFileList.counts:type_name -> soong_build_metrics.FileCount 10, // 36: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.packaging_perf:type_name -> soong_build_metrics.PerfInfo 28, // 37: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.output_artifact:type_name -> soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.OutputArtifact 38, // [38:38] is the sub-list for method output_type 38, // [38:38] is the sub-list for method input_type 38, // [38:38] is the sub-list for extension type_name 38, // [38:38] is the sub-list for extension extendee 0, // [0:38] is the sub-list for field type_name } func init() { file_metrics_proto_init() } Loading Loading @@ -3161,7 +3219,7 @@ func file_metrics_proto_init() { } } file_metrics_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AggregatedFileList); i { switch v := v.(*ExecutionMetrics); i { case 0: return &v.state case 1: Loading @@ -3173,7 +3231,7 @@ func file_metrics_proto_init() { } } file_metrics_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileCount); i { switch v := v.(*AggregatedFileList); i { case 0: return &v.state case 1: Loading @@ -3185,7 +3243,7 @@ func file_metrics_proto_init() { } } file_metrics_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizedBuildMetrics_TargetOptimizationResult); i { switch v := v.(*FileCount); i { case 0: return &v.state case 1: Loading @@ -3197,6 +3255,18 @@ func file_metrics_proto_init() { } } file_metrics_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizedBuildMetrics_TargetOptimizationResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_metrics_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact); i { case 0: return &v.state Loading @@ -3215,7 +3285,7 @@ func file_metrics_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_metrics_proto_rawDesc, NumEnums: 5, NumMessages: 23, NumMessages: 24, NumExtensions: 0, NumServices: 0, }, Loading ui/metrics/metrics_proto/metrics.proto +11 −3 Original line number Diff line number Diff line Loading @@ -452,13 +452,19 @@ message OptimizedBuildMetrics { } } // This is created by soong_ui from SoongExexcutionMetrics files. message ExecutionMetrics { // The arguments provided on the command line. repeated string command_args = 1; // Changed files detected by the build. optional AggregatedFileList changed_files = 2; } // This is created by soong_ui from the various // android.find_input_delta_proto.FileList metrics provided to it by // find_input_delta. message AggregatedFileList { // The arguments provided on the command line. repeated string command_args = 1; // The (possibly truncated list of) added files. repeated string additions = 2; Loading @@ -473,6 +479,8 @@ message AggregatedFileList { // Counts by extension. repeated FileCount counts = 6; reserved 1; } message FileCount { Loading Loading
cmd/soong_ui/main.go +1 −1 Original line number Diff line number Diff line Loading @@ -197,7 +197,7 @@ func main() { rbeMetricsFile := filepath.Join(logsDir, c.logsPrefix+"rbe_metrics.pb") soongBuildMetricsFile := filepath.Join(logsDir, c.logsPrefix+"soong_build_metrics.pb") buildTraceFile := filepath.Join(logsDir, c.logsPrefix+"build.trace.gz") executionMetricsFile := filepath.Join(logsDir, c.logsPrefix+"soong_execution_metrics.pb") executionMetricsFile := filepath.Join(logsDir, c.logsPrefix+"execution_metrics.pb") metricsFiles := []string{ buildErrorFile, // build error strings Loading
ui/execution_metrics/execution_metrics.go +9 −3 Original line number Diff line number Diff line Loading @@ -204,8 +204,7 @@ func (c *ExecutionMetrics) Dump(path string, args []string) error { if c.MetricsAggregationDir == "" { return nil } msg := c.GetMetrics() msg.CommandArgs = args msg := c.GetMetrics(args) if _, err := os.Stat(filepath.Dir(path)); err != nil { if err = os.MkdirAll(filepath.Dir(path), 0775); err != nil { Loading @@ -219,7 +218,14 @@ func (c *ExecutionMetrics) Dump(path string, args []string) error { return os.WriteFile(path, data, 0644) } func (c *ExecutionMetrics) GetMetrics() *soong_metrics_proto.AggregatedFileList { func (c *ExecutionMetrics) GetMetrics(args []string) *soong_metrics_proto.ExecutionMetrics { return &soong_metrics_proto.ExecutionMetrics{ CommandArgs: args, ChangedFiles: c.getChangedFiles(), } } func (c *ExecutionMetrics) getChangedFiles() *soong_metrics_proto.AggregatedFileList { fl := c.fileList if fl == nil { return nil Loading
ui/metrics/metrics_proto/metrics.pb.go +134 −64 Original line number Diff line number Diff line Loading @@ -2080,6 +2080,64 @@ func (x *OptimizedBuildMetrics) GetTargetResult() []*OptimizedBuildMetrics_Targe return nil } // This is created by soong_ui from SoongExexcutionMetrics files. type ExecutionMetrics struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The arguments provided on the command line. CommandArgs []string `protobuf:"bytes,1,rep,name=command_args,json=commandArgs" json:"command_args,omitempty"` // Changed files detected by the build. ChangedFiles *AggregatedFileList `protobuf:"bytes,2,opt,name=changed_files,json=changedFiles" json:"changed_files,omitempty"` } func (x *ExecutionMetrics) Reset() { *x = ExecutionMetrics{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExecutionMetrics) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExecutionMetrics) ProtoMessage() {} func (x *ExecutionMetrics) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ExecutionMetrics.ProtoReflect.Descriptor instead. func (*ExecutionMetrics) Descriptor() ([]byte, []int) { return file_metrics_proto_rawDescGZIP(), []int{19} } func (x *ExecutionMetrics) GetCommandArgs() []string { if x != nil { return x.CommandArgs } return nil } func (x *ExecutionMetrics) GetChangedFiles() *AggregatedFileList { if x != nil { return x.ChangedFiles } return nil } // This is created by soong_ui from the various // android.find_input_delta_proto.FileList metrics provided to it by // find_input_delta. Loading @@ -2088,8 +2146,6 @@ type AggregatedFileList struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The arguments provided on the command line. CommandArgs []string `protobuf:"bytes,1,rep,name=command_args,json=commandArgs" json:"command_args,omitempty"` // The (possibly truncated list of) added files. Additions []string `protobuf:"bytes,2,rep,name=additions" json:"additions,omitempty"` // The (possibly truncated list of) changed files. Loading @@ -2105,7 +2161,7 @@ type AggregatedFileList struct { func (x *AggregatedFileList) Reset() { *x = AggregatedFileList{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[19] mi := &file_metrics_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } Loading @@ -2118,7 +2174,7 @@ func (x *AggregatedFileList) String() string { func (*AggregatedFileList) ProtoMessage() {} func (x *AggregatedFileList) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[19] mi := &file_metrics_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { Loading @@ -2131,14 +2187,7 @@ func (x *AggregatedFileList) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedFileList.ProtoReflect.Descriptor instead. func (*AggregatedFileList) Descriptor() ([]byte, []int) { return file_metrics_proto_rawDescGZIP(), []int{19} } func (x *AggregatedFileList) GetCommandArgs() []string { if x != nil { return x.CommandArgs } return nil return file_metrics_proto_rawDescGZIP(), []int{20} } func (x *AggregatedFileList) GetAdditions() []string { Loading Loading @@ -2194,7 +2243,7 @@ type FileCount struct { func (x *FileCount) Reset() { *x = FileCount{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[20] mi := &file_metrics_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } Loading @@ -2207,7 +2256,7 @@ func (x *FileCount) String() string { func (*FileCount) ProtoMessage() {} func (x *FileCount) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[20] mi := &file_metrics_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { Loading @@ -2220,7 +2269,7 @@ func (x *FileCount) ProtoReflect() protoreflect.Message { // Deprecated: Use FileCount.ProtoReflect.Descriptor instead. func (*FileCount) Descriptor() ([]byte, []int) { return file_metrics_proto_rawDescGZIP(), []int{20} return file_metrics_proto_rawDescGZIP(), []int{21} } func (x *FileCount) GetExtension() string { Loading Loading @@ -2272,7 +2321,7 @@ type OptimizedBuildMetrics_TargetOptimizationResult struct { func (x *OptimizedBuildMetrics_TargetOptimizationResult) Reset() { *x = OptimizedBuildMetrics_TargetOptimizationResult{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[21] mi := &file_metrics_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } Loading @@ -2285,7 +2334,7 @@ func (x *OptimizedBuildMetrics_TargetOptimizationResult) String() string { func (*OptimizedBuildMetrics_TargetOptimizationResult) ProtoMessage() {} func (x *OptimizedBuildMetrics_TargetOptimizationResult) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[21] mi := &file_metrics_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { Loading Loading @@ -2352,7 +2401,7 @@ type OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact struct { func (x *OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact) Reset() { *x = OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact{} if protoimpl.UnsafeEnabled { mi := &file_metrics_proto_msgTypes[22] mi := &file_metrics_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } Loading @@ -2365,7 +2414,7 @@ func (x *OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact) String() func (*OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact) ProtoMessage() {} func (x *OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact) ProtoReflect() protoreflect.Message { mi := &file_metrics_proto_msgTypes[22] mi := &file_metrics_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { Loading Loading @@ -2808,33 +2857,40 @@ var file_metrics_proto_rawDesc = []byte{ 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x12, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x28, 0x5a, 0x26, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x2f, 0x75, 0x69, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x10, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x41, 0x72, 0x67, 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x12, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x8b, 0x01, 0x0a, 0x09, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x28, 0x5a, 0x26, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x2f, 0x73, 0x6f, 0x6f, 0x6e, 0x67, 0x2f, 0x75, 0x69, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, } var ( Loading @@ -2850,7 +2906,7 @@ func file_metrics_proto_rawDescGZIP() []byte { } var file_metrics_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_metrics_proto_goTypes = []interface{}{ (MetricsBase_BuildVariant)(0), // 0: soong_build_metrics.MetricsBase.BuildVariant (MetricsBase_Arch)(0), // 1: soong_build_metrics.MetricsBase.Arch Loading @@ -2876,10 +2932,11 @@ var file_metrics_proto_goTypes = []interface{}{ (*CriticalPathInfo)(nil), // 21: soong_build_metrics.CriticalPathInfo (*JobInfo)(nil), // 22: soong_build_metrics.JobInfo (*OptimizedBuildMetrics)(nil), // 23: soong_build_metrics.OptimizedBuildMetrics (*AggregatedFileList)(nil), // 24: soong_build_metrics.AggregatedFileList (*FileCount)(nil), // 25: soong_build_metrics.FileCount (*OptimizedBuildMetrics_TargetOptimizationResult)(nil), // 26: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult (*OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact)(nil), // 27: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.OutputArtifact (*ExecutionMetrics)(nil), // 24: soong_build_metrics.ExecutionMetrics (*AggregatedFileList)(nil), // 25: soong_build_metrics.AggregatedFileList (*FileCount)(nil), // 26: soong_build_metrics.FileCount (*OptimizedBuildMetrics_TargetOptimizationResult)(nil), // 27: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult (*OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact)(nil), // 28: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.OutputArtifact } var file_metrics_proto_depIdxs = []int32{ 0, // 0: soong_build_metrics.MetricsBase.target_build_variant:type_name -> soong_build_metrics.MetricsBase.BuildVariant Loading Loading @@ -2915,15 +2972,16 @@ var file_metrics_proto_depIdxs = []int32{ 22, // 30: soong_build_metrics.CriticalPathInfo.long_running_jobs:type_name -> soong_build_metrics.JobInfo 10, // 31: soong_build_metrics.OptimizedBuildMetrics.analysis_perf:type_name -> soong_build_metrics.PerfInfo 10, // 32: soong_build_metrics.OptimizedBuildMetrics.packaging_perf:type_name -> soong_build_metrics.PerfInfo 26, // 33: soong_build_metrics.OptimizedBuildMetrics.target_result:type_name -> soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult 25, // 34: soong_build_metrics.AggregatedFileList.counts:type_name -> soong_build_metrics.FileCount 10, // 35: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.packaging_perf:type_name -> soong_build_metrics.PerfInfo 27, // 36: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.output_artifact:type_name -> soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.OutputArtifact 37, // [37:37] is the sub-list for method output_type 37, // [37:37] is the sub-list for method input_type 37, // [37:37] is the sub-list for extension type_name 37, // [37:37] is the sub-list for extension extendee 0, // [0:37] is the sub-list for field type_name 27, // 33: soong_build_metrics.OptimizedBuildMetrics.target_result:type_name -> soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult 25, // 34: soong_build_metrics.ExecutionMetrics.changed_files:type_name -> soong_build_metrics.AggregatedFileList 26, // 35: soong_build_metrics.AggregatedFileList.counts:type_name -> soong_build_metrics.FileCount 10, // 36: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.packaging_perf:type_name -> soong_build_metrics.PerfInfo 28, // 37: soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.output_artifact:type_name -> soong_build_metrics.OptimizedBuildMetrics.TargetOptimizationResult.OutputArtifact 38, // [38:38] is the sub-list for method output_type 38, // [38:38] is the sub-list for method input_type 38, // [38:38] is the sub-list for extension type_name 38, // [38:38] is the sub-list for extension extendee 0, // [0:38] is the sub-list for field type_name } func init() { file_metrics_proto_init() } Loading Loading @@ -3161,7 +3219,7 @@ func file_metrics_proto_init() { } } file_metrics_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AggregatedFileList); i { switch v := v.(*ExecutionMetrics); i { case 0: return &v.state case 1: Loading @@ -3173,7 +3231,7 @@ func file_metrics_proto_init() { } } file_metrics_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileCount); i { switch v := v.(*AggregatedFileList); i { case 0: return &v.state case 1: Loading @@ -3185,7 +3243,7 @@ func file_metrics_proto_init() { } } file_metrics_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizedBuildMetrics_TargetOptimizationResult); i { switch v := v.(*FileCount); i { case 0: return &v.state case 1: Loading @@ -3197,6 +3255,18 @@ func file_metrics_proto_init() { } } file_metrics_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizedBuildMetrics_TargetOptimizationResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_metrics_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizedBuildMetrics_TargetOptimizationResult_OutputArtifact); i { case 0: return &v.state Loading @@ -3215,7 +3285,7 @@ func file_metrics_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_metrics_proto_rawDesc, NumEnums: 5, NumMessages: 23, NumMessages: 24, NumExtensions: 0, NumServices: 0, }, Loading
ui/metrics/metrics_proto/metrics.proto +11 −3 Original line number Diff line number Diff line Loading @@ -452,13 +452,19 @@ message OptimizedBuildMetrics { } } // This is created by soong_ui from SoongExexcutionMetrics files. message ExecutionMetrics { // The arguments provided on the command line. repeated string command_args = 1; // Changed files detected by the build. optional AggregatedFileList changed_files = 2; } // This is created by soong_ui from the various // android.find_input_delta_proto.FileList metrics provided to it by // find_input_delta. message AggregatedFileList { // The arguments provided on the command line. repeated string command_args = 1; // The (possibly truncated list of) added files. repeated string additions = 2; Loading @@ -473,6 +479,8 @@ message AggregatedFileList { // Counts by extension. repeated FileCount counts = 6; reserved 1; } message FileCount { Loading