Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Environment Variables Configuration

hotpath behavior can be customized via environment variables. These take precedence over programmatic configuration (hotpath::main macro parameters and builder API).

Output

VariableDescription
HOTPATH_OUTPUT_FORMATOutput format: table, json, json-pretty, or none. Using none silences output while keeping the metrics server and MCP server active. (default: table)
HOTPATH_OUTPUT_PATHFilesystem path for profiling reports. If unset, reports are written to stdout. When set, this env var takes precedence over programmatic output_path config. On Unix, use /dev/stdout or /dev/stderr to redirect to the standard streams.
HOTPATH_REPORTComma-separated sections to include in report: functions-timing, functions-alloc, channels, streams, futures, threads, tokio_runtime, debug, or all. (default: functions-timing,functions-alloc,threads)

Limits

VariableDescription
HOTPATH_LIMITMaximum number of items shown in every report section (functions, channels, streams, futures, threads). Set to 0 for unlimited. Per-resource env vars (e.g. HOTPATH_FUNCTIONS_LIMIT) take precedence. (default: unset)
HOTPATH_FUNCTIONS_LIMITMaximum number of functions shown in the report. Set to 0 for unlimited. (default: 15)
HOTPATH_CHANNELS_LIMITMaximum number of channels shown in the report. Set to 0 for unlimited. (default: 0)
HOTPATH_STREAMS_LIMITMaximum number of streams shown in the report. Set to 0 for unlimited. (default: 0)
HOTPATH_FUTURES_LIMITMaximum number of futures shown in the report. Set to 0 for unlimited. (default: 0)
HOTPATH_THREADS_LIMITMaximum number of threads shown in the report. Set to 0 for unlimited. (default: 5)

Functions

VariableDescription
HOTPATH_FOCUSFilter profiled functions by name. Plain text does substring matching; wrap in /pattern/ for regex (e.g. HOTPATH_FOCUS="/^(compute|process)/"). (default: '')
HOTPATH_EXCLUDE_WRAPPERSet to true or 1 to calculate ratios using the sum of measured functions instead of the wrapper total. (default: false)
HOTPATH_ALLOC_CUMULATIVESet to true or 1 to track cumulative memory allocations per function (including nested calls) instead of the default exclusive mode. Produces invalid results for recursive functions. (default: false)
HOTPATH_ALLOC_METRICPrimary metric for alloc mode: bytes or count. Controls sorting, percentages, and displayed values in reports. (default: bytes)
HOTPATH_CPU_BASELINE_OFFSet to true or 1 to disable CPU baseline collection. (default: false)
HOTPATH_KEEP_INLINESet to true or 1 to preserve user-provided #[inline(...)] attributes instead of rewriting measured functions to #[inline(never)] under hotpath-cpu. This env var is read during proc-macro expansion, so run cargo clean before rebuilding for changes to take effect. (default: false)
HOTPATH_FUNCTIONS_NAME_DEPTHNumber of module segments to keep when displaying function names (including the function name itself). 1 = function name only, 2 = one module + function, 0 = unlimited (full path). When using the TUI, set this env var for the TUI process too, since the console applies name shortening in its own process. (default: 2)

CPU Sampling

VariableDescription
HOTPATH_SAMPLY_WRAPPER_BINPath to the hotpath-samply wrapper binary that autospawn launches under the hotpath-cpu feature. (default: hotpath-samply, resolved via PATH)
HOTPATH_SAMPLY_BINPath to the external samply binary used by the hotpath-samply worker. (default: samply, resolved via PATH)

Metrics Server

VariableDescription
HOTPATH_METRICS_PORTPort for the HTTP metrics server (binds to localhost only). (default: 6770)
HOTPATH_METRICS_SERVER_OFFSet to true or 1 to disable the HTTP metrics server entirely. (default: false)

MCP Server

VariableDescription
HOTPATH_MCP_PORTPort for the MCP (Model Context Protocol) server. (default: 6771)
HOTPATH_MCP_AUTH_TOKENWhen set, clients must include this token in the Authorization header. (default: '')

TUI

VariableDescription
HOTPATH_TUI_REFRESH_INTERVAL_MSTUI dashboard refresh interval in milliseconds. (default: 500)
HOTPATH_TUI_TABInitial tab to display when launching the TUI: 1 (Timing), 2 (Memory), 3 (Data Flow), 4 (Threads), 5 (Debug), 6 (Tokio). (default: unset)
HOTPATH_TUI_AUTO_EXPAND_LOGSAuto-open the logs panel once initial data arrives and pin selection to the given table index. Set to an integer (e.g. 0 for the first row, 2 for the third). (default: unset)
HOTPATH_METRICS_HOSTHost URL that the TUI console connects to for metrics data. (default: http://localhost)
HOTPATH_METRICS_PORTPort that the TUI console connects to for metrics data. (default: 6770)
HOTPATH_DISABLE_SAMPLY_LOADSet to true or 1 to disable the samply load shortcut on the CPU subtab; the 'f' keybinding and its hint are hidden. (default: false)

Other

VariableDescription
HOTPATH_THREADS_INTERVAL_MSThread monitoring sample interval in milliseconds. (default: 250)
HOTPATH_TOKIO_RUNTIME_INTERVAL_MSTokio runtime metrics sampling interval in milliseconds. (default: 1000)
HOTPATH_LOGS_LIMITMaximum number of log entries to keep per channel, stream, or function. (default: 50)
HOTPATH_MAX_LOG_LENMaximum character length for logged return values (log = true). Values exceeding this limit are truncated with .... (default: 1536)
HOTPATH_SHUTDOWN_MSIf set a profiled program will shutdown after the specified ms timeout and print the performance report. (default: ''). Use before_shutdown to specify before shutdown callback.