commit 0a44d21271d4d7ad7064bf30ebf779478f90e7df
parent 3071801e5a75dcb63b46768fcfc2dc9c43d11e2d
Author: Matsuda Kenji <info@mtkn.jp>
Date: Fri, 15 Dec 2023 08:46:26 +0900
use http/pprof
Diffstat:
1 file changed, 5 insertions(+), 21 deletions(-)
diff --git a/cmd/diskfs/main.go b/cmd/diskfs/main.go
@@ -9,10 +9,10 @@ import (
"fmt"
"log"
"net"
+ "net/http"
+ _ "net/http/pprof"
"os"
"os/signal"
- "runtime"
- "runtime/pprof"
"sync"
"git.mtkn.jp/lib9p"
@@ -24,15 +24,9 @@ var aFlag = flag.String("a", "127.0.0.1", "Address the server listens to.")
var pFlag = flag.Int("p", 5640, "Port number the server listens to.")
func main() {
- f, err := os.Create("cpu.prof")
- if err != nil {
- log.Fatal("open file: %v", err)
- }
- defer f.Close()
- if err := pprof.StartCPUProfile(f); err != nil {
- log.Fatal("profile: %v", err)
- }
- defer pprof.StopCPUProfile()
+ go func() {
+ log.Println(http.ListenAndServe("localhost:8000", nil))
+ }()
flag.Parse()
if flag.NArg() != 1 {
fmt.Fprintf(os.Stderr, "usage: %s [-D] [-a <addr>] [-p <port>] <root>\n", os.Args[0])
@@ -68,16 +62,6 @@ L:
go handle(ctx, wg, conn, disk)
}
wg.Wait()
- log.Println("shutting down")
- f, err = os.Create("mem.prof")
- if err != nil {
- log.Fatal("create: %v", err)
- }
- defer f.Close()
- runtime.GC()
- if err := pprof.WriteHeapProfile(f); err != nil {
- log.Fatal("prof: %v", err)
- }
}
func handle(ctx context.Context, wg *sync.WaitGroup, conn net.Conn, disk *diskfs.FS) {