Get desktop application:
View/edit binary Protocol Buffers messages
Digest of a file or action cache entry.
Used in: , , ,
The content hash as a lowercase hex string including any leading zeroes.
The original content size in bytes.
The name of the digest function used to compute the hash.
Contents of command environment.
Used in: ,
An entry in the compact log format. This is the format generated by --experimental_execution_log_compact_file. Each entry describes either an executed spawn or non-spawn action or a piece of data referenced by other entries. This considerably reduces the runtime overhead and the size of the log when compared to the --execution_log_{binary,json}_file formats. To ensure that the log can be parsed in a single pass, every entry must be serialized after all other entries it references by ID. However, entries aren't guaranteed to be serialized in increasing ID order. Entries other than spawns and non-spawn actions may not be assumed to be canonical. For performance reasons, the same file, directory or input set may be serialized multiple times with a different ID.
If nonzero, then this entry may be referenced by later entries by this ID. Nonzero IDs are unique within an execution log, but may not be contiguous.
The entry payload.
An input or output directory. May be a source directory, a fileset tree, or a tree artifact.
Used in:
The directory path.
The contained files, whose paths are relative to the directory.
An input or output file.
Used in: , ,
The file path.
A digest of the file contents. The hash function name is omitted. It can be obtained from Invocation. May be omitted for empty files.
A set of spawn inputs. The contents of the set are the directly contained entries in addition to the contents of all transitively referenced sets. When order matters, transitive sets come before direct entries and within a set, entries are considered in left-to-right order ("postorder"). Sets are not canonical: two sets with different structure may yield the same contents.
Used in:
Entry IDs of files, directories, unresolved symlinks or runfiles trees belonging to this set.
Entry IDs of other input sets contained in this set.
Information pertaining to the entire invocation. May appear at most once in the initial position.
Used in:
The hash function used to compute digests.
The name of the subdirectory of the runfiles tree corresponding to the main repository (also known as the "workspace name"). With --enable_bzlmod, this is always "_main", but can vary when using WORKSPACE.
Whether --experimental_sibling_repository_layout is enabled.
A spawn output.
Used in:
The ID of a file (ctx.actions.declare_file), directory (ctx.actions.declare_directory) or unresolved symlink (ctx.actions.declare_symlink) that is an output of the spawn.
A declared output that is either missing or has the wrong type (e.g., a file where a directory was expected).
A structured representation of the .runfiles directory of an executable. Instead of storing the directory directly, the tree is represented similarly to its in-memory representation in Bazel and needs to be reassembled from the following parts (in case of path collisions, later entries overwrite earlier ones): 1. symlinks (symlinks_id) 2. artifacts at canonical locations (input_set_id) 3. empty files (empty_files) 4. root symlinks (root_symlinks_id) 5. the _repo_mapping file with the repo mapping manifest (repo_mapping_manifest) 6. the <workspace runfiles directory>/.runfile file (if the workspace runfiles directory wouldn't exist otherwise) See SpawnLogReconstructor#reconstructRunfilesDir for details.
Used in:
The runfiles tree path.
The entry ID of the set of artifacts in the runfiles tree that are symlinked at their canonical locations relative to the tree path. See SpawnLogReconstructor#getRunfilesPaths for how to recover the tree-relative paths of the artifacts from their exec paths. In case of path collisions, later artifacts overwrite earlier ones and artifacts override custom symlinks. The referenced set must not transitively contain any runfile trees.
The entry ID of the set of symlink entries with paths relative to the subdirectory of the runfiles tree root corresponding to the main repository.
The entry ID of the set of symlink entries with paths relative to the root of the runfiles tree.
The paths of empty files relative to the subdirectory of the runfiles tree root corresponding to the main repository.
The "_repo_mapping" file at the root of the runfiles tree, if it exists. Only the digest is stored as the relative path is fixed.
Whether the runfiles tree contains external runfiles at their legacy locations (e.g. _main/external/bazel_tools/tools/bash/runfiles.bash) in addition to the default locations (e.g. bazel_tools/tools/bash/runfiles.bash).
An executed spawn.
Used in:
The command line arguments.
The environment variables.
The execution platform.
Entry ID of the set of inputs. Unset means empty.
Entry ID of the subset of inputs that are tools. Unset means empty.
The set of outputs.
See SpawnExec.label.
See SpawnExec.mnemonic.
See SpawnExec.exit_code.
See SpawnExec.status.
See SpawnExec.runner.
See SpawnExec.cache_hit.
See SpawnExec.remotable.
See SpawnExec.cacheable.
See SpawnExec.remote_cacheable.
See SpawnExec.digest. The hash function name is omitted. It can be obtained from Invocation. Unset if the file is empty.
See SpawnExec.timeout_millis.
See SpawnExec.metrics.
A symlink action, which is not backed by a spawn.
Used in:
The path of the input file of the action (i.e., the target of the symlink).
The path of the output file of the action (i.e., the symlink itself).
The canonical label of the target this action belongs to.
The mnemonic of the action.
A collection of runfiles symlinked at custom locations. The contents of the set are the directly contained entries in addition to the contents of all transitively referenced sets. When order matters, transitive sets come before direct entries and within a set, entries are considered in left-to-right order ("postorder"). Sets are not canonical: two sets with different structure may yield the same contents.
Used in:
A map from relative paths of runfiles symlinks to the entry IDs of the symlink target, which may be a file, directory, or unresolved symlink.
Entry IDs of other symlink entry sets transitively contained in this set.
An unresolved symlink.
Used in:
The symlink path.
The path the symlink points to.
Used in:
Path to the file relative to the execution root.
Symlink target path. Only set for unresolved symlinks.
File digest. Always omitted for unresolved symlinks. May be omitted for empty files.
Whether the file is a tool. Only set for inputs, never for outputs.
Command execution platform. This message needs to be kept in sync with [Platform][google.devtools.remoteexecution.v1test.Platform].
Used in: ,
Used in:
Each message contains an executed command, its full inputs and outputs, and other information. This format is relatively costly to produce and results in very large files, due to the amount of repeated information. The --experimental_execution_log_compact_file format provides a better alternative.
The command that was run.
The command environment.
The command execution platform.
The inputs at the time of the execution.
All the listed outputs paths. The paths are relative to the execution root. Actual outputs are a subset of the listed outputs. These paths are sorted.
Whether the spawn was allowed to run remotely.
Whether the spawn was allowed to be cached.
The spawn timeout.
The mnemonic of the action this spawn belongs to.
The outputs generated by the execution. In order for one of the listed_outputs to appear here, it must have been produced and have the expected type (file, directory or symlink).
If the spawn did not hit a disk or remote cache, this will be the name of the runner, e.g. "remote", "linux-sandbox" or "worker". If the spawn hit a disk or remote cache, this will be "disk cache hit" or "remote cache hit", respectively. This includes the case where a remote cache was hit while executing the spawn remotely. Note that spawns whose owning action hits the persistent action cache are never reported at all. This won't always match the spawn strategy. For the dynamic strategy, it will be the runner for the first branch to complete. For the remote strategy, it might be a local runner in case of a fallback.
Whether the spawn hit a disk or remote cache.
A text status describing an execution error. Empty in case of success.
This field contains the contents of SpawnResult.exitCode. Its semantics varies greatly depending on the status field. Dependable: if status is empty, exit_code is guaranteed to be zero.
Whether the spawn was allowed to be cached remotely.
The canonical label of the target this spawn belongs to.
The action cache digest. Only available when remote execution, remote cache or disk cache was enabled for this spawn.
Timing, size and memory statistics.
Timing, size, and memory statistics for a SpawnExec.
Used in: ,
Total wall time spent running a spawn, measured locally.
Time taken to convert the spawn into a network request.
Time spent communicating over the network.
Time spent fetching remote outputs.
Time spent waiting in queues.
Time spent setting up the environment in which the spawn is run.
Time spent uploading outputs to a remote store.
Time spent running the subprocess.
Time spent by the execution framework processing outputs.
Time spent in previous failed attempts, not including queue time.
Total size in bytes of inputs or 0 if unavailable.
Total number of input files or 0 if unavailable.
Estimated memory usage or 0 if unavailable.
Limit of total size of inputs or 0 if unavailable.
Limit of total number of input files or 0 if unavailable.
Limit of total size of outputs or 0 if unavailable.
Limit of total number of output files or 0 if unavailable.
Memory limit or 0 if unavailable.
Time limit or 0 if unavailable.
Instant when the spawn started to execute.