From b051ab5cb54f8802807680a8fb24092b445a3ddb Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 27 Sep 2018 15:04:24 -0700 Subject: soong_zip: move profiling from zip library to soong_zip Profiling is only used by the standalone soong_zip command, move it out of the shared zip library. Bug: 116751500 Test: m checkbuild Change-Id: I443c34fb39cf8955e163a7720d6f7ed585e4172a --- zip/cmd/main.go | 30 ++++++++++++++++++++++++++++-- zip/zip.go | 30 ------------------------------ 2 files changed, 28 insertions(+), 32 deletions(-) (limited to 'zip') diff --git a/zip/cmd/main.go b/zip/cmd/main.go index e379b07f2..a2fbf4113 100644 --- a/zip/cmd/main.go +++ b/zip/cmd/main.go @@ -20,6 +20,8 @@ import ( "io/ioutil" "os" "runtime" + "runtime/pprof" + "runtime/trace" "strconv" "strings" @@ -154,6 +156,32 @@ func main() { flags.Usage() } + if *cpuProfile != "" { + f, err := os.Create(*cpuProfile) + if err != nil { + fmt.Fprintln(os.Stderr, err.Error()) + os.Exit(1) + } + defer f.Close() + pprof.StartCPUProfile(f) + defer pprof.StopCPUProfile() + } + + if *traceFile != "" { + f, err := os.Create(*traceFile) + if err != nil { + fmt.Fprintln(os.Stderr, err.Error()) + os.Exit(1) + } + defer f.Close() + err = trace.Start(f) + if err != nil { + fmt.Fprintln(os.Stderr, err.Error()) + os.Exit(1) + } + defer trace.Stop() + } + if fileArgsBuilder.Error() != nil { fmt.Fprintln(os.Stderr, fileArgsBuilder.Error()) os.Exit(1) @@ -162,8 +190,6 @@ func main() { err := zip.Run(zip.ZipArgs{ FileArgs: fileArgsBuilder.FileArgs(), OutputFilePath: *out, - CpuProfileFilePath: *cpuProfile, - TraceFilePath: *traceFile, EmulateJar: *emulateJar, AddDirectoryEntriesToZip: *directories, CompressionLevel: *compLevel, diff --git a/zip/zip.go b/zip/zip.go index 80173f3d4..96f4535ae 100644 --- a/zip/zip.go +++ b/zip/zip.go @@ -25,8 +25,6 @@ import ( "log" "os" "path/filepath" - "runtime/pprof" - "runtime/trace" "sort" "strings" "sync" @@ -196,8 +194,6 @@ type zipEntry struct { type ZipArgs struct { FileArgs []FileArg OutputFilePath string - CpuProfileFilePath string - TraceFilePath string EmulateJar bool AddDirectoryEntriesToZip bool CompressionLevel int @@ -251,32 +247,6 @@ func ReadRespFile(bytes []byte) []string { } func Run(args ZipArgs) (err error) { - if args.CpuProfileFilePath != "" { - f, err := os.Create(args.CpuProfileFilePath) - if err != nil { - fmt.Fprintln(os.Stderr, err.Error()) - os.Exit(1) - } - defer f.Close() - pprof.StartCPUProfile(f) - defer pprof.StopCPUProfile() - } - - if args.TraceFilePath != "" { - f, err := os.Create(args.TraceFilePath) - if err != nil { - fmt.Fprintln(os.Stderr, err.Error()) - os.Exit(1) - } - defer f.Close() - err = trace.Start(f) - if err != nil { - fmt.Fprintln(os.Stderr, err.Error()) - os.Exit(1) - } - defer trace.Stop() - } - if args.OutputFilePath == "" { return fmt.Errorf("output file path must be nonempty") } -- cgit v1.2.3