diff options
author | Nan Zhang <nanzhang@google.com> | 2018-12-12 16:01:49 -0800 |
---|---|---|
committer | Nan Zhang <nanzhang@google.com> | 2019-01-04 15:54:01 -0800 |
commit | 17f2767724e7c7e8e2c4dcd595bd34b4de40f623 (patch) | |
tree | 2420a025fc229ed4f88a1b8b2a34a4c464cfe9b6 /cmd | |
parent | a45e15e2d47c7527f17fbd92085e27cc39cde720 (diff) | |
download | build_soong-17f2767724e7c7e8e2c4dcd595bd34b4de40f623.tar.gz build_soong-17f2767724e7c7e8e2c4dcd595bd34b4de40f623.tar.bz2 build_soong-17f2767724e7c7e8e2c4dcd595bd34b4de40f623.zip |
Generate build timing metrics to proto format file
Test: Dumped the text formated based metrics file to out dir,
and checked the file.
Bug: b/63815990
Change-Id: Iff476f72a0be74eb53b6b26ef468d11c0f24a404
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/soong_ui/main.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cmd/soong_ui/main.go b/cmd/soong_ui/main.go index b603571b..2bd0cf44 100644 --- a/cmd/soong_ui/main.go +++ b/cmd/soong_ui/main.go @@ -26,6 +26,7 @@ import ( "android/soong/ui/build" "android/soong/ui/logger" + "android/soong/ui/metrics" "android/soong/ui/status" "android/soong/ui/terminal" "android/soong/ui/tracer" @@ -73,6 +74,8 @@ func main() { trace := tracer.New(log) defer trace.Close() + met := metrics.New() + stat := &status.Status{} defer stat.Finish() stat.AddOutput(terminal.NewStatusOutput(writer, os.Getenv("NINJA_STATUS"))) @@ -87,6 +90,7 @@ func main() { buildCtx := build.Context{ContextImpl: &build.ContextImpl{ Context: ctx, Logger: log, + Metrics: met, Tracer: trace, Writer: writer, Status: stat, @@ -100,6 +104,9 @@ func main() { build.SetupOutDir(buildCtx, config) + metricsPath := filepath.Join(config.OutDir(), "build_metrics") + defer met.Dump(metricsPath) + logsDir := config.OutDir() if config.Dist() { logsDir = filepath.Join(config.DistDir(), "logs") @@ -116,7 +123,7 @@ func main() { if start_time, err := strconv.ParseUint(start, 10, 64); err == nil { log.Verbosef("Took %dms to start up.", time.Since(time.Unix(0, int64(start_time))).Nanoseconds()/time.Millisecond.Nanoseconds()) - buildCtx.CompleteTrace("startup", start_time, uint64(time.Now().UnixNano())) + buildCtx.CompleteTrace(metrics.RunSetupTool, "startup", start_time, uint64(time.Now().UnixNano())) } } |