Pull request 176: AG-24320 Configuration: pprof docs

Squashed commit of the following:

commit bb0a9b3c51b25ab60a3f98a05abe9261e193fcab
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Wed Aug 2 17:40:52 2023 +0300

    Configuration: add link

commit fb0b93a942ea0fe2acc7a88e1b94df51c5161f35
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Aug 1 15:59:08 2023 +0300

    Configuration: pprof docs

commit 18a3cdc60b236a931448065de53e9a714b2b4ba5
Author: Dimitry Kolyshev <dkolyshev@adguard.com>
Date:   Tue Aug 1 13:54:38 2023 +0300

    Configuration: pprof docs
Dimitry Kolyshev 2023-08-02 17:43:38 +03:00 committed by Ainar Garipov
parent 8a03388ec8
commit 35ddf0b7aa

@ -315,10 +315,14 @@ Settings are stored in [YAML format](https://en.wikipedia.org/wiki/YAML), possib
- `bind_host` (**before v0.107.33**): Web interface IP address to listen on.
- `bind_port` (**before v0.107.33**): Web interface IP port to listen on.
- `http` (**since v0.107.33**): Web interface configuration.
- `http` (**since v0.107.36**): Web interface configuration.
- `address`: Web interface IP address with port to listen on.
- `session_ttl`: Web session TTL is a time duration in a human-readable
format. The web user will stay signed in for this amount of time.
- `pprof` (**since v0.107.33**): Profiling HTTP handler configuration. See
section [Profiling with pprof](#pprof).
- `enabled`: Profiling handler status.
- `port`: IP port to listen on.
- `users`: Web users info.
- `name`: User name.
- `password`: BCrypt-encrypted password.
@ -331,8 +335,8 @@ Settings are stored in [YAML format](https://en.wikipedia.org/wiki/YAML), possib
Supports `http`, `https` and `socks5` schemes.
- `web_session_ttl` (**before v0.107.33**): Web session TTL (in hours), a web
user will stay signed in for this amount of time.
- `debug_pprof`: Enable pprof HTTP server listening on port 6060 for debugging.
See section `Profiling with pprof`.
- `debug_pprof` (**before v0.107.36**): Enable pprof HTTP server listening on
port 6060 for debugging. See section [Profiling with pprof](#pprof).
- `dns` — DNS configuration section.
- **General settings**
@ -783,13 +787,14 @@ Please follow these steps to create a new password for your user account:
## <a href="#pprof" id="pprof" name="pprof">Profiling with pprof</a>
To enable pprof, set `debug_pprof: true` in yaml configuration file and then
restart AdGuard Home. Now you can get profiling information with your browser,
for example `http://localhost:6060/debug/pprof/goroutine?debug=2` will show the
call trace of each running goroutine.
To enable pprof, set `http.pprof.enabled` and `http.pprof.port` in the yaml
configuration file and then restart AdGuard Home. Now you can get profiling
information with your browser, for example
`http://localhost:[PORT]/debug/pprof/goroutine?debug=2` will show the call trace
of each running goroutine.
This URL lets you see information about the heap usage of the AdGuard Home
process: `http://localhost:6060/debug/pprof/heap?debug=1`.
process: `http://localhost:[PORT]/debug/pprof/heap?debug=1`.
Or, with `go tool pprof`: