You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
flux2/docs/dev-guides/debugging.md

1.2 KiB

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 to debug e.g. performance issues.

Pprof

The GitOps Toolkit components serve 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 of choice:

$ 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, or shared with one of the maintainers.