((META (EMPTY-STRING title "Zettelstore runtime profiling") (WORD role "manual") (TAG-SET tags ("#configuration" "#manual" "#zettelstore")) (WORD syntax "zmk") (ZID-SET backward ("00001004010000")) (NUMBER box-number "1") (STRING copyright "(c) 2020-present by Detlef Stern ") (TIMESTAMP created "20240926144556") (ZID-SET forward ("00001004010000")) (WORD lang "en") (EMPTY-STRING license "EUPL-1.2-or-later") (TIMESTAMP modified "20240926144951") (TIMESTAMP published "20240926144951") (WORD visibility "public")) (BLOCK (PARA (TEXT "For debugging purposes, you can enable runtime profiling by setting the startup configuration ") (LINK-ZETTEL () "00001004010000#runtime-profiling" (LITERAL-INPUT () "runtime-profiling")) (TEXT ".") (SOFT) (TEXT "Typically, a Zettelstore developer will do this.") (SOFT) (TEXT "In certain cases, a Zettelstore developer will ask you to enable runtime profiling, because you encountered a hard error.")) (PARA (TEXT "Runtime profiling will generate some data that can be retrieved through the builtin web server.") (SOFT) (TEXT "The following URL paths are valid:")) (TABLE ((CELL (TEXT "Path")) (CELL (TEXT "Description"))) ((CELL (LITERAL-INPUT () "/rtp/")) (CELL (TEXT "Show an index page, where you can navigate to detailed information"))) ((CELL (LITERAL-INPUT () "/rtp/allocs")) (CELL (TEXT "Show a sampling of all past memory allocations"))) ((CELL (LITERAL-INPUT () "/rtp/block")) (CELL (TEXT "Show stack traces that led to internal blocking"))) ((CELL (LITERAL-INPUT () "/rtp/cmdline")) (CELL (TEXT "Show the running Zettelstore command line, with arguments separated by NUL bytes"))) ((CELL (LITERAL-INPUT () "/rtp/goroutine")) (CELL (TEXT "Show stack traces of all current internal activities"))) ((CELL (LITERAL-INPUT () "/rtp/heap")) (CELL (TEXT "Show a sampling of memory allocations of live objects"))) ((CELL (LITERAL-INPUT () "/rtp/mutex")) (CELL (TEXT "Show stack traces of holders of contended mutexes"))) ((CELL (LITERAL-INPUT () "/rtp/profile")) (CELL (TEXT "Execute a CPU profile"))) ((CELL (LITERAL-INPUT () "/rtp/symbol")) (CELL (TEXT "Shows function names for given program counter value"))) ((CELL (LITERAL-INPUT () "/rtp/trace")) (CELL (TEXT "Show trace of execution of the current program"))) ((CELL (LITERAL-INPUT () "/rtp/threadcreate")) (CELL (TEXT "Show stack traces that led to the creation of new OS threads")))) (PARA (TEXT "See documentation for Go standard package ") (LINK-EXTERNAL () "https://pkg.go.dev/net/http/pprof" (LITERAL-INPUT () "net/http/pprof")) (TEXT "."))))