Command line flags
Open source

Command line flags

Tempo provides various command-line flags to configure its behavior when starting the binary. This document serves as a reference for these flags.

Global flags

FlagDescriptionDefault
--versionPrint this build’s version information and exitfalse
--mem-ballast-size-mbsSize of memory ballast to allocate in MBs0
--mutex-profile-fractionOverride default mutex profiling fraction0
--block-profile-thresholdOverride default block profiling threshold0
--config.fileConfiguration file to load
--config.expand-envWhether to expand environment variables in config filefalse
--config.verifyVerify configuration and exitfalse

Target flag

FlagDescriptionDefault
--targetTarget module to runall

Authentication and multitenancy

FlagDescriptionDefault
--auth.enabledSet to true to enable auth (deprecated: use multitenancy.enabled)false
--multitenancy.enabledSet to true to enable multitenancyfalse

HTTP and API settings

FlagDescriptionDefault
--http-api-prefixString prefix for all HTTP API endpoints""
--enable-go-runtime-metricsSet to true to enable all Go runtime metricsfalse
--shutdown-delayHow long to wait between SIGTERM and shutdown0

Server settings

FlagDescriptionDefault
--server.http-listen-portHTTP server listen port80
--server.grpc-listen-portgRPC server listen port9095

Memberlist settings

FlagDescriptionDefault
--memberlist.host-portHost port to connect to memberlist cluster
--memberlist.bind-portPort for memberlist to communicate on7946
--memberlist.message-history-buffer-bytesSize in bytes for the message history buffer0

Module configuration

You can use additional flags to configuring individual Tempo modules, such as the distributor, ingester, querier, and their components. These flags follow a pattern like --<module>.<setting> and are extensively documented in the configuration file format.

Use the configuration file approach described in the Configuration documentation. The documentation has a comprehensive list of all configuration options.

Usage examples

Start Tempo with a configuration file:

bash
tempo --config.file=/etc/tempo/config.yaml

Start Tempo with a specific target:

bash
tempo --target=distributor --config.file=/etc/tempo/config.yaml

Verify configuration without starting Tempo:

bash
tempo --config.file=/etc/tempo/config.yaml --config.verify

Print version information:

bash
tempo --version