diff options
| author | chrislu <chris.lu@gmail.com> | 2022-01-17 01:53:56 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-01-17 01:53:56 -0800 |
| commit | fc0628c0381fcf571cf46ff699e2b79dc8c99bb0 (patch) | |
| tree | 4019ec66619e1b39bfd9e42ad48ae800a17678b1 /weed/command | |
| parent | 1bd6d289d48ea3ae3c1461bf090ce0ffa6f2505f (diff) | |
| download | seaweedfs-fc0628c0381fcf571cf46ff699e2b79dc8c99bb0.tar.xz seaweedfs-fc0628c0381fcf571cf46ff699e2b79dc8c99bb0.zip | |
working
Diffstat (limited to 'weed/command')
| -rw-r--r-- | weed/command/mount.go | 4 | ||||
| -rw-r--r-- | weed/command/mount_std.go | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/weed/command/mount.go b/weed/command/mount.go index aec5fcc3c..e54f1f07f 100644 --- a/weed/command/mount.go +++ b/weed/command/mount.go @@ -26,6 +26,8 @@ type MountOptions struct { uidMap *string gidMap *string readOnly *bool + debug *bool + debugPort *int } var ( @@ -57,6 +59,8 @@ func init() { mountOptions.uidMap = cmdMount.Flag.String("map.uid", "", "map local uid to uid on filer, comma-separated <local_uid>:<filer_uid>") mountOptions.gidMap = cmdMount.Flag.String("map.gid", "", "map local gid to gid on filer, comma-separated <local_gid>:<filer_gid>") mountOptions.readOnly = cmdMount.Flag.Bool("readOnly", false, "read only") + mountOptions.debug = cmdMount.Flag.Bool("debug", false, "serves runtime profiling data, e.g., http://localhost:<debug.port>/debug/pprof/goroutine?debug=2") + mountOptions.debugPort = cmdMount.Flag.Int("debug.port", 6061, "http port for debugging") mountCpuProfile = cmdMount.Flag.String("cpuprofile", "", "cpu profile output file") mountMemProfile = cmdMount.Flag.String("memprofile", "", "memory profile output file") diff --git a/weed/command/mount_std.go b/weed/command/mount_std.go index aebd04170..8f62b4ec9 100644 --- a/weed/command/mount_std.go +++ b/weed/command/mount_std.go @@ -6,6 +6,7 @@ package command import ( "context" "fmt" + "net/http" "os" "os/user" "path" @@ -34,6 +35,10 @@ import ( func runMount(cmd *Command, args []string) bool { + if *mountOptions.debug { + go http.ListenAndServe(fmt.Sprintf(":%d", *mountOptions.debugPort), nil) + } + grace.SetupProfiling(*mountCpuProfile, *mountMemProfile) if *mountReadRetryTime < time.Second { *mountReadRetryTime = time.Second |
