Get desktop application:
View/edit binary Protocol Buffers messages
Payload of an event indicating that an expected event will not come, as the build is aborted prematurely for some reason.
Used in:
A human readable description with more details about there reason, where available and useful.
Used in:
The user requested the build to be aborted (e.g., by hitting Ctl-C).
The user requested that no analysis be performed.
The user requested that no build be carried out.
The build or target was aborted as a timeout was exceeded.
The build or target was aborted as some remote environment (e.g., for remote execution of actions) was not available in the expected way.
Failure due to reasons entirely internal to the build tool, i.e. an unexpected crash due to programmer error.
A Failure occurred in the loading phase of a target.
A Failure occurred in the analysis phase of a target.
Target build was skipped (e.g. due to incompatible CPU constraints).
Build incomplete due to an earlier build failure (e.g. --keep_going was set to false causing the build be ended upon failure).
The build tool ran out of memory and crashed.
Payload of the event indicating the completion of an action. The main purpose of posting those events is to provide details on the root cause for a target failing; however, consumers of the build-event protocol must not assume that only failed actions are posted.
Used in:
The mnemonic of the action that was executed
The exit code of the action, if it is available.
Location where to find the standard output of the action (e.g., a file path).
Location where to find the standard error of the action (e.g., a file path).
Deprecated. This field is now present on ActionCompletedId.
Deprecated. This field is now present on ActionCompletedId.
Primary output; only provided for successful actions.
The command-line of the action, if the action is a command.
List of paths to log files
Only populated if success = false, and sometimes not even then.
Start of action execution, before any attempted execution begins.
End of action execution, after all attempted execution completes.
Additional details about action execution supplied by strategies. Bazel options will determine which strategy details are included when multiple strategies are involved in a single action's execution. The default type will be `tools.proto.SpawnExec` found in `spawn.proto`.
Message describing a build event. Events will have an identifier that is unique within a given build invocation; they also announce follow-up events as children. More details, which are specific to the kind of event that is observed, is provided in the payload. More options for the payload might be added in the future.
Identifier for a build event. It is deliberately structured to also provide information about which build target etc the event is related to. Events are chained via the event id as follows: each event has an id and a set of ids of children events such that apart from the initial event each event has an id that is mentioned as child id in an earlier event and a build invocation is complete if and only if all direct and indirect children of the initial event have been posted.
Used in:
Identifier of an event reporting that an action was completed (not all actions are reported, only the ones that can be considered important; this includes all failed actions).
Used in:
Optional, the label of the owner of the action, for reference.
Optional, the id of the configuration of the action owner.
Identifier of the BuildFinished event, indicating the end of a build.
Used in:
(message has no fields)
Used in:
(message has no fields)
Identifier of an event providing build metrics after completion of the build.
Used in:
(message has no fields)
Identifier of an event indicating the beginning of a build; this will normally be the first event.
Used in:
(message has no fields)
Identifier of an event providing additional logs/statistics after completion of the build.
Used in:
(message has no fields)
Identifier of an event introducing a configuration.
Used in:
, , , , , , , ,Identifier of the configuration; users of the protocol should not make any assumptions about it having any structure, or equality of the identifier between different streams. A value of "none" means the null configuration. It is used for targets that are not configurable, for example, source files.
Identifier of an event reporting an event associated with a configured label, usually a visibility error. In any case, an event with such an id will always report some form of error (i.e., the payload will be an Aborted event); there are no regular events using this identifier.
Used in:
Identifier of an event providing convenience symlinks information.
Used in:
(message has no fields)
Identifier of an event providing the ExecRequest of a run command.
Used in:
(message has no fields)
Identifier of an event reporting that an external resource was fetched from.
Used in:
The external resource that was fetched from.
Identifier of an event introducing a named set of files (usually artifacts) to be referred to in later messages.
Used in:
, ,Identifier of the file set; this is an opaque string valid only for the particular instance of the event stream.
Identifier on an event reporting on the options included in the command line, both explicitly and implicitly.
Used in:
(message has no fields)
Identifier of an event indicating that a target pattern has been expanded further. Messages of this shape are also used to describe parts of a pattern that have been skipped for some reason, if the actual expansion was still carried out (e.g., if keep_going is set). In this case, the pattern_skipped choice in the id field is to be made.
Used in:
Identifier of an event reporting progress. Those events are also used to chain in events that come early.
Used in:
Unique identifier. No assumption should be made about how the ids are assigned; the only meaningful operation on this field is test for equality.
Identifier on an event describing the commandline received by Bazel.
Used in:
A title for this command line value, as there may be multiple. For example, a single invocation may wish to report both the literal and canonical command lines, and this label would be used to differentiate between both versions.
Identifier of an event indicating that a target was built completely; this does not include running the test if the target is a test target.
Used in:
The configuration for which the target was built.
If empty, the id refers to the completion of the target. If not-empty, the id refers to the completion of an aspect applied to the (already completed) target. For example, when building an apple_binary that depends on proto_library "//:foo_proto", there will be two TargetCompleted events for "//:foo_proto": 1. An event with an empty aspect, corresponding to actions producing language-agnostic outputs from the proto_library; and 2. An event with aspect "ObjcProtoAspect", corresponding to Objective-C code generation.
Identifier of an event indicating that a target has been expanded by identifying for which configurations it should be build.
Used in:
If empty, the id refers to the expansion of the target. If not-empty, the id refers to the expansion of an aspect applied to the (already expanded) target. For example, when building an apple_binary that depends on proto_library "//:foo_proto", there will be two TargetConfigured events for "//:foo_proto": 1. An event with an empty aspect, corresponding to actions producing language-agnostic outputs from the proto_library; and 2. An event with aspect "ObjcProtoAspect", corresponding to Objective-C code generation.
Identifier of an event reporting the summary of a target.
Used in:
Identifier of an event reporting progress of an individual test run.
Used in:
The label of the target for the action.
The configuration under which the action is running.
The run number of the test action (e.g. for runs_per_test > 1).
For sharded tests, the shard number of the test action.
The execution attempt number which may increase due to retries (e.g. for flaky tests).
An incrementing count used to differentiate TestProgressIds for the same test attempt.
Identifier of an event reporting on an individual test run. The label identifies the test that is reported about, the remaining fields are in such a way as to uniquely identify the action within a build. In fact, attempts for the same test, run, shard triple are counted sequentially, starting with 1.
Used in:
Identifier of an event reporting the summary of a test.
Used in:
Identifier of an event reporting an event associated with an unconfigured label. Usually, this indicates a failure due to a missing input file. In any case, it will report some form of error (i.e., the payload will be an Aborted event); there are no regular events using this identifier. The purpose of those events is to serve as the root cause of a failed target.
Used in:
Generic identifier for a build event. This is the default type of BuildEventId, but should not be used outside testing; nevertheless, tools should handle build events with this kind of id gracefully.
Used in:
Identifier on an event indicating the original commandline received by the bazel server.
Used in:
(message has no fields)
Used in:
(message has no fields)
Identifier of an event indicating the workspace status.
Used in:
(message has no fields)
Event indicating the end of a build.
Used in:
If the build succeeded or failed.
The overall status of the build. A build was successful iff ExitCode.code equals 0.
End of the build in ms since the epoch. Deprecated, use `finish_time` instead. TODO(yannic): Remove.
End of the build.
Only populated if success = false, and sometimes not even then.
Things that happened during the build that could be of interest.
Used in:
Was the build suspended at any time during the build. Examples of suspensions are SIGSTOP, or the hardware being put to sleep. If was_suspended is true, then most of the timings for this build are suspect. NOTE: This is no longer set and is deprecated.
Exit code of a build. The possible values correspond to the predefined codes in bazel's lib.ExitCode class, as well as any custom exit code a module might define. The predefined exit codes are subject to change (but rarely do) and are not part of the public API. A build was successful iff ExitCode.code equals 0.
Used in:
The name of the exit code.
The exit code.
Payload of an event reporting custom key-value metadata associated with the build.
Used in:
Custom metadata for the build.
Used in:
Used in:
The total number of actions created and registered during the build, including both aspects and configured targets. This metric includes unused actions that were constructed but not executed during this build. It does not include actions that were created on prior builds that are still valid, even if those actions had to be re-executed on this build. For the total number of actions that would be created if this invocation were "clean", see BuildGraphMetrics below.
The total number of actions created this build just by configured targets. Used mainly to allow consumers of actions_created, which used to not include aspects' actions, to normalize across the Blaze release that switched actions_created to include all created actions.
The total number of actions executed during the build. This includes any remote cache hits, but excludes local action cache hits.
Contains the top N actions by number of actions executed.
Deprecated. The total number of remote cache hits.
Used in:
The total number of actions of this type executed during the build. As above, includes remote cache hits but excludes local action cache hits.
When the first action of this type started being executed, in milliseconds from the epoch.
When the last action of this type ended being executed, in milliseconds from the epoch.
Accumulated CPU time of all spawned actions of this type. This is only set if all the actions reported a time
The total number of actions of this type registered during the build.
Used in:
Used in:
Measures all source files newly read this build. Does not include unchanged sources on incremental builds.
Measures all output artifacts from executed actions. This includes actions that were cached locally (via the action cache) or remotely (via a remote cache or executor), but does *not* include outputs of actions that were cached internally in Skyframe.
Measures all output artifacts from actions that were cached locally via the action cache. These artifacts were already present on disk at the start of the build. Does not include Skyframe-cached actions' outputs.
Measures all artifacts that belong to a top-level output group. Does not deduplicate, so if there are two top-level targets in this build that share an artifact, it will be counted twice.
Used in:
Information about the size and shape of the build graph. Some fields may not be populated if Bazel was able to skip steps due to caching.
Used in:
How many configured targets/aspects were in this build, including any that were analyzed on a prior build and are still valid. May not be populated if analysis phase was fully cached. Note: for historical reasons this includes input/output files and other configured targets that do not actually have associated actions.
How many configured targets alone were in this build: always at most action_lookup_value_count. Useful mainly for historical comparisons to TargetMetrics.targets_configured, which used to not count aspects. This also includes configured targets that do not have associated actions.
How many actions belonged to the configured targets/aspects above. It may not be necessary to execute all of these actions to build the requested targets. May not be populated if analysis phase was fully cached.
How many actions belonged to configured targets: always at most action_count. Useful mainly for historical comparisons to ActionMetrics.actions_created, which used to not count aspects' actions.
How many "input file" configured targets there were: one per source file. Should agree with artifact_metrics.source_artifacts_read.count above,
How many "output file" configured targets there were: output files that are targets (not implicit outputs).
How many "other" configured targets there were (like alias, package_group, and other non-rule non-file configured targets).
How many artifacts are outputs of the above actions. May not be populated if analysis phase was fully cached.
How many Skyframe nodes there are in memory at the end of the build. This may underestimate the number of nodes when running with memory-saving settings or with Skybuild, and may overestimate if there are nodes from prior evaluations still in the cache.
Number of SkyValues that were dirtied during the build. Dirtied nodes are those that transitively depend on a node that changed by itself (e.g. one representing a file in the file system)
Number of SkyValues that changed by themselves. For example, when a file on the file system changes, the SkyValue representing it will change.
Number of SkyValues that were built. This means that they were evaluated and were found to have changed from their previous version.
Number of SkyValues that were evaluated and found clean, i.e. equal to their previous version.
Number of evaluations to build SkyValues. This includes restarted evaluations, which means there can be multiple evaluations per built SkyValue. Subtract built_values from this number to get the number of restarted evaluations.
For SkyKeys whose function name is ASPECT break out that information
Used in:
Unique key for Aspect.
usually the same as above, but can differ in some cases.
number of aspects created of this type.
number of actions created by aspects of this type.
For SkyKeys in 'done values' where the SkyValue is of type RuleConfiguredTargetValue, we pull those out separately and report the ruleClass and action count.
Used in:
Unique key for the rule class.
String name of the rule_class (not guaranteed unique)
how many rule instances of this type were seen.
how many actions were created by this rule class.
Used in:
One-indexed number of "analyses" the server has run, including the current one. Will be incremented for every build/test/cquery/etc. command that reaches the analysis phase.
One-indexed number of "builds" the server has run, including the current one. Will be incremented for every build/test/run/etc. command that reaches the execution phase.
Information about dynamic execution.
Used in:
Race statistics grouped by mnemonic, local_name, remote_name.
Used in:
Mnemonic of the action.
Name of runner of local branch.
Name of runner of remote branch.
Number of wins of local branch in race.
Number of wins of remote branch in race.
Data about the evaluation of Skyfunctions.
Used in:
Name of the Skyfunction.
How many times a given operation was carried out on a Skyfunction.
Used in:
Size of the JVM heap post build in bytes. This is only collected if --memory_profile is set, since it forces a full GC.
Size of the peak JVM heap size in bytes post GC. Note that this reports 0 if there was no major GC during the build.
Size of the peak tenured space JVM heap size event in bytes post GC. Note that this reports 0 if there was no major GC during the build.
Used in:
Type of garbage collected, e.g. G1 Old Gen.
Number of bytes of garbage of the given type collected during this invocation.
Information about host network.
Used in:
Information for all the network traffic going on on the host machine during the invocation.
Used in:
Total bytes sent during the invocation.
Total bytes received during the invocation.
Total packets sent during the invocation.
Total packets received during the invocation.
Peak bytes/sec sent during the invocation.
Peak bytes/sec received during the invocation.
Peak packets/sec sent during the invocation.
Peak packets/sec received during the invocation.
Used in:
Number of BUILD files (aka packages) successfully loaded during this build. [For Bazel binaries built at source states] Before Dec 2021, this value was the number of packages attempted to be loaded, for a particular definition of "attempted". After Dec 2021, this value would sometimes overcount because the same package could sometimes be attempted to be loaded multiple times due to memory pressure. After Feb 2022, this value is the number of packages successfully loaded.
Loading time metrics per package.
Used in:
DEPRECATED No longer populated. It never measured what it was supposed to (targets loaded): it counted targets that were analyzed even if the underlying package had not changed. TODO(janakr): rename and remove.
Number of targets/aspects configured during this build. Does not include targets/aspects that were configured on prior builds on this server and were cached. See BuildGraphMetrics below if you need that.
Number of configured targets analyzed during this build. Does not include aspects. Used mainly to allow consumers of targets_configured, which used to not include aspects, to normalize across the Blaze release that switched targets_configured to include aspects.
Used in:
For Skymeld, it's possible that analysis_phase_time_in_ms + execution_phase_time_in_ms >= wall_time_in_ms The CPU time in milliseconds consumed during this build.
The elapsed wall time in milliseconds during this build.
The elapsed wall time in milliseconds during the analysis phase. When analysis and execution phases are interleaved, this measures the elapsed time from the first analysis work to the last.
The elapsed wall time in milliseconds during the execution phase. When analysis and execution phases are interleaved, this measures the elapsed time from the first action execution (excluding workspace status actions) to the last.
The elapsed wall time in milliseconds until the first action execution started (excluding workspace status actions).
Information about all workers that were alive during the invocation.
Used in:
Deprecated. Use worker_ids instead of this field.
Ids of workers. Could be multiple in case of multiplex workers
Worker process id. If there is no process for worker, equals to zero.
Mnemonic of running worker.
Multiplex or singleplex worker.
Using worker sandbox file system or not.
TODO(b/300067854): Deprecate since all worker metrics should have their WorkerStats set.
Hash value of worker key. Needed to distinguish worker pools with same menmonic but with different worker keys.
Combined workers statistics.
Information collected from worker at some point.
Used in:
Epoch unix time of collection of metrics.
Memory usage of worker process at the end of the build.
Memory usage of the worker process prior to the invocation.
Epoch unix time of last action started on specific worker.
Used in:
Used to indicate a worker instance where the process has not been created yet. In reality this isn't logged, but leaving this here as a possible option in the future.
Indicates that the worker process was killed due to a reason unknown to Bazel at the point of measurement; if a known cause (below) comes along later on, this field will be updated.
Information about worker pool actions.
Used in:
Statistics of worker pool per worker pool hash. Basically it's a map from worker pool hash to statistics.
Used in:
Hash of worker pool these stats are for. Contains information about startup flags.
Mnemonic of workers these stats are for.
Number of workers created during a build.
Number of workers destroyed during a build (sum of all workers destroyed by eviction, UserExecException, IoException, InterruptedException and unknown reasons below).
Number of workers evicted during a build.
Number of workers destroyed due to UserExecExceptions.
Number of workers destroyed due to IoExceptions.
Number of workers destroyed due to InterruptedExceptions.
Number of workers destroyed due to an unknown reason.
Number of workers alive at the end of the build.
Payload of an event indicating the beginning of a new build. Usually, events of those type start a new build-event stream. The target pattern requested to be build is contained in one of the announced child events; it is an invariant that precisely one of the announced child events has a non-empty target pattern.
Used in:
Start of the build in ms since the epoch. Deprecated, use `start_time` instead. TODO(yannic): Remove.
Start of the build.
Version of the build tool that is running.
A human-readable description of all the non-default option settings
The name of the command that the user invoked.
The working directory from which the build tool was invoked.
The directory of the workspace.
The process ID of the Bazel server.
Event providing additional statistics/logs after completion of the build.
Used in:
Payload of an event reporting details of a given configuration.
Used in:
Whether this configuration is used for building tools.
The message that contains what type of action to perform on a given path and target of a symlink.
Used in:
The path of the symlink to be created or deleted, absolute or relative to the workspace, creating any directories necessary. If a symlink already exists at that location, then it should be replaced by a symlink pointing to the new target.
The operation we are performing on the symlink.
If action is CREATE, this is the target path (relative to the output base) that the symlink should point to. If action is DELETE, this field is not set.
Used in:
Indicates a symlink should be created, or overwritten if it already exists.
Indicates a symlink should be deleted if it already exists.
Event describing all convenience symlinks (i.e., workspace symlinks) to be created or deleted once the execution phase has begun. Note that this event does not say anything about whether or not the build tool actually executed these filesystem operations; it only says what logical operations should be performed. This event is emitted exactly once per build; if no symlinks are to be modified, the event is still emitted with empty contents.
Used in:
An environment variable provided by a run command after a successful build.
Used in:
Event that contains the ExecRequest of a run command announced only after a successful build and before trying to execute the requested command-line.
Used in:
Payload of an event indicating that an external resource was fetched. This event will only occur in streams where an actual fetch happened, not in ones where a cached copy of the entity to be fetched was used.
Used in:
Used in:
, , , , , ,A sequence of prefixes to apply to the file name to construct a full path. In most but not all cases, there will be 3 entries: 1. A root output directory, eg "bazel-out" 2. A configuration mnemonic, eg "k8-fastbuild" 3. An output category, eg "genfiles"
identifier indicating the nature of the file (e.g., "stdout", "stderr")
A location where the contents of the file can be found. The string is encoded according to RFC2396.
The contents of the file, if they are guaranteed to be short.
The symlink target path, if the file is an unresolved symlink.
Digest of the file, using the build tool's configured digest algorithm, hex-encoded.
Length of the file in bytes.
Payload of a message to describe a set of files, usually build artifacts, to be referred to later by their name. In this way, files that occur identically as outputs of several targets have to be named only once.
Used in:
Files that belong to this named set of files.
Other named sets whose members also belong to this set.
Payload of an event reporting on the parsed options, grouped in various ways.
Used in:
Collection of all output files belonging to that output group.
Used in:
Name of the output group
List of file sets that belong to this output group as well.
Indicates that one or more of the output group's files were not built successfully (the generating action failed).
Inlined files that belong to this output group, requested via --build_event_inline_output_groups.
Payload of the event indicating the expansion of a target pattern. The main information is in the chaining part: the id will contain the target pattern that was expanded and the children id will contain the target or target pattern it was expanded to.
Used in:
All test suites requested via top-level target patterns. Does not include test suites whose label matched a negative pattern.
Represents a test_suite target and the tests that it expanded to. Nested test suites are recursively expanded. The test labels only contain the final test targets, not any nested suites.
Used in:
The label of the test_suite rule.
Labels of the test targets included in the suite. Includes all tests in the suite regardless of any filters or negative patterns which may result in the test not actually being run.
Payload of an event summarizing the progress of the build so far. Those events are also used to be parents of events where the more logical parent event cannot be posted yet as the needed information is not yet complete.
Used in:
The next chunk of stdout that bazel produced since the last progress event or the beginning of the build. Consumers that need to reason about the relative order of stdout and stderr can assume that stderr has been emitted before stdout if both are present, on a best-effort basis.
The next chunk of stderr that bazel produced since the last progress event or the beginning of the build. Consumers that need to reason about the relative order of stdout and stderr can assume that stderr has been emitted before stdout if both are present, on a best-effort basis.
Payload of the event indicating the completion of a target. The target is specified in the id. If the target failed the root causes are provided as children events.
Used in:
The kind of target (e.g., e.g. "cc_library rule", "source file", "generated file") where the completion is reported. Deprecated: use the target_kind field in TargetConfigured instead.
The size of the test, if the target is a test target. Unset otherwise. Deprecated: use the test_size field in TargetConfigured instead.
The output files are arranged by their output group. If an output file is part of multiple output groups, it appears once in each output group.
Temporarily, also report the important outputs directly. This is only to allow existing clients help transition to the deduplicated representation; new clients should not use it.
Report output artifacts (referenced transitively via output_group) which emit directories instead of singleton files. These directory_output entries will never include a uri.
List of tags associated with this configured target.
The timeout specified for test actions under this configured target. Deprecated, use `test_timeout` instead. TODO(yannic): Remove.
The timeout specified for test actions under this configured target.
Failure information about the target, only populated if success is false, and sometimes not even then. Equal to one of the ActionExecuted failure_detail fields for one of the root cause ActionExecuted events.
Payload of the event indicating that the configurations for a target have been identified. As with pattern expansion the main information is in the chaining part: the id will contain the target that was configured and the children id will contain the configured targets it was configured to.
Used in:
The kind of target (e.g., e.g. "cc_library rule", "source file", "generated file") where the completion is reported.
The size of the test, if the target is a test target. Unset otherwise.
List of all tags associated with this target (for all possible configurations).
Payload of the event summarizing a target (test or non-test).
Used in:
Conjunction of TargetComplete events for this target, including aspects.
Repeats TestSummary's overall_status if available.
Event payload providing information about an active, individual test run.
Used in:
Identifies a resource that may provide information about an active test run. The resource is not necessarily a file and may need to be queried for information. The URI is not guaranteed to be available after the test completes. The string is encoded according to RFC2396.
Payload on events reporting about individual test action.
Used in:
The status of this test.
Additional details about the status of the test. This is intended for user display and must not be parsed.
True, if the reported attempt is taken from the tool's local cache.
Time in milliseconds since the epoch at which the test attempt was started. Note: for cached test results, this is time can be before the start of the build. Deprecated, use `test_attempt_start` instead. TODO(yannic): Remove.
Time at which the test attempt was started. Note: for cached test results, this is time can be before the start of the build.
Time the test took to run. For locally cached results, this is the time the cached invocation took when it was invoked. Deprecated, use `test_attempt_duration` instead. TODO(yannic): Remove.
Time the test took to run. For locally cached results, this is the time the cached invocation took when it was invoked.
Files (logs, test.xml, undeclared outputs, etc) generated by that test action.
Warnings generated by that test action.
Message providing optional meta data on the execution of the test action, if available.
Used in:
Deprecated, use TargetComplete.test_timeout instead.
Name of the strategy to execute this test action (e.g., "local", "remote")
True, if the reported attempt was a cache hit in a remote cache.
The exit code of the test action.
The hostname of the machine where the test action was executed (in case of remote execution), if known.
Used in:
Represents a hierarchical timing breakdown of an activity. The top level time should be the total time of the activity. Invariant: `time` >= sum of `time`s of all direct children.
Used in:
Deprecated, use `time` instead. TODO(yannic): Remove.
Enumeration type characterizing the size of a test, as specified by the test rule.
Used in:
,Used in:
, ,Payload of the event summarizing a test.
Used in:
Wrapper around BlazeTestStatus to support importing that enum to proto3. Overall status of test, accumulated over all runs, shards, and attempts.
Total number of shard attempts. E.g., if a target has 4 runs, 3 shards, each with 2 attempts, then total_run_count will be 4*3*2 = 24.
Value of runs_per_test for the test.
Number of attempts. If there are a different number of attempts per shard, the highest attempt count across all shards for each run is used.
Number of shards.
Path to logs of passed runs.
Path to logs of failed runs;
Total number of cached test actions
When the test first started running. Deprecated, use `first_start_time` instead. TODO(yannic): Remove.
When the test first started running.
When the last test action completed. Deprecated, use `last_stop_time` instead. TODO(yannic): Remove.
When the test first started running.
The total runtime of the test. Deprecated, use `total_run` instead. TODO(yannic): Remove.
The total runtime of the test.
Payload of an event reporting the command-line of the invocation as originally received by the server. Note that this is not the command-line given by the user, as the client adds information about the invocation, like name and relevant entries of rc-files and client environment variables. However, it does contain enough information to reproduce the build invocation.
Used in:
Configuration related to the blaze workspace and output tree.
Used in:
The root of the local blaze exec root. All output files live underneath this at "blaze-out/".
Payload of an event reporting the workspace status. Key-value pairs can be provided by specifying the workspace_status_command to an executable that returns one key-value pair per line of output (key and value separated by a space).
Used in:
Used in: