| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
Whenever we report an action in the build event protocol that has
a configuration associated with it, report the configuration as
well in the protocol (and not only the checksum, if the configuration
is not that of one of the top-level configured targets).
Change-Id: I9b085d5381b3c3509b4f3b99c8a77bc8fba6abfe
PiperOrigin-RevId: 161789745
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157446717
|
|
|
|
|
|
|
|
| |
We initially didn't consider that multiple BuildEventStreamer instances might
exist during a build.
RELNOTES: None.
PiperOrigin-RevId: 157385069
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rollforward with fix for test flakiness. BEP transport closed
events are delivered via their own threadpool and thus might
not have been sent immediately. BuildEventStreamerTest#testSimpleStream
now waits for a bit until the event has been delivered. I ran the test
with --runs_per_test=1000 several times and had no further failures.
*** Original change description ***
Automated g4 rollback of commit 3d596d63f883fff56001ed7b2e5cf51dba45f082.
*** Reason for rollback ***
Made BuildEventStreamerTest#testSimpleStream 3% flaky based on --runs_per_test=1000.
RELNOTES: None
PiperOrigin-RevId: 154170833
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Made BuildEventStreamerTest#testSimpleStream 3% flaky based on --runs_per_test=1000.
RELNOTES: None
PiperOrigin-RevId: 154090559
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The BEP (build event protocol) upload may at times take longer than the build
itself. This is especially true for cached builds, where there is little build
work, but the protocol still needs to be uploaded. In this case the bazel UI
will now display that it's waiting for BEP upload, both in the current and the
new experimental UI (--experimental_ui).
When executing a run command, blaze waits for the BEP upload to finish before
it runs the target.
Major Modifications:
- The BuildEventTransport interface now also has a name() method that returns
a string. When waiting for a transport to finish the BEP upload, this string
is displayed in the UI.
- The BuildEventStreamer now emits two new events
AnnounceBuildEventTransportsEvent and BuildEventTransportClosed on the event
bus. This is how the experimental UI is informed about BEP upload progress.
RELNOTES: None
PiperOrigin-RevId: 154052401
|
|
|
|
|
|
|
|
|
|
|
|
| |
'create' method.
This paves the way for changing PathFragment to e.g. an abstract class with multiple subclasses. This way we can split out the windows-specific stuff into one of these concrete classes, making the code more readable and also saving memory (since the shallow heap size of the NonWindowsPathFragment subclass will hopefully be smaller than that of the current PathFragment).
This also lets us pursue gc churn optimizations. We can now do interning in PathFragment#create and can also get rid of unnecessary intermediate PathFragment allocations.
RELNOTES: None
PiperOrigin-RevId: 152145768
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--noexperimental_enable_critical_path_profiling flags are all specified, then Bazel will delete Actions from ActionLookupValues as they are executed in order to save memory.
Because an already-run action may output an artifact that is only requested later in the build, we need to maintain a way for the artifact to look up the action. But in most cases we don't need to keep the action itself, just its output metadata.
Some actions unfortunately are needed post-execution, and so we special-case them.
Also includes dependency change with description:
Move action out of key. This keeps action references from polluting the graph -- actions are just stored in one SkyValue, instead of being present in SkyKeys.
This does mean additional memory used: we have a separate ActionLookupData object per Action executed. That may reach ~24M for million-action builds.
PiperOrigin-RevId: 151756383
|
|
|
|
|
|
| |
--
PiperOrigin-RevId: 149418372
MOS_MIGRATED_REVID=149418372
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the experimental UI, to be able to report appropriately about ongoing
downloads, we need to track their state, as updated by the DownloadProgressEvents.
Do so. Also report on ongoing downloads in the progress bar.
--
Change-Id: I668e963cd6da85ec598b23724066d366d465271f
Reviewed-on: https://cr.bazel.build/9114
PiperOrigin-RevId: 148899297
MOS_MIGRATED_REVID=148899297
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an Aspect registered an action that an extra-action is
shadowing, its name is used when creating the extra-action's ID and
name.
Since recently, an aspect can see other aspects applied to the same
target. This CL record the names of other aspects applied to the target
as well, disambiguating the action owners.
--
PiperOrigin-RevId: 142264153
MOS_MIGRATED_REVID=142264153
|
|
|
|
|
|
|
|
|
| |
to action_listener() rules.
RELNOTES: Extra actions now contain aspect-related information.
--
MOS_MIGRATED_REVID=138832922
|
|
|
|
|
| |
--
MOS_MIGRATED_REVID=138680612
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When requested to produce a suffix of a string of a string
of a given length, gracefully handle the case where the requested
length is negative---simply return the empty string in
this case. While there, mark this static method as such; also
increase visibility to default as it is generally useful and
should be tested as an interface of this class.
--
Change-Id: I821966f7ba3828809bc6d000358803c131740ec9
Reviewed-on: https://bazel-review.googlesource.com/#/c/4223
MOS_MIGRATED_REVID=129080284
|
|
|
|
|
|
|
|
|
| |
...so that it can be used by the main code base.
--
Change-Id: Ibf59d74ab1b0cca9bd9406bb76ee6e71189653bf
Reviewed-on: https://bazel-review.googlesource.com/#/c/3903
MOS_MIGRATED_REVID=125950656
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the experimental UI always shows the 3 oldest, still running actions.
While this seems a reasonable default, some users requested to be able to change
the number of actions shown. Hence replace the hard-coded value by a flag.
While there, also fix an off-by-one error in deciding when to put the ellipsis
symbol.
--
Change-Id: I037d208360fa1d3f100c99ab1ab1f5fc140138ac
Reviewed-on: https://bazel-review.googlesource.com/#/c/3811
MOS_MIGRATED_REVID=125427168
|
|
|
|
|
|
|
|
|
|
| |
In the experimental UI, for the running actions also report their strategy.
This will give a more complete picture of what Bazel is currently doing.
--
Change-Id: I9553c952ed494e0db225b2a1ae5e8eba00f68617
Reviewed-on: https://bazel-review.googlesource.com/#/c/3820
MOS_MIGRATED_REVID=125162808
|
|
|
|
|
|
|
|
|
|
|
| |
The experimental UI also keeps track, in the progress bar, of the last test
that completed. When using curses, use colors to indicate whether the test
passed or not.
--
Change-Id: Iaa01a773c3bbf534692ed21dd420596cb63e2585
Reviewed-on: https://bazel-review.googlesource.com/#/c/3752
MOS_MIGRATED_REVID=123871492
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To give a better understanding of which packages are on the critical
path during loading and analysis, provide information in the same way
as during execution: show the earliest started, but not yet completed
package. As not all packages looked at during the analysis phase are
reported to the progress receiver, use a custom class to aggregate those
data.
--
Change-Id: I03c25efdecb4124e1bc06fce8be9175dc56b5500
Reviewed-on: https://bazel-review.googlesource.com/#/c/3700
MOS_MIGRATED_REVID=123408689
|
|
|
|
|
|
|
|
|
|
|
| |
When reporting about actions that are still running, groups those belonging
to the same test. In this way, more useful information can be presented in the
progress bar, instead of wasting a whole line for a single shard.
--
Change-Id: Id1f5a0595767906d6a75f6533be54f3c262ddd67
Reviewed-on: https://bazel-review.googlesource.com/#/c/3646
MOS_MIGRATED_REVID=123097744
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a progress message has to be shortened, as it does not fit in a
line in the progress bar, add a new first attempt: if the message the
path implicit to the label, only shorten that path within the message
(if that gets short enough, leaving a reasonable part of the path);
usually, the additional information is more useful than having a longer
part of the path present.
While there, also fix incorrect length computation in a different case
of message shortening.
--
Change-Id: Ied80e03cace1b249fc0f4e11bce41f2b4207b6ad
Reviewed-on: https://bazel-review.googlesource.com/#/c/3670
MOS_MIGRATED_REVID=122818198
|
|
|
|
|
|
|
|
|
|
|
|
| |
Optionally support a target width for the experimental state tracker;
if given, it will try to produce a status bar with lines shorter than
that limit, if possible, so that the status bar does not have to be
broken.
--
Change-Id: Ic5843285300ec10cf3e21b9b7402a6557f6bdb5e
Reviewed-on: https://bazel-review.googlesource.com/#/c/3374
MOS_MIGRATED_REVID=119954289
|
|
|
|
|
|
|
|
|
|
| |
In this way, it can be used for other tests as well. While there, also
unify the two almost identical private LoggingTerminalWriter classes.
--
Change-Id: I9cdf9eb235110a0ad6b9514012a92a923d219b53
Reviewed-on: https://bazel-review.googlesource.com/#/c/3372
MOS_MIGRATED_REVID=119943441
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the experimental UI, show the most recent finished test in the (long) progress bar.
For failed test, immediately write an entry to the scroll-back buffer. In this
way, the user can get an already investigate test failures while other tests are
still running.
--
Change-Id: I5df29dc55b979c8547e99e9ac3f60563736b48e8
Reviewed-on: https://bazel-review.googlesource.com/#/c/3351
MOS_MIGRATED_REVID=119732631
|
|
|
|
|
|
|
|
|
|
|
| |
When running tests, a useful information to know is the number of tests
that have passed and failed already. Hence subscribe to the relevant events
and provide this information in the progress bar as well.
--
Change-Id: I6fabec3f4585500f096b820dbbd5e8e6897647fa
Reviewed-on: https://bazel-review.googlesource.com/#/c/3350
MOS_MIGRATED_REVID=119727962
|
|
|
|
|
|
|
|
|
|
|
|
| |
When bazel is used without curses, every status message ever written
will never be deleted and, instead, stick in the log. To keep the output
manageable in this case, provide a one-line progress bar to be used in
this case.
--
Change-Id: Ia0f9619d406e676f88ff536617a56fd4990cb51e
Reviewed-on: https://bazel-review.googlesource.com/#/c/3294
MOS_MIGRATED_REVID=119520912
|
|
|
|
|
|
|
|
|
| |
The ExperimentalStateTrackerTest tests the ExperimentalStateTracker, not itself.
--
Change-Id: I182558bfa21881ae43e5c72161805c7045290551
Reviewed-on: https://bazel-review.googlesource.com/#/c/3260
MOS_MIGRATED_REVID=119149442
|
|
|
|
|
|
|
|
|
|
|
| |
In the experimental UI, use progress events as an occasion to
update the progress bar. However, to avoid unnecessary noise, only
do so, if the progress bar potentially changes with time.
--
Change-Id: I9bee093c29e0eb50e7fcce2fa6e941a02d615def
Reviewed-on: https://bazel-review.googlesource.com/#/c/3206
MOS_MIGRATED_REVID=118944208
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the progress bar shows the 3 earliest started still running actions.
While this might give some indication about which actions delay the build process,
it lacks quantitative information about how long the delay is. By adding the current
run time to the progress bar, at least some quantitative information is provided.
--
Change-Id: Ib90eda67d87384a4372cda7779a09a44cea2b8dd
Reviewed-on: https://bazel-review.googlesource.com/#/c/3205
MOS_MIGRATED_REVID=118933973
|
|
|
|
|
|
|
|
|
|
| |
In this way, the ExperimentalStateTracker has access to all the information needed
to provide information about the run-time of currently running actions.
--
Change-Id: I0f4e48f39e9ebe63555e4bb1d70df2a6dbb65430
Reviewed-on: https://bazel-review.googlesource.com/#/c/3204
MOS_MIGRATED_REVID=118929758
|
|
Now that the experimental UI has the first properties we want to keep
in the long run, add a test asserting the following semantic
properties.
- Whenever only one action is running, it is shown somehow in the
progress bar.
- Completed actions should not be shown in the progress bar.
- The earliest-started still running action should be visible in
the progress bar.
While there, also drop the assumption in the ExperimentalStateTracker
that the ExecutionProgressReceiverAvailableEvent has to come before
any actions that has not been finished yet.
--
Change-Id: Ica52eb12546703e4f8f9d9c64928208621d19ced
Reviewed-on: https://bazel-review.googlesource.com/#/c/3048
MOS_MIGRATED_REVID=117121300
|