Allow for multiple endpoints for Bazel Event Service
- Dominant language
- Java
- Stars
- 25.8k
- Forks
- 4.6k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 75
Description
### Description of the problem / feature request:
Bazel allows configuring endpoint for the Bazel Event Service through `--bes_backend` command line option. We need it to allow for multiple endpoints, so that events stream is sent to all of them.
### Feature requests: what underlying problem are you trying to solve with this feature?
While in the past BES was underutilized now there are more and more services that use it to provide some kind of visibility into the build process. Examples:
- TeamCity plugin for Bazel
- https://github.com/buildbuddy-io/buildbuddy
- https://build.bzl.io/
Unfortunately at this time only one endpoint can be configured for BES, which (probably) means we only can use one of those tools at the time, while we would definitely prefer for several of them to work at the same time. Unless there is a workaround I don't know about it would be great if Bazel would allow configuring multiple BES endpoints, so that all interested listeners could be plugged in simultaneously.
### What's the output of `bazel info release`?
2.2.0
Contributor guide
Research direction
Start by locating how the --bes_backend option is parsed and where Bazel Event Service streams are managed. Determine how multiple configured endpoints should receive the same events, then add or update coverage for that behavior; done means all configured endpoints receive the event stream simultaneously.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100