2026/11/08 04:18:15 maxprocs: Leaving GOMAXPROCS=64: CPU quota undefined Usage of /usr/bin/pyroscope: -api.base-url string base URL for when the server is behind a reverse proxy with a different path -auth.multitenancy-enabled When set to true, incoming HTTP requests must specify tenant ID in HTTP X-Scope-OrgId header. When set to false, tenant ID anonymous is used instead. -blocks-storage.bucket-store.sync-dir string Directory to store synchronized pyroscope block headers. This directory is not required to be persisted between restarts, but it's highly recommended in order to improve the store-gateway startup time. (default "./data/pyroscope-sync/") -compactor.blocks-retention-period duration Delete blocks containing samples older than the specified retention period. 0 to disable. -compactor.compactor-downsampler-enabled If enabled, the compactor will downsample profiles in blocks at compaction level 3 and above. The original profiles are also kept. (default true) -compactor.compactor-tenant-shard-size int Max number of compactors that can compact blocks for single tenant. 0 to disable the limit and use all compactors. -compactor.data-dir string Directory to temporarily store blocks during compaction. This directory is not required to be persisted between restarts. (default "./data-compactor") -compactor.first-level-compaction-wait-period duration How long the compactor waits before compacting first-level blocks that are uploaded by the ingesters. This configuration option allows for the reduction of cases where the compactor begins to compact blocks before all ingesters have uploaded their blocks to the storage. (default 25m0s) -compactor.partial-block-deletion-delay duration If a partial block (unfinished block without meta.json file) hasn't been modified for this time, it will be marked for deletion. The minimum accepted value is 4h0m0s: a lower value will be ignored and the feature disabled. 0 to disable. (default 1d) -compactor.ring.consul.hostname string Hostname and port of Consul. (default "localhost:8500") -compactor.ring.etcd.endpoints string The etcd endpoints to connect to. -compactor.ring.etcd.password string Etcd password. -compactor.ring.etcd.username string Etcd username. -compactor.ring.instance-interface-names string List of network interface names to look up when finding the instance IP address. (default []) -compactor.ring.store string Backend storage to use for the ring. Supported values are: consul, etcd, inmemory, memberlist, multi. (default "memberlist") -compactor.split-and-merge-shards int The number of shards to use when splitting blocks. 0 to disable splitting. -compactor.split-and-merge-stage-size int Number of stages split shards will be written to. Number of output split shards is controlled by -compactor.split-and-merge-shards. -compactor.split-groups int Number of groups that blocks for splitting should be grouped into. Each group of blocks is then split separately. Number of output split shards is controlled by -compactor.split-and-merge-shards. (default 1) -config.expand-env Expands ${var} in config according to the values of the environment variables. -config.file string yaml file to load -config.show_banner Prints the application banner at startup. (default true) -consul.hostname string Hostname and port of Consul. (default "localhost:8500") -distributor.aggregation-period duration Duration of the distributor aggregation period. Requires aggregation window to be specified. 0 to disable. -distributor.aggregation-window duration Duration of the distributor aggregation window. Requires aggregation period to be specified. 0 to disable. -distributor.client-cleanup-period duration How frequently to clean up clients for ingesters that have gone away. (default 15s) -distributor.health-check-ingesters Run a health check on each ingester client during periodic cleanup. (default true) -distributor.health-check-timeout duration Timeout for ingester client healthcheck RPCs. (default 5s) -distributor.ingestion-burst-size-mb float Per-tenant allowed ingestion burst size (in sample size). Units in MB. The burst size refers to the per-distributor local rate limiter, and should be set at least to the maximum profile size expected in a single push request. (default 2) -distributor.ingestion-rate-limit-mb float Per-tenant ingestion rate limit in sample size per second. Units in MB. (default 4) -distributor.ingestion-tenant-shard-size int The tenant's shard size used by shuffle-sharding. Must be set both on ingesters and distributors. 0 disables shuffle sharding. -distributor.push.timeout duration Timeout when pushing data to ingester. (default 5s) -distributor.replication-factor int The number of ingesters to write to and read from. (default 1) -distributor.ring.consul.hostname string Hostname and port of Consul. (default "localhost:8500") -distributor.ring.etcd.endpoints string The etcd endpoints to connect to. -distributor.ring.etcd.password string Etcd password. -distributor.ring.etcd.username string Etcd username. -distributor.ring.instance-interface-names string List of network interface names to look up when finding the instance IP address. (default []) -distributor.ring.store string Backend storage to use for the ring. Supported values are: consul, etcd, inmemory, memberlist, multi. (default "memberlist") -distributor.zone-awareness-enabled True to enable the zone-awareness and replicate ingested samples across different availability zones. -embedded-grafana.data-path string The directory where the Grafana data will be stored. (default "./data/__embedded_grafana/") -embedded-grafana.listen-port int The port on which the Grafana will listen. (default 4041) -embedded-grafana.pyroscope-url string The URL of the Pyroscope instance to use for the Grafana datasources. (default "http://localhost:4040") -etcd.endpoints string The etcd endpoints to connect to. -etcd.password string Etcd password. -etcd.username string Etcd username. -h Print basic help. -help Print basic help. -help-all Print help, also including advanced and experimental parameters. -ingester.availability-zone string The availability zone where this instance is running. -ingester.lifecycler.interface string Name of network interface to read address from. (default []) -ingester.max-global-series-per-tenant int Maximum number of active series of profiles per tenant, across the cluster. 0 to disable. When the global limit is enabled, each ingester is configured with a dynamic local limit based on the replication factor and the current number of healthy ingesters, and is kept updated whenever the number of ingesters change. (default 5000) -ingester.max-local-series-per-tenant int Maximum number of active series of profiles per tenant, per ingester. 0 to disable. -ingester.tokens-file-path string File path where tokens are stored. If empty, tokens are not stored at shutdown and restored at startup. -log.format string Output log messages in the given format. Valid formats: [logfmt, json] (default "logfmt") -log.level value Only log messages with the given severity or above. Valid levels: [debug, info, warn, error] (default info) -memberlist.abort-if-join-fails If this node fails to join memberlist cluster, abort. -memberlist.advertise-addr string Gossip address to advertise to other members in the cluster. Used for NAT traversal. -memberlist.advertise-port int Gossip port to advertise to other members in the cluster. Used for NAT traversal. (default 7946) -memberlist.bind-addr string IP address to listen on for gossip messages. Multiple addresses may be specified. Defaults to 0.0.0.0 -memberlist.bind-port int Port to listen on for gossip messages. (default 7946) -memberlist.join string Other cluster members to join. Can be specified multiple times. It can be an IP, hostname or an entry specified in the DNS Service Discovery format. -modules List available modules that can be used as target and exit. -overrides-exporter.ring.consul.hostname string Hostname and port of Consul. (default "localhost:8500") -overrides-exporter.ring.etcd.endpoints string The etcd endpoints to connect to. -overrides-exporter.ring.etcd.password string Etcd password. -overrides-exporter.ring.etcd.username string Etcd username. -overrides-exporter.ring.instance-interface-names string List of network interface names to look up when finding the instance IP address. (default []) -overrides-exporter.ring.store string Backend storage to use for the ring. Supported values are: consul, etcd, inmemory, memberlist, multi. (default "memberlist") -pyroscopedb.data-path string Directory used for local storage. (default "./data") -pyroscopedb.max-block-duration duration Upper limit to the duration of a Pyroscope block. (default 1h0m0s) -pyroscopedb.retention-policy-disable Disable retention policy enforcement -pyroscopedb.retention-policy-enforcement-interval duration How often to enforce disk retention (default 5m0s) -pyroscopedb.retention-policy-min-disk-available-percentage float Which percentage of free disk space to keep (default 0.05) -pyroscopedb.retention-policy-min-free-disk-gb uint How much available disk space to keep in GiB (default 10) -pyroscopedb.row-group-target-size uint How big should a single row group be uncompressed (default 1342177280) -pyroscopedb.symbols-partition-label string Specifies the dimension by which symbols are partitioned. By default, the partitioning is determined automatically. -querier.client-cleanup-period duration How frequently to clean up clients for ingesters that have gone away. (default 15s) -querier.health-check-ingesters Run a health check on each ingester client during periodic cleanup. (default true) -querier.health-check-timeout duration Timeout for ingester client healthcheck RPCs. (default 5s) -querier.max-flamegraph-nodes-default int Maximum number of flame graph nodes by default. 0 to disable. (default 8192) -querier.max-flamegraph-nodes-max int Maximum number of flame graph nodes allowed. 0 to disable. -querier.max-query-length duration The limit to length of queries. 0 to disable. (default 1d) -querier.max-query-lookback duration Limit how far back in profiling data can be queried, up until lookback duration ago. This limit is enforced in the query frontend. If the requested time range is outside the allowed range, the request will not fail, but will be modified to only query data within the allowed time range. 0 to disable, default to 7d. (default 1w) -querier.max-query-parallelism int Maximum number of queries that will be scheduled in parallel by the frontend. -querier.query-analysis-enabled Whether query analysis is enabled in the query frontend. If disabled, the /AnalyzeQuery endpoint will return an empty response. (default true) -querier.query-analysis-series-enabled Whether the series portion of query analysis is enabled. If disabled, no series data (e.g., series count) will be calculated by the /AnalyzeQuery endpoint. -querier.split-queries-by-interval duration Split queries by a time interval and execute in parallel. The value 0 disables splitting by time -query-scheduler.max-outstanding-requests-per-tenant int Maximum number of outstanding requests per tenant per query-scheduler. In-flight requests above this limit will fail with HTTP response status code 429. (default 100) -query-scheduler.ring.consul.hostname string Hostname and port of Consul. (default "localhost:8500") -query-scheduler.ring.etcd.endpoints string The etcd endpoints to connect to. -query-scheduler.ring.etcd.password string Etcd password. -query-scheduler.ring.etcd.username string Etcd username. -query-scheduler.ring.instance-interface-names string List of network interface names to look up when finding the instance IP address. (default []) -query-scheduler.ring.store string Backend storage to use for the ring. Supported values are: consul, etcd, inmemory, memberlist, multi. (default "memberlist") -ring.store string Backend storage to use for the ring. Supported values are: consul, etcd, inmemory, memberlist, multi. (default "memberlist") -runtime-config.file comma-separated-list-of-strings Comma separated list of yaml files with the configuration that can be updated at runtime. Runtime config files will be merged from left to right. -self-profiling.block-profile-rate int (default 5) -self-profiling.disable-push When running in single binary (--target=all) Pyroscope will push (Go SDK) profiles to itself. Set to true to disable self-profiling. -self-profiling.mutex-profile-fraction int (default 5) -self-profiling.use-k6-middleware Read k6 labels from request headers and set them as dynamic profile tags. -server.graceful-shutdown-timeout duration Timeout for graceful shutdowns (default 30s) -server.grpc-conn-limit int Maximum number of simultaneous grpc connections, <=0 to disable -server.grpc-listen-address string gRPC server listen address. -server.grpc-listen-network string gRPC server listen network (default "tcp") -server.grpc-listen-port int gRPC server listen port. (default 9095) -server.grpc-max-concurrent-streams uint Limit on the number of concurrent streams for gRPC calls per client connection (0 = unlimited) (default 100) -server.grpc-max-recv-msg-size-bytes int Limit on the size of a gRPC message this server can receive (bytes). (default 4194304) -server.grpc-max-send-msg-size-bytes int Limit on the size of a gRPC message this server can send (bytes). (default 4194304) -server.grpc-tls-ca-path string GRPC TLS Client CA path. -server.grpc-tls-cert-path string GRPC TLS server cert path. -server.grpc-tls-client-auth string GRPC TLS Client Auth type. -server.grpc-tls-key-path string GRPC TLS server key path. -server.grpc.keepalive.max-connection-age duration The duration for the maximum amount of time a connection may exist before it will be closed. Default: infinity (default 2562047h47m16.854775807s) -server.grpc.keepalive.max-connection-age-grace duration An additive period after max-connection-age after which the connection will be forcibly closed. Default: infinity (default 2562047h47m16.854775807s) -server.grpc.keepalive.max-connection-idle duration The duration after which an idle connection should be closed. Default: infinity (default 2562047h47m16.854775807s) -server.grpc.keepalive.min-time-between-pings duration Minimum amount of time a client should wait before sending a keepalive ping. If client sends keepalive ping more often, server will send GOAWAY and close the connection. (default 5m0s) -server.grpc.keepalive.ping-without-stream-allowed If true, server allows keepalive pings even when there are no active streams(RPCs). If false, and client sends ping when there are no active streams, server will send GOAWAY and close the connection. -server.grpc.keepalive.time duration Duration after which a keepalive probe is sent in case of no activity over the connection., Default: 2h (default 2h0m0s) -server.grpc.keepalive.timeout duration After having pinged for keepalive check, the duration after which an idle connection should be closed, Default: 20s (default 20s) -server.grpc.num-workers int If non-zero, configures the amount of GRPC server workers used to serve the requests. -server.http-conn-limit int Maximum number of simultaneous http connections, <=0 to disable -server.http-idle-timeout duration Idle timeout for HTTP server (default 2m0s) -server.http-listen-address string HTTP server listen address. -server.http-listen-network string HTTP server listen network, default tcp (default "tcp") -server.http-listen-port int HTTP server listen port. (default 4040) -server.http-log-closed-connections-without-response-enabled Log closed connections that did not receive any response, most likely because client didn't send any request within timeout. -server.http-read-header-timeout duration Read timeout for HTTP request headers. If set to 0, value of -server.http-read-timeout is used. -server.http-read-timeout duration Read timeout for entire HTTP request, including headers and body. (default 30s) -server.http-tls-ca-path string HTTP TLS Client CA path. -server.http-tls-cert-path string HTTP server cert path. -server.http-tls-client-auth string HTTP TLS Client Auth type. -server.http-tls-key-path string HTTP server key path. -server.http-write-timeout duration Write timeout for HTTP server (default 30s) -server.log-request-at-info-level-enabled Optionally log requests at info level instead of debug level. Applies to request headers as well if server.log-request-headers is enabled. -server.log-request-headers Optionally log request headers. -server.log-request-headers-exclude-list string Comma separated list of headers to exclude from loggin. Only used if server.log-request-headers is true. -server.log-source-ips-enabled Optionally log the source IPs. -server.log-source-ips-header string Header field storing the source IPs. Only used if server.log-source-ips-enabled is true. If not set the default Forwarded, X-Real-IP and X-Forwarded-For headers are used -server.log-source-ips-regex string Regex for matching the source IPs. Only used if server.log-source-ips-enabled is true. If not set the default Forwarded, X-Real-IP and X-Forwarded-For headers are used -server.path-prefix string Base path to serve all API routes from (e.g. /v1/) -server.register-instrumentation Register the intrumentation handlers (/metrics etc). (default true) -server.report-grpc-codes-in-instrumentation-label-enabled If set to true, gRPC statuses will be reported in instrumentation labels with their string representations. Otherwise, they will be reported as "error". -server.tls-cipher-suites string Comma-separated list of cipher suites to use. If blank, the default Go cipher suites is used. -server.tls-min-version string Minimum TLS version to use. Allowed values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. If blank, the Go TLS minimum version is used. -shutdown-delay duration Wait time before shutting down after a termination signal. -storage.azure.account-key string Azure storage account key. If unset, Azure managed identities will be used for authentication instead. -storage.azure.account-name string Azure storage account name -storage.azure.connection-string string If `connection-string` is set, the value of `endpoint-suffix` will not be used. Use this method over `account-key` if you need to authenticate via a SAS token. Or if you use the Azurite emulator. -storage.azure.container-name string Azure storage container name -storage.azure.endpoint-suffix string Azure storage endpoint suffix without schema. The account name will be prefixed to this value to create the FQDN. If set to empty string, default endpoint suffix is used. -storage.backend string Backend storage to use. Supported backends are: s3, gcs, azure, swift, filesystem, cos. -storage.cos.app-id string COS app id -storage.cos.bucket string COS bucket name -storage.cos.endpoint string COS storage endpoint -storage.cos.region string COS region name -storage.cos.secret-id string COS secret id -storage.cos.secret-key string COS secret key -storage.filesystem.dir string Local filesystem storage directory. (default "./data-shared") -storage.gcs.bucket-name string GCS bucket name -storage.gcs.service-account string JSON either from a Google Developers Console client_credentials.json file, or a Google Developers service account key. Needs to be valid JSON, not a filesystem path. -storage.prefix string Prefix for all objects stored in the backend storage. For simplicity, it may only contain digits and English alphabet characters, hyphens, underscores, dots and forward slashes. -storage.s3.access-key-id string S3 access key ID -storage.s3.bucket-name string S3 bucket name -storage.s3.endpoint string The S3 bucket endpoint. It could be an AWS S3 endpoint listed at https://docs.aws.amazon.com/general/latest/gr/s3.html or the address of an S3-compatible service in hostname:port format. -storage.s3.region string S3 region. If unset, the client will issue a S3 GetBucketLocation API call to autodetect it. -storage.s3.secret-access-key string S3 secret access key -storage.s3.sse.kms-encryption-context string KMS Encryption Context used for object encryption. It expects JSON formatted string. -storage.s3.sse.kms-key-id string KMS Key ID used to encrypt objects in S3 -storage.s3.sse.type string Enable AWS Server Side Encryption. Supported values: SSE-KMS, SSE-S3. -storage.swift.auth-url string OpenStack Swift authentication URL -storage.swift.auth-version int OpenStack Swift authentication API version. 0 to autodetect. -storage.swift.container-name string Name of the OpenStack Swift container to put chunks in. -storage.swift.domain-id string OpenStack Swift user's domain ID. -storage.swift.domain-name string OpenStack Swift user's domain name. -storage.swift.password string OpenStack Swift API key. -storage.swift.project-domain-id string ID of the OpenStack Swift project's domain (v3 auth only), only needed if it differs the from user domain. -storage.swift.project-domain-name string Name of the OpenStack Swift project's domain (v3 auth only), only needed if it differs from the user domain. -storage.swift.project-id string OpenStack Swift project ID (v2,v3 auth only). -storage.swift.project-name string OpenStack Swift project name (v2,v3 auth only). -storage.swift.region-name string OpenStack Swift Region to use (v2,v3 auth only). -storage.swift.user-domain-id string OpenStack Swift user's domain ID. -storage.swift.user-domain-name string OpenStack Swift user's domain name. -storage.swift.user-id string OpenStack Swift user ID. -storage.swift.username string OpenStack Swift username. -store-gateway.sharding-ring.consul.hostname string Hostname and port of Consul. (default "localhost:8500") -store-gateway.sharding-ring.etcd.endpoints string The etcd endpoints to connect to. -store-gateway.sharding-ring.etcd.password string Etcd password. -store-gateway.sharding-ring.etcd.username string Etcd username. -store-gateway.sharding-ring.instance-availability-zone string The availability zone where this instance is running. Required if zone-awareness is enabled. -store-gateway.sharding-ring.instance-interface-names string List of network interface names to look up when finding the instance IP address. (default []) -store-gateway.sharding-ring.store string Backend storage to use for the ring. Supported values are: consul, etcd, inmemory, memberlist, multi. (default "memberlist") -store-gateway.sharding-ring.tokens-file-path string File path where tokens are stored. If empty, tokens are not stored at shutdown and restored at startup. -store-gateway.sharding-ring.unregister-on-shutdown Unregister from the ring upon clean shutdown. (default true) -store-gateway.sharding-ring.zone-awareness-enabled True to enable zone-awareness and replicate blocks across different availability zones. This option needs be set both on the store-gateway and querier when running in microservices mode. -store-gateway.tenant-shard-size int The tenant's shard size, used when store-gateway sharding is enabled. Value of 0 disables shuffle sharding for the tenant, that is all tenant blocks are sharded across all store-gateway replicas. -target comma-separated-list-of-strings Comma-separated list of Pyroscope modules to load. The alias 'all' can be used in the list to load a number of core modules and will enable single-binary mode. (default all) -tracing.enabled Set to false to disable tracing. (default true) -usage-stats.enabled Enable anonymous usage statistics collection. For more details about usage statistics, refer to https://grafana.com/docs/pyroscope/latest/configure-server/anonymous-usage-statistics-reporting/ (default true) -validation.enforce-labels-order Enforce labels order optimization. -validation.max-label-names-per-series int Maximum number of label names per series. (default 30) -validation.max-length-label-name int Maximum length accepted for label names. (default 1024) -validation.max-length-label-value int Maximum length accepted for label value. This setting also applies to the metric name. (default 2048) -validation.max-profile-size-bytes int Maximum size of a profile in bytes. This is based off the uncompressed size. 0 to disable. (default 4194304) -validation.max-profile-stacktrace-depth int Maximum depth of a profile stacktrace. Profiles are not rejected instead stacktraces are truncated. 0 to disable. (default 1000) -validation.max-profile-stacktrace-sample-labels int Maximum number of labels in a profile sample. 0 to disable. (default 100) -validation.max-profile-stacktrace-samples int Maximum number of samples in a profile. 0 to disable. (default 16000) -validation.max-profile-symbol-value-length int Maximum length of a profile symbol value (labels, function names and filenames, etc...). Profiles are not rejected instead symbol values are truncated. 0 to disable. (default 65535) -validation.max-sessions-per-series int Maximum number of sessions per series. 0 to disable. -validation.reject-newer-than duration This limits how far into the future profiling data can be ingested. This limit is enforced in the distributor. 0 to disable, defaults to 10m. (default 10m) -validation.reject-older-than duration This limits how far into the past profiling data can be ingested. This limit is enforced in the distributor. 0 to disable, defaults to 1h. (default 1h) -version Show the version of pyroscope and exit To see all flags, use -help-all