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
This commit is contained in:
@@ -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,
|
||||
|
30
zip/zip.go
30
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")
|
||||
}
|
||||
|
Reference in New Issue
Block a user