diff options
Diffstat (limited to 'modules/pprof/pprof.go')
-rw-r--r-- | modules/pprof/pprof.go | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/modules/pprof/pprof.go b/modules/pprof/pprof.go index e02c2d0f2a..b63904e713 100644 --- a/modules/pprof/pprof.go +++ b/modules/pprof/pprof.go @@ -9,34 +9,30 @@ import ( "io/ioutil" "runtime" "runtime/pprof" - - "code.gitea.io/gitea/modules/log" ) // DumpMemProfileForUsername dumps a memory profile at pprofDataPath as memprofile_<username>_<temporary id> -func DumpMemProfileForUsername(pprofDataPath, username string) { +func DumpMemProfileForUsername(pprofDataPath, username string) error { f, err := ioutil.TempFile(pprofDataPath, fmt.Sprintf("memprofile_%s_", username)) if err != nil { - log.GitLogger.Fatal("Could not create memory profile: %v", err) + return err } defer f.Close() runtime.GC() // get up-to-date statistics - if err := pprof.WriteHeapProfile(f); err != nil { - log.GitLogger.Fatal("Could not write memory profile: %v", err) - } + return pprof.WriteHeapProfile(f) } // DumpCPUProfileForUsername dumps a CPU profile at pprofDataPath as cpuprofile_<username>_<temporary id> // it returns the stop function which stops, writes and closes the CPU profile file -func DumpCPUProfileForUsername(pprofDataPath, username string) func() { +func DumpCPUProfileForUsername(pprofDataPath, username string) (func(), error) { f, err := ioutil.TempFile(pprofDataPath, fmt.Sprintf("cpuprofile_%s_", username)) if err != nil { - log.GitLogger.Fatal("Could not create cpu profile: %v", err) + return nil, err } pprof.StartCPUProfile(f) return func() { pprof.StopCPUProfile() f.Close() - } + }, nil } |