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 | 73 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 0bf69e79..d7af7b9d 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,52 +90,51 @@ To print the current memory stats, run the following command: $ gops memstats ``` -#### 3. 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. +#### $ gops gc \ -To enter the CPU profile, run: +If you want to force run garbage collection on the target program, run `gc`. +It will block until the GC is completed. -```sh -$ gops pprof-cpu -``` -To enter the heap profile, run: +#### $ gops version \ + +gops reports the Go version the target program is built with, if you run the following: ```sh -$ gops pprof-heap +$ gops version +devel +6a3c6c0 Sat Jan 14 05:57:07 2017 +0000 ``` -#### 4. trace +#### $ gops stats \ -gops allows you to start the runtime tracer for 5 seconds and examine the results. +To print the runtime statistics such as number of goroutines and `GOMAXPROCS`. -```sh -$ gops trace -``` +#### Profiling -#### 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. +##### 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. + +To enter the CPU profile, run: ```sh -$ gops gc +$ gops pprof-cpu ``` -#### 6. version - -gops reports the Go version the target program is built with, if you run the following: +To enter the heap profile, run: ```sh -$ gops version +$ gops pprof-heap ``` -#### 7. stats +##### Go execution trace -To print the runtime statistics such as number of goroutines and `GOMAXPROCS`, run the following: +gops allows you to start the runtime tracer for 5 seconds and examine the results. ```sh -$ gops stats +$ gops trace ``` +