1
0
mirror of https://github.com/google/gops.git synced 2024-11-27 08:31:17 +02:00

doc: reorganize the README

This commit is contained in:
Jaana Burcu Dogan 2017-01-20 13:19:03 -08:00
parent 671bd43984
commit 35b841e24e

View File

@ -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 \<pid\>
In order to print the current stack trace from a target program, run the following command:
```sh
$ gops stack <pid>
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 \<pid\>
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 <pid>
```
#### 3. pprof
#### $ gops gc \<pid\>
If you want to force run garbage collection on the target program, run `gc`.
It will block until the GC is completed.
#### $ gops version \<pid\>
gops reports the Go version the target program is built with, if you run the following:
```sh
$ gops version <pid>
devel +6a3c6c0 Sat Jan 14 05:57:07 2017 +0000
```
#### $ gops stats \<pid\>
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 <pid>
```
#### 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 <pid>
```
#### 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 <pid>
```
#### 6. version
gops reports the Go version the target program is built with, if you run the following:
```sh
$ gops version <pid>
```
#### 7. stats
To print the runtime statistics such as number of goroutines and `GOMAXPROCS`, run the following:
```sh
$ gops stats <pid>
```