mirror of https://github.com/fluxcd/flux2.git
Add guide for pprof endpoints
Signed-off-by: Hidde Beydals <hello@hidde.co>pull/878/head
parent
a2887f5776
commit
0b10ed4d88
@ -0,0 +1,35 @@
|
||||
# Advanced debugging
|
||||
|
||||
This guide covers more advanced debugging topics such as collecting
|
||||
runtime profiling data from GitOps Toolkit components.
|
||||
|
||||
As a user, this page normally should be a last resort, but you may
|
||||
be asked by a maintainer to share a [collected profile](#collecting-a-profile)
|
||||
to debug e.g. performance issues.
|
||||
|
||||
## Pprof
|
||||
|
||||
The [GitOps Toolkit components](../components/index.md) serve [`pprof`](https://golang.org/pkg/net/http/pprof/)
|
||||
runtime profiling data on their metrics HTTP server (default `:8080`).
|
||||
|
||||
### Endpoints
|
||||
|
||||
| Endpoint | Path |
|
||||
|-------------|------------------------|
|
||||
| Index | `/debug/pprof/` |
|
||||
| CPU profile | `/debug/pprof/profile` |
|
||||
| Symbol | `/debug/pprof/symbol` |
|
||||
| Trace | `/debug/pprof/trace` |
|
||||
|
||||
### Collecting a profile
|
||||
|
||||
To collect a profile, port-forward to the component's metrics endpoint and
|
||||
collect the data from the [endpoint](#endpoints) of choice:
|
||||
|
||||
```console
|
||||
$ kubectl port-forward -n <namespace> deploy/<component> 8080
|
||||
$ curl -Sk -v http://localhost:8080/debug/pprof/heap > heap.out
|
||||
```
|
||||
|
||||
The collected profile [can be analyzed using `go`](https://blog.golang.org/pprof),
|
||||
or shared with one of the maintainers.
|
Loading…
Reference in New Issue