Chore: Improve grafana-server profiling and tracing (#20593)
Profiling and tracing can now be enabled/disabled separately. Adds argument for trace file path. Support overriding profiling and tracing argument using environment variables. Update docs. Fixes #20576
This commit is contained in:
committed by
Marcus Efraimsson
parent
b7a3758799
commit
b16cb92b32
@@ -30,7 +30,59 @@ If you encounter an error or problem it is a good idea to check the grafana serv
|
||||
located at `/var/log/grafana/grafana.log` on Unix systems or in `<grafana_install_dir>/data/log` on
|
||||
other platforms and manual installs.
|
||||
|
||||
You can enable more logging by changing log level in you grafana configuration file.
|
||||
You can enable more logging by changing log level in your grafana configuration file.
|
||||
|
||||
## Diagnostics
|
||||
|
||||
The `grafana-server` process can be instructued to enable certain diagnostics when it starts. This can be helpful
|
||||
when experiencing/investigating certain performance problems. It's `not` recommended to have these enabled per default.
|
||||
|
||||
### Profiling
|
||||
|
||||
The `grafana-server` can be started with the arguments `-profile` to enable profiling and `-profile-port` to override
|
||||
the default HTTP port (`6060`) where the pprof debugging endpoints will be available, e.g.
|
||||
|
||||
```bash
|
||||
./grafana-server -profile -profile-port=8080
|
||||
```
|
||||
|
||||
Note that pprof debugging endpoints are served on a different port than the Grafana HTTP server.
|
||||
|
||||
You can configure/override profiling settings using environment variables:
|
||||
|
||||
```bash
|
||||
export GF_DIAGNOSTICS_PROFILING_ENABLED=true
|
||||
export GF_DIAGNOSTICS_PROFILING_PORT=8080
|
||||
```
|
||||
|
||||
See [Go command pprof](https://golang.org/cmd/pprof/) for more information about how to collect and analyze profiling data.
|
||||
|
||||
### Tracing
|
||||
|
||||
The `grafana-server` can be started with the arguments `-tracing` to enable tracing and `-tracing-file` to
|
||||
override the default trace file (`trace.out`) where trace result will be written to, e.g.
|
||||
|
||||
```bash
|
||||
./grafana-server -tracing -tracing-file=/tmp/trace.out
|
||||
```
|
||||
|
||||
You can configure/override profiling settings using environment variables:
|
||||
|
||||
```bash
|
||||
export GF_DIAGNOSTICS_TRACING_ENABLED=true
|
||||
export GF_DIAGNOSTICS_TRACING_FILE=/tmp/trace.out
|
||||
```
|
||||
|
||||
View the trace in a web browser (Go required to be installed):
|
||||
|
||||
```bash
|
||||
go tool trace <trace file>
|
||||
2019/11/24 22:20:42 Parsing trace...
|
||||
2019/11/24 22:20:42 Splitting trace...
|
||||
2019/11/24 22:20:42 Opening browser. Trace viewer is listening on http://127.0.0.1:39735
|
||||
```
|
||||
|
||||
See [Go command trace](https://golang.org/cmd/trace/) for more information about how to analyze trace files.
|
||||
|
||||
## FAQ
|
||||
|
||||
|
||||
Reference in New Issue
Block a user