Skip to content

Instantly share code, notes, and snippets.

@adam-singer
Last active February 28, 2024 17:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adam-singer/a2ee0754a13c55a22a8b6c9691e9d8d5 to your computer and use it in GitHub Desktop.
Save adam-singer/a2ee0754a13c55a22a8b6c9691e9d8d5 to your computer and use it in GitHub Desktop.
ubuntu@ip-172-31-6-179:~/chromium/src$ buildtools/reclient/rewrapper --help
Usage of buildtools/reclient/rewrapper:
-action_log string
If set, write a reproxy log entry for this remote action to the named file.
-alsologtostderr
log to standard error as well as files
-canonicalize_working_dir
Replaces local working directory with a canonical value when running on RE server. The feature makes actions working-dir agnostic and enables to cache them across various same depth (e.g. out/default and out/rbe-build) local working directories (default: false)
-cfg string
Optional configuration file containing command-line argument settings
-command_id string
An identifier for the command for use in future debugging
-compare
Boolean indicating whether to compare chosen exec strategy with local execution. Default is false.
-dial_timeout duration
Timeout for dialing reproxy. Default is 3 minutes. (default 3m0s)
-download_outputs
Boolean indicating whether to download outputs after the command is executed. Default is true. (default true)
-enable_atomic_downloads
Boolean indicating whether to download outputs atomically in remote/remote_local_fallback modes. Default is true. (default true)
-env_var_allowlist value
List of environment variables allowed to pass to the proxy.
-exec_root string
The exec root of the command. The path from which all inputs and outputs are defined relatively. Defaults to current working directory.
-exec_strategy string
one of [local remote remote_local_fallback racing]. Defaults to remote. (default "remote")
-exec_timeout duration
Timeout for the command on RBE. Default is 1 hour. (default 1h0m0s)
-input_list_paths value
Comma-separated paths to files containing lists of inputs (rsp files). Used when inputs are too long to add to the command line. Paths contained in this file should be relative to the exec_root.
-inputs value
Comma-separated command input paths, relative to exec root. Each path may be either a file or a directory.
-invocation_id string
An identifier for a group of commands for use in future debugging
-labels value
Comma-separated key value pairs in the form key=value. This is used to identify the type of command to help the proxy make decisions regarding remote execution. Defaults to type=tool.
-local_wrapper string
Wrapper path to execute locally only.
-log_backtrace_at value
when logging hits line file:N, emit a stack trace
-log_dir string
If non-empty, write log files in this directory
-log_env
Boolean indicating whether to pass the entire environment of the rewrapper to the reproxy for logging. Default is false.
-log_link string
If non-empty, add symbolic links in this directory to the log files
-logbuflevel int
Buffer log messages logged at this level or lower (-1 means don't buffer; 0 means buffer INFO only; ...). Has limited applicability on non-prod platforms.
-logtostderr
log to standard error instead of files
-num_local_reruns int
Number of times the action should be rerun locally.
-num_remote_reruns int
Number of times the action should be rerun remotely.
-num_retries_if_mismatched int
Deprecated: Number of times the action should be remotely executed to identify determinism. Used only when compare is set to true.
-output_directories value
Comma-separated command output directory paths, relative to exec root.
-output_files value
Comma-separated command output file paths, relative to exec root.
-output_list_paths value
Comma-separated paths to files containing lists of outputs (rsp files). Used when outputs are too long to add to the command line. Paths contained in this file should be relative to the exec_root.
-platform value
Comma-separated key value pairs in the form key=value. This is used to identify remote platform settings like the docker image to use to run the command.
-preserve_symlink
Boolean indicating whether to preserve symlinks in input tree. Default is false.
-preserve_unchanged_output_mtime
Boolean indicating whether or not to preserve mtimes of unchanged outputs when they are downloaded. Default is false.
-reclient_timeout duration
Timeout for remotely executed actions to wait for a response from RBE. Default is 1 hour. (default 1h0m0s)
-remote_accept_cache
Boolean indicating whether to accept remote cache hits. Default is true. (default true)
-remote_update_cache
Boolean indicating whether to cache the command result remotely. Default is true. (default true)
-remote_wrapper string
Wrapper path to execute on remote worker.
-server_address string
The server address in the format of host:port for network, or unix:///file for unix domain sockets. (default "127.0.0.1:8000")
-stderrthreshold value
logs at or above this threshold go to stderr (default 2)
-tool_name string
The name of the tool to associate with executed commands
-toolchain_inputs value
Comma-separated command toolchain inputs relative to the exec root, which are paths to binaries needed to execute the action. Each binary can have a <binary>_remote_toolchain_inputs file next to it to refer to all dependencies of the toolchain binary. Paths in the <binary>_remote_toolchain_inputs file should be normalized.
-v value
log level for V logs
-version
If provided, print the current binary version and exit. If version_sdk is also provided, it takes precedence.
-version_sdk
If provided, print the current binary version and the version of the SDK used by this binary and then exit.
-vmodule value
comma-separated list of pattern=N settings for file-filtered logging
ubuntu@ip-172-31-6-179:~/chromium/src$
ubuntu@ip-172-31-6-179:~/chromium/src$ buildtools/reclient/reproxy --help
Usage of buildtools/reclient/reproxy:
-alsologtostderr
log to standard error as well as files
-cache_dir string
Directory from which to load the cache files at startup and update at shutdown.
-cache_silo string
Cache silo key to be used for all the actions. Usually used to segregate cache-hits between various builds.
-cas_concurrency int
Num concurrent upload / download RPCs that the SDK is allowed to do. (default 500)
-cas_service string
The CAS service to dial when calling via gRPC, including port, such as 'localhost:8790' or 'remotebuildexecution.googleapis.com:443'
-cfg string
Optional configuration file containing command-line argument settings
-clang_depscan_archive
Deep scan .a files for dependencies during clang linking
-clang_depscan_ignored_plugins string
Comma-separated list of plugins that should be ignored by clang dependency scanner.
Use this flag if you're using custom llvm build as your toolchain and your llvm plugins cause dependency scanning failures.
-clean_include_paths
Indicates whether to clean include paths from -I arguments
-compression_threshold int
Threshold size in bytes for compressing Bytestream reads or writes. Use a negative value for turning off compression. (default -1)
-cpp_dependency_scanner_plugin string
Deprecated: Location of the CPP dependency scanner plugin.
-credential_file string
The name of a file that contains service account credentials to use when calling remote execution. Used only if --use_application_default_credentials and --use_gce_credentials are false.
-creds_file string
Path to file where short-lived credentials are stored. If the file includes a token, reproxy will update the token if it refreshes it. Token refresh is only applicable if use_external_auth_token is used.
-deps_cache_max_mb int
Maximum size of the deps cache file (for goma input processor only). (default 128)
-depsscanner_address scandeps_server
If set, connects to the given address for C++ dependency scanning; a path with the prefix 'exec://' will start the target executable and connect to it. Defaults to execrel:// which looks for the scandeps_server binary in the same folder as reproxy. When set to "", the internal dependency scanner will be used. (default "execrel://")
-download_buffer_size int
Buffer size to flush unified downloader daemon. (default 10000)
-download_tick_duration duration
How often to flush unified downloader daemon. (default 50ms)
-download_tmp_dir string
Directory where reproxy should store outputs temporarily before moving them to the desired location. This should be on the same device as the output directory for the build. The default is outputs will be written to a subdirectory inside the action's working directory. Note that the download_tmp_dir will only be used if the action has racing as its exec strategy or it explicitly sets EnableAtomicDownloads=true. See proxy.proto for details.
-dump_input_tree
Whether to dump the input tree of received actions to the tmp directory.
-enable_deps_cache
Enables the deps cache if --cache_dir is provided
-experimental_cache_miss_rate int
Indicates percent of actions to simulate cache misses. Integer [0,100).
-experimental_credentials_helper credshelper
Path to the credentials helper binary. If given execrel://, looks for the credshelper binary in the same folder as reproxy
-experimental_credentials_helper_args string
Arguments for the experimental credentials helper, separated by space.
-experimental_exit_on_stuck_actions
Stops reproxy with exit_code=1 if the command didn't finish within 2*reclient_timeout
-experimental_goma_deps_cache
Use go deps cache with goma instead of goma's deps cache
-experimental_sysroot_do_not_upload
Do not upload the the files/directories under the directory specified by the --sysroot flag.
-fail_early_min_action_count int
Minimum number of actions received by reproxy before the fail early mechanism can take effect. 0 indicates fail early is disabled.
-fail_early_min_fallback_ratio float
Minimum ratio of fallbacks to total actions above which the build terminates early. Ratio is a number in the range [0,1]. 0 indicates fail early is disabled.
-fail_early_window duration
Window of time to consider for fail_early_min_action_count and fail_early_min_fallback_ratio. 0 indicates all datapoints should be used.
-gcert_refresh_timeout int
The timeout to use for channel initialization to obtain gcert credentials. (default 5)
-grpc_keepalive_permit_without_stream
If true, client sends keepalive pings even with no active RPCs; otherwise, doesn't send pings even if time and timeout are set. Default is false.
-grpc_keepalive_time duration
After a duration of this time if the client doesn't see any activity it pings the server to see if the transport is still alive. If zero or not set, the mechanism is off.
-grpc_keepalive_timeout duration
After having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed. Default is 20s. (default 20s)
-instance string
The instance ID to target when calling remote execution via gRPC (e.g., projects/$PROJECT/instances/default_instance for Google RBE).
-ip_reset_min_delay duration
Deprecated. The minimum time after the input processor has been reset before it can be reset again. Negative values disable resetting. (default 3m0s)
-ip_timeout duration
The maximum time to wait for an input processor action. Zero and negative values disable timeout. (default 10m0s)
-local_resource_fraction float
Number [0,1] indicating how much of the local machine resources are available for local execution, 1 being all of the machine's CPUs and RAM, 0 being no resources available for local execution. (default 1)
-log_backtrace_at value
when logging hits line file:N, emit a stack trace
-log_dir string
If non-empty, write log files in this directory
-log_format string
Format of proxy log. Currently only text and reducedtext are supported. Defaults to reducedtext. (default "reducedtext")
-log_http_calls
Log all http requests made with the default http client.
-log_keep_duration duration
Delete all RE logs older than the specified duration on startup. (default 24h0m0s)
-log_link string
If non-empty, add symbolic links in this directory to the log files
-log_path string
DEPRECATED. Use proxy_log_dir instead. If provided, the path to a log file of all executed records. The format is e.g. text://full/file/path.
-logbuflevel int
Buffer log messages logged at this level or lower (-1 means don't buffer; 0 means buffer INFO only; ...). Has limited applicability on non-prod platforms.
-logtostderr
log to standard error instead of files
-max_concurrent_requests_per_conn uint
Maximum number of concurrent RPCs on a single gRPC connection. (default 25)
-max_concurrent_streams_per_conn uint
Maximum number of concurrent stream RPCs on a single gRPC connection. (default 25)
-metrics_labels value
Comma-separated key value pairs in the form key=value. This is used to add arbitrary labels to exported metrics.
-metrics_namespace string
Namespace of metrics exported to Cloud Monitoring (e.g. RBE project)
-metrics_prefix string
Prefix of metrics exported to Cloud Monitoring
-metrics_project string
If set, action and build metrics are exported to Cloud Monitoring in the specified GCP project
-min_grpc_connections int
Minimum number of gRPC sub-connections the gRPC balancer should create during SDK initialization. (default 5)
-mismatch_ignore_config_path string
If provided, mismatches will be ignored according to the provided rule config.
-num_records_to_keep int
The number of last executed records to keep in memory for serving.
-pprof_file string
Enable cpu pprof if not empty. Will not work on windows as reproxy shutdowns through an uncatchable sigkill.
-pprof_mem_file string
Enable memory pprof if not empty. Will not work on windows as reproxy shutdowns through an uncatchable sigkill.
-pprof_port int
Enable pprof http server if not zero
-profiler_project_id string
project id used for cloud profiler
-profiler_service string
Service name to associate with profiles uploaded to Cloud Profiling. If unset, Cloud Profiling is disabled.
-proxy_idle_timeout duration
Inactivity period after which the running reproxy process will be killed. Default is 6 hours. When set to 0, idle timeout is disabled. (default 6h0m0s)
-proxy_log_dir value
If provided, the directory path to a proxy log file of executed records.
-racing_bias float
Value between [0,1] to indicate how racing manages the tradeoff of saving bandwidth (0) versus speed (1). The default is to prefer speed over bandwidth. (default 0.75)
-racing_tmp_dir string
DEPRECATED. Use download_tmp_dir instead.
-remote_disabled
Whether to disable all remote operations and run all actions locally.
-rpc_timeouts value
Comma-separated key value pairs in the form rpc_name=timeout. The key for default RPC is named default. 0 indicates no timeout. Example: GetActionResult=500ms,Execute=0,default=10s.
-server_address string
The server address in the format of host:port for network, or unix:///file for unix domain sockets. (default "127.0.0.1:8000")
-service string
The remote execution service to dial when calling via gRPC, including port, such as 'localhost:8790' or 'remotebuildexecution.googleapis.com:443'
-service_no_auth
If true, do not authenticate with the service (implied by --service_no_security).
-service_no_security
If true, do not use TLS or authentication when connecting to the gRPC service.
-shadow_header_detection
Indicates whether to enable detection of shadow headers when building/verifying dependencies of c++ compilations in local execution remote cache mode
-startup_capabilities
Whether to self-configure based on remote server capabilities on startup. (default true)
-stderrthreshold value
logs at or above this threshold go to stderr (default 2)
-tls_ca_cert string
Load TLS CA certificates from this file
-tls_client_auth_cert string
Certificate to use when using mTLS to connect to the RBE service.
-tls_client_auth_key string
Key to use when using mTLS to connect to the RBE service.
-tls_server_name string
Override the TLS server name
-upload_buffer_size int
Buffer size to flush unified uploader daemon. (default 10000)
-upload_tick_duration duration
How often to flush unified uploader daemon. (default 50ms)
-use_application_default_credentials
If true, use application default credentials to connect to remote execution. See https://cloud.google.com/sdk/gcloud/reference/auth/application-default/login
-use_batches
Use batch operations for relatively small blobs. (default true)
-use_casng
Use casng pkg.
-use_external_auth_token
If true, se an externally provided auth token, given via PerRPCCreds when the SDK is initialized.
-use_gce_credentials
If true (and --use_application_default_credentials is false), use the default GCE credentials to authenticate with remote execution.
-use_gcloud_creds
Indicates whether to use gcloud auth credentials for authentication.
-use_google_prod_creds
Indicates whether to use google prod user credentials for authentication.
-use_rpc_credentials
If false, no per-RPC credentials will be used (disables --credential_file, --use_application_default_credentials, and --use_gce_credentials. (default true)
-use_unified_cas_ops
Deprecated: use_unified_uploads/downloads instead. Whether to use the unified uploader / downloader for deduplicating uploads / downloads.
-use_unified_downloads
Whether to use the unified downloader for deduplicating downloads.
-use_unified_uploads
Whether to use the unified uploader for deduplicating uploads.
-v value
log level for V logs
-version
If provided, print the current binary version and exit. If version_sdk is also provided, it takes precedence.
-version_cache_silo
Indicates whether to add a re-client version as cache-silo key to all remotely-executed actions. Not applicable for actions run in local-execution-remote-cache (LERC) mode.
-version_sdk
If provided, print the current binary version and the version of the SDK used by this binary and then exit.
-vmodule value
comma-separated list of pattern=N settings for file-filtered logging
-wait_for_shutdown_rpc
If set, will only shutdown after 3 SIGINT signals
-xattr_digest string
Extended file attribute to obtain the digest from, if available, formatted as hash/size. If the value contains the hash only, the file size as reported by stat is used.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment