Loading cmd/soong_ui/main.go +3 −2 Original line number Diff line number Diff line Loading @@ -117,7 +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() { buildStartedMilli := time.Now().UnixNano() / int64(time.Millisecond) buildStarted := time.Now() c, args := getCommand(os.Args) if c == nil { Loading @@ -138,6 +138,7 @@ func main() { defer trace.Close() met := metrics.New() met.SetBuildDateTime(buildStarted) stat := &status.Status{} defer stat.Finish() Loading Loading @@ -171,7 +172,7 @@ func main() { buildErrorFile := filepath.Join(logsDir, c.logsPrefix+"build_error") rbeMetricsFile := filepath.Join(logsDir, c.logsPrefix+"rbe_metrics.pb") soongMetricsFile := filepath.Join(logsDir, c.logsPrefix+"soong_metrics") defer build.UploadMetrics(buildCtx, config, c.forceDumbOutput, buildStartedMilli, buildErrorFile, rbeMetricsFile, soongMetricsFile) defer build.UploadMetrics(buildCtx, config, c.forceDumbOutput, buildStarted, buildErrorFile, rbeMetricsFile, soongMetricsFile) os.MkdirAll(logsDir, 0777) log.SetOutput(filepath.Join(logsDir, c.logsPrefix+"soong.log")) Loading ui/build/config.go +0 −3 Original line number Diff line number Diff line Loading @@ -256,9 +256,6 @@ func NewConfig(ctx Context, args ...string) Config { ret.buildDateTime = strconv.FormatInt(time.Now().Unix(), 10) } if ctx.Metrics != nil { ctx.Metrics.SetBuildDateTime(ret.buildDateTime) } ret.environ.Set("BUILD_DATETIME_FILE", buildDateTimeFile) return Config{ret} Loading ui/build/upload.go +2 −2 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ var ( // environment variable. The metrics files are copied to a temporary directory // and the uploader is then executed in the background to allow the user to continue // working. func UploadMetrics(ctx Context, config Config, forceDumbOutput bool, buildStartedMilli int64, files ...string) { func UploadMetrics(ctx Context, config Config, forceDumbOutput bool, buildStarted time.Time, files ...string) { ctx.BeginTrace(metrics.RunSetupTool, "upload_metrics") defer ctx.EndTrace() Loading Loading @@ -86,7 +86,7 @@ func UploadMetrics(ctx Context, config Config, forceDumbOutput bool, buildStarte // For platform builds, the branch and target name is hardcoded to specific // values for later extraction of the metrics in the data metrics pipeline. data, err := proto.Marshal(&upload_proto.Upload{ CreationTimestampMs: proto.Uint64(uint64(buildStartedMilli)), CreationTimestampMs: proto.Uint64(uint64(buildStarted.UnixNano() / int64(time.Millisecond))), CompletionTimestampMs: proto.Uint64(uint64(time.Now().UnixNano() / int64(time.Millisecond))), BranchName: proto.String("developer-metrics"), TargetName: proto.String("platform-build-systems-metrics"), Loading ui/build/upload_test.go +2 −2 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ func TestUploadMetrics(t *testing.T) { buildDateTime: strconv.FormatInt(time.Now().UnixNano()/int64(time.Millisecond), 10), }} UploadMetrics(ctx, config, false, 1591031903, metricsFiles...) UploadMetrics(ctx, config, false, time.Now(), metricsFiles...) }) } } Loading Loading @@ -151,7 +151,7 @@ func TestUploadMetricsErrors(t *testing.T) { "OUT_DIR=/bad", }}} UploadMetrics(ctx, config, true, 1591031903, metricsFile) UploadMetrics(ctx, config, true, time.Now(), metricsFile) t.Errorf("got nil, expecting %q as a failure", tt.expectedErr) }) } Loading ui/metrics/metrics.go +3 −9 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ package metrics import ( "io/ioutil" "os" "strconv" "time" "github.com/golang/protobuf/proto" Loading Loading @@ -131,14 +131,8 @@ func (m *Metrics) getArch(arch string) *soong_metrics_proto.MetricsBase_Arch { } } func (m *Metrics) SetBuildDateTime(date_time string) { if date_time != "" { date_time_timestamp, err := strconv.ParseInt(date_time, 10, 64) if err != nil { panic(err) } m.metrics.BuildDateTimestamp = &date_time_timestamp } func (m *Metrics) SetBuildDateTime(buildTimestamp time.Time) { m.metrics.BuildDateTimestamp = proto.Int64(buildTimestamp.UnixNano() / int64(time.Second)) } // exports the output to the file at outputPath Loading Loading
cmd/soong_ui/main.go +3 −2 Original line number Diff line number Diff line Loading @@ -117,7 +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() { buildStartedMilli := time.Now().UnixNano() / int64(time.Millisecond) buildStarted := time.Now() c, args := getCommand(os.Args) if c == nil { Loading @@ -138,6 +138,7 @@ func main() { defer trace.Close() met := metrics.New() met.SetBuildDateTime(buildStarted) stat := &status.Status{} defer stat.Finish() Loading Loading @@ -171,7 +172,7 @@ func main() { buildErrorFile := filepath.Join(logsDir, c.logsPrefix+"build_error") rbeMetricsFile := filepath.Join(logsDir, c.logsPrefix+"rbe_metrics.pb") soongMetricsFile := filepath.Join(logsDir, c.logsPrefix+"soong_metrics") defer build.UploadMetrics(buildCtx, config, c.forceDumbOutput, buildStartedMilli, buildErrorFile, rbeMetricsFile, soongMetricsFile) defer build.UploadMetrics(buildCtx, config, c.forceDumbOutput, buildStarted, buildErrorFile, rbeMetricsFile, soongMetricsFile) os.MkdirAll(logsDir, 0777) log.SetOutput(filepath.Join(logsDir, c.logsPrefix+"soong.log")) Loading
ui/build/config.go +0 −3 Original line number Diff line number Diff line Loading @@ -256,9 +256,6 @@ func NewConfig(ctx Context, args ...string) Config { ret.buildDateTime = strconv.FormatInt(time.Now().Unix(), 10) } if ctx.Metrics != nil { ctx.Metrics.SetBuildDateTime(ret.buildDateTime) } ret.environ.Set("BUILD_DATETIME_FILE", buildDateTimeFile) return Config{ret} Loading
ui/build/upload.go +2 −2 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ var ( // environment variable. The metrics files are copied to a temporary directory // and the uploader is then executed in the background to allow the user to continue // working. func UploadMetrics(ctx Context, config Config, forceDumbOutput bool, buildStartedMilli int64, files ...string) { func UploadMetrics(ctx Context, config Config, forceDumbOutput bool, buildStarted time.Time, files ...string) { ctx.BeginTrace(metrics.RunSetupTool, "upload_metrics") defer ctx.EndTrace() Loading Loading @@ -86,7 +86,7 @@ func UploadMetrics(ctx Context, config Config, forceDumbOutput bool, buildStarte // For platform builds, the branch and target name is hardcoded to specific // values for later extraction of the metrics in the data metrics pipeline. data, err := proto.Marshal(&upload_proto.Upload{ CreationTimestampMs: proto.Uint64(uint64(buildStartedMilli)), CreationTimestampMs: proto.Uint64(uint64(buildStarted.UnixNano() / int64(time.Millisecond))), CompletionTimestampMs: proto.Uint64(uint64(time.Now().UnixNano() / int64(time.Millisecond))), BranchName: proto.String("developer-metrics"), TargetName: proto.String("platform-build-systems-metrics"), Loading
ui/build/upload_test.go +2 −2 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ func TestUploadMetrics(t *testing.T) { buildDateTime: strconv.FormatInt(time.Now().UnixNano()/int64(time.Millisecond), 10), }} UploadMetrics(ctx, config, false, 1591031903, metricsFiles...) UploadMetrics(ctx, config, false, time.Now(), metricsFiles...) }) } } Loading Loading @@ -151,7 +151,7 @@ func TestUploadMetricsErrors(t *testing.T) { "OUT_DIR=/bad", }}} UploadMetrics(ctx, config, true, 1591031903, metricsFile) UploadMetrics(ctx, config, true, time.Now(), metricsFile) t.Errorf("got nil, expecting %q as a failure", tt.expectedErr) }) } Loading
ui/metrics/metrics.go +3 −9 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ package metrics import ( "io/ioutil" "os" "strconv" "time" "github.com/golang/protobuf/proto" Loading Loading @@ -131,14 +131,8 @@ func (m *Metrics) getArch(arch string) *soong_metrics_proto.MetricsBase_Arch { } } func (m *Metrics) SetBuildDateTime(date_time string) { if date_time != "" { date_time_timestamp, err := strconv.ParseInt(date_time, 10, 64) if err != nil { panic(err) } m.metrics.BuildDateTimestamp = &date_time_timestamp } func (m *Metrics) SetBuildDateTime(buildTimestamp time.Time) { m.metrics.BuildDateTimestamp = proto.Int64(buildTimestamp.UnixNano() / int64(time.Second)) } // exports the output to the file at outputPath Loading