bazelbuild / bazelbuild/bazel

Allow for multiple endpoints for Bazel Event Service

Open
#10,908 11 comments 23 reactions 0 assignees View on GitHub
not stale P3 team-Core type: feature request
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.