summaryrefslogtreecommitdiffstats
path: root/modules/pprof/pprof.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/pprof/pprof.go')
-rw-r--r--modules/pprof/pprof.go16
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
}