ソースを参照

Upload soong_build_metrics

Test: m nothing
Test: m --bazel-mode-dev
Test: Verified soong_build_metrics is available in local metrics tables from builds that include this CL

Bug: 257537925
Change-Id: Ic5419ecb203c9b62457e1c553d592ba593a9bfff
Jason Wu 1 年間 前
コミット
f0ec631046
2 ファイル変更8 行追加5 行削除
  1. 3 1
      cmd/soong_ui/main.go
  2. 5 4
      ui/build/soong.go

+ 3 - 1
cmd/soong_ui/main.go

@@ -117,6 +117,7 @@ func inList(s string, list []string) bool {
 // Command is the type of soong_ui execution. Only one type of
 // execution is specified. The args are specific to the command.
 func main() {
+	//TODO(juu): Add logic to soong_ui to delete a hardcoded list of metrics files
 	shared.ReexecWithDelveMaybe(os.Getenv("SOONG_UI_DELVE"), shared.ResolveDelveBinary())
 
 	buildStarted := time.Now()
@@ -184,6 +185,7 @@ func main() {
 	rbeMetricsFile := filepath.Join(logsDir, c.logsPrefix+"rbe_metrics.pb")
 	soongMetricsFile := filepath.Join(logsDir, c.logsPrefix+"soong_metrics")
 	bp2buildMetricsFile := filepath.Join(logsDir, c.logsPrefix+"bp2build_metrics.pb")
+	soongBuildMetricsFile := filepath.Join(logsDir, c.logsPrefix+"soong_build_metrics.pb")
 
 	build.PrintOutDirWarning(buildCtx, config)
 
@@ -211,6 +213,7 @@ func main() {
 		files := []string{
 			buildErrorFile,           // build error strings
 			rbeMetricsFile,           // high level metrics related to remote build execution.
+			soongBuildMetricsFile,    // high level metrics related to soong build(except bp2build).
 			bp2buildMetricsFile,      // high level metrics related to bp2build.
 			soongMetricsFile,         // high level metrics related to this build system.
 			config.BazelMetricsDir(), // directory that contains a set of bazel metrics.
@@ -219,7 +222,6 @@ func main() {
 		if !config.SkipMetricsUpload() {
 			defer build.UploadMetrics(buildCtx, config, c.simpleOutput, buildStarted, files...)
 		}
-
 		defer met.Dump(soongMetricsFile)
 		defer build.CheckProdCreds(buildCtx, config)
 	}

+ 5 - 4
ui/build/soong.go

@@ -566,11 +566,12 @@ func runSoong(ctx Context, config Config) {
 		targets = append(targets, config.SoongNinjaFile())
 	}
 
+	// TODO(juu): Stop embedding soong_build_metrics in soong_metrics.
+	soongBuildMetricsFile := filepath.Join(config.LogsDir(), "soong_build_metrics.pb")
+	if err := os.Remove(soongBuildMetricsFile); err != nil && !os.IsNotExist(err) {
+		ctx.Verbosef("Failed to remove %s", soongBuildMetricsFile)
+	}
 	if shouldCollectBuildSoongMetrics(config) {
-		soongBuildMetricsFile := filepath.Join(config.LogsDir(), "soong_build_metrics.pb")
-		if err := os.Remove(soongBuildMetricsFile); err != nil && !os.IsNotExist(err) {
-			ctx.Verbosef("Failed to remove %s", soongBuildMetricsFile)
-		}
 		defer func() {
 			soongBuildMetrics := loadSoongBuildMetrics(ctx, soongBuildMetricsFile)
 			if soongBuildMetrics != nil {