google / google/perfetto

For Bazel builds, support setting custom execution properties per-target

Open
#913 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
6.5k
Forks
868
Avg merge
2d 1h
Merged PRs (30d)
218

Description

We build Perfetto using the supporting infra in the `bazel/` directory, and use a remote execution backend. For at least one of the targets, we need to set a custom property to allocate more memory for its actions.

The only way we've found at the moment is to set a custom value for [rule_overrides.cc_library](https://github.com/google/perfetto/blob/main/bazel/standalone/perfetto_cfg.bzl#L121), and in our own function, test the value of `kwargs["name"]` and inject the execution properties we want. This works, and we are not blocked.

But, I wanted to raise this in case it is something that could be better supported directly.

Contributor guide

Open the contributing guide

Research direction

Start in bazel/standalone/perfetto_cfg.bzl at rule_overrides.cc_library and trace how target names and remote execution settings reach the Bazel rules. Compare that path with the custom override described in the issue. Done means the supported design for per-target execution properties is defined and validated for the affected Bazel targets.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.