For debugging purposes, you can enable runtime profiling by setting the startup configuration runtime-profiling. Typically, a Zettelstore developer will do this. In certain cases, a Zettelstore developer will ask you to enable runtime profiling, because you encountered a hard error.
Runtime profiling will generate some data that can be retrieved through the builtin web server. The following URL paths are valid:
| Path | Description |
|---|---|
| /rtp/ | Show an index page, where you can navigate to detailed information |
| /rtp/allocs | Show a sampling of all past memory allocations |
| /rtp/block | Show stack traces that led to internal blocking |
| /rtp/cmdline | Show the running Zettelstore command line, with arguments separated by NUL bytes |
| /rtp/goroutine | Show stack traces of all current internal activities |
| /rtp/heap | Show a sampling of memory allocations of live objects |
| /rtp/mutex | Show stack traces of holders of contended mutexes |
| /rtp/profile | Execute a CPU profile |
| /rtp/symbol | Shows function names for given program counter value |
| /rtp/trace | Show trace of execution of the current program |
| /rtp/threadcreate | Show stack traces that led to the creation of new OS threads |
See documentation for Go standard package net/http/pprof.