Comments (6)
The lack of information in the BEP to map information back to the cache is one of my biggest frustrations with the protocol.
Some of this info can be reverse engineered from the bytestream urls for build artifacts - but only for "important outputs", not for all actions associated with the target.
I haven't had a chance to play around with bb-browser. Do you have a screenshot of what information is displayed on that page?
from buildbuddy.
The commit message here buildbarn/bb-browser@6b5437f seems to suggest this issue could see traction following the integration of bazelbuild/remote-apis#186
This makes it possible to see the build tool's invocation ID and version
number on action and uncached action result pages. This feature will
become a lot more interesting once the following API for remote-apis
lands:
Once we have that, we can display Bazel target names, configuration IDs,
etc., meaning we can finally correlate Build Event Stream events with
individual actions in Buildbarn.
from buildbuddy.
I've attached a PDF of the browser page, there's quite a bit of useful information provided,
Buildbarn Browser.pdf
Some of the data is quite specific to a buildbarn execution platform such as the Execution metadata and resource usage.
from buildbuddy.
Hi! I'm one of the original designers of the BEP. We were given per-event, per-stream, and company-wide size restrictions for the amount of data that could be reported in the BEP. One of our biggest concerns was that reporting all executed actions would be prohibitively expensive on both the second and third metrics (based on experiments), at least for Google. (Note that this can also affect build latency: uploading a lot of data can take a lot of time.)
The --build_event_publish_all_actions
option enables reporting of all actions in the BEP, but it'd caution to closely watch the amount of data generated for this reason.
from buildbuddy.
Bazel now sends that additional metadata.
from buildbuddy.
Did some more digging here.
The additional metadata that Bazel now sends is with GRPC requests to the cache / RBE server (Buildbarn in this case), and are still not included in the BEP (which is what BuildBuddy receives). This makes is it difficult / impossible to show this data for the configuration described (using BuildBuddy for BES, but Buildbarn for caching / RBE) without further changes to the BES (since BuildBuddy servers never receive this additional metadata).
In the scenario where you're using BuildBuddy for both BES and caching / RBE - we have much more flexibility. We've made huge improvements since this issue was opened with the addition of the executions tab, which now shows all of the important information from the Buildbarn Browser screenshot including input files, arguments, environment variables, output files, exit code, worker, timeline, stderr/stdout and more!
We'd like to continue to support the BuildBuddy + Buildbarn configuration, and are open to pull requests once the BEP contains enough information to make this possible.
Going to close this issue since we've covered the use-case (viewing action information via web), and because the suggested integration seems to be infeasible given the current state of the BEP.
from buildbuddy.
Related Issues (20)
- [CLI] Queries break for some common attributes HOT 2
- [CLI] Several "too many files open" errors for some builds HOT 2
- Actions using ctx.actions.declare_directory() are never cached HOT 2
- Non-root user in buildbuddy-app-onprem HOT 3
- Build Invocation Data not Shareable Across Docker containers even when stored in S3 HOT 4
- Incorrect name and organization when logging in for the first time HOT 5
- Reclient/chromium build support? HOT 1
- BuildBuddy GitHub app: Passes --heap_dump_on_oom HOT 1
- BuildBuddy GitHub app: Container has a version of `ar` without `--output=` flag HOT 2
- `buildbuddy.yaml`: Set default --config HOT 4
- BuildBuddy GitHub app: Submodules HOT 1
- [CLI] `bb login` fails in `git-worktree` linked worktrees. HOT 2
- Show analysis phase errors explicitly HOT 2
- [CLI] bb specific commands don't work when using `.bazelversion` HOT 5
- Feature Request: Show execution log in artifacts tab HOT 3
- Unreadable test result HOT 9
- [CLI] `Gathering metadata for bazel version...` breaks with some `tools/bazel` wrappers HOT 5
- [CLI] `bb login` should be a no-op if the user already has a valid API key HOT 4
- [CLI] `bb login` should say it's going to open a webpage before doing so HOT 2
- [CLI]: bb plugin hardlink does not work in devcontainer's volume HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from buildbuddy.