Open sluongng opened 4 months ago
I'd also be interested in a generic repeated field in RequestMetadata
like this proposal for similar reasons around helping with request attribution.
Would you like me to push a PR proposing this, or are you planning on doing that sometime?
I was hoping to get some feedback from current maintainers/contributors first to see if this is the best approach. But forgot to bring this PR up in recent meetings.
If you want to send a PR, please go ahead. 🤝
I've considered adding something like this at several points in the past, so I'm generally supportive. Given that the field is in an optional metadata message, it's important that it not be used for anything functional (e.g., scheduling, cache key, etc.) but it could be quite useful for various metrics and analyses.
One thing to consider is whether simple string tags are sufficient, or whether we might want key-value pairs. Or both.
Issue Description
Background
This issue is a follow-up to Bazel Issue #21332.
Summary
In some setups, it is beneficial to provide metadata about the target being built to the Remote Build Execution (RBE) service. This metadata can help in identifying the "ownership" of a specific action, target, artifact, or test. If there are anomalies during the build, the build service can use this information to alert the appropriate on-call rotation. For example, in Buck2,
oncall()
annotations at the package level in BUCK files serve this purpose (example).Use Cases
Proposal
To support these use cases, I propose to add the following to the specification:
By adding
target_tags
as a repeated string field in theRequestMetadata
message, multiple group identifiers for the target can be specified.