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
1 changed files with 13 additions and 8 deletions

@ -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_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. - `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. - `address`: Web interface IP address with port to listen on.
- `session_ttl`: Web session TTL is a time duration in a human-readable - `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. 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. - `users`: Web users info.
- `name`: User name. - `name`: User name.
- `password`: BCrypt-encrypted password. - `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. Supports `http`, `https` and `socks5` schemes.
- `web_session_ttl` (**before v0.107.33**): Web session TTL (in hours), a web - `web_session_ttl` (**before v0.107.33**): Web session TTL (in hours), a web
user will stay signed in for this amount of time. user will stay signed in for this amount of time.
- `debug_pprof`: Enable pprof HTTP server listening on port 6060 for debugging. - `debug_pprof` (**before v0.107.36**): Enable pprof HTTP server listening on
See section `Profiling with pprof`. port 6060 for debugging. See section [Profiling with pprof](#pprof).
- `dns` — DNS configuration section. - `dns` — DNS configuration section.
- **General settings** - **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> ## <a href="#pprof" id="pprof" name="pprof">Profiling with pprof</a>
To enable pprof, set `debug_pprof: true` in yaml configuration file and then To enable pprof, set `http.pprof.enabled` and `http.pprof.port` in the yaml
restart AdGuard Home. Now you can get profiling information with your browser, configuration file and then restart AdGuard Home. Now you can get profiling
for example `http://localhost:6060/debug/pprof/goroutine?debug=2` will show the information with your browser, for example
call trace of each running goroutine. `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 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`: Or, with `go tool pprof`: