From 35b841e24ea732f74334e54fa8cc3e7d111e21ee Mon Sep 17 00:00:00 2001 From: Jaana Burcu Dogan Date: Fri, 20 Jan 2017 13:19:03 -0800 Subject: [PATCH] doc: reorganize the README --- README.md | 75 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 0bf69e7..d7af7b9 100644 --- a/README.md +++ b/README.md @@ -42,9 +42,9 @@ func main() { } ``` -### Diagnostics manual +### Manual -#### 0. listing all processes +#### Listing all processes To print all go processes, run `gops` without arguments: @@ -58,15 +58,31 @@ $ gops Note that processes running the agent are marked with `*` next to the PID (e.g. `4132*`). -#### 1. stack +#### $ gops stack \ In order to print the current stack trace from a target program, run the following command: + ```sh $ gops stack +gops stack 85709 +goroutine 8 [running]: +runtime/pprof.writeGoroutineStacks(0x13c7bc0, 0xc42000e008, 0xc420ec8520, 0xc420ec8520) + /Users/jbd/go/src/runtime/pprof/pprof.go:603 +0x79 +runtime/pprof.writeGoroutine(0x13c7bc0, 0xc42000e008, 0x2, 0xc428f1c048, 0xc420ec8608) + /Users/jbd/go/src/runtime/pprof/pprof.go:592 +0x44 +runtime/pprof.(*Profile).WriteTo(0x13eeda0, 0x13c7bc0, 0xc42000e008, 0x2, 0xc42000e008, 0x0) + /Users/jbd/go/src/runtime/pprof/pprof.go:302 +0x3b5 +github.com/google/gops/agent.handle(0x13cd560, 0xc42000e008, 0xc420186000, 0x1, 0x1, 0x0, 0x0) + /Users/jbd/src/github.com/google/gops/agent/agent.go:150 +0x1b3 +github.com/google/gops/agent.listen() + /Users/jbd/src/github.com/google/gops/agent/agent.go:113 +0x2b2 +created by github.com/google/gops/agent.Listen + /Users/jbd/src/github.com/google/gops/agent/agent.go:94 +0x480 +# ... ``` -#### 2. memstats +#### $ gops memstats \ To print the current memory stats, run the following command: @@ -74,7 +90,30 @@ To print the current memory stats, run the following command: $ gops memstats ``` -#### 3. pprof + +#### $ gops gc \ + +If you want to force run garbage collection on the target program, run `gc`. +It will block until the GC is completed. + + +#### $ gops version \ + +gops reports the Go version the target program is built with, if you run the following: + +```sh +$ gops version +devel +6a3c6c0 Sat Jan 14 05:57:07 2017 +0000 +``` + +#### $ gops stats \ + +To print the runtime statistics such as number of goroutines and `GOMAXPROCS`. + +#### Profiling + + +##### Pprof gops supports CPU and heap pprof profiles. After reading either heap or CPU profile, it shells out to the `go tool pprof` and let you interatively examine the profiles. @@ -91,7 +130,7 @@ To enter the heap profile, run: $ gops pprof-heap ``` -#### 4. trace +##### Go execution trace gops allows you to start the runtime tracer for 5 seconds and examine the results. @@ -99,27 +138,3 @@ gops allows you to start the runtime tracer for 5 seconds and examine the result $ gops trace ``` -#### 5. gc - -If you want to force run garbage collection on the target program, run the following command. -It will block until the GC is completed. - -```sh -$ gops gc -``` - -#### 6. version - -gops reports the Go version the target program is built with, if you run the following: - -```sh -$ gops version -``` - -#### 7. stats - -To print the runtime statistics such as number of goroutines and `GOMAXPROCS`, run the following: - -```sh -$ gops stats -```