Commit Graph

7 Commits (018e46c03d62b67aa881bc44a9346daa2771ca8d)

Author SHA1 Message Date
Ben Segall e49349becf Mark reclient build metrics with the tool that started reclient
This will allow us to segment siso and ninja metrics for analysis

Bug: b/281504726
Change-Id: If45b272004b236d634c717ea9e28e38e49c6231a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4568610
Commit-Queue: Ben Segall <bentekkie@google.com>
Auto-Submit: Ben Segall <bentekkie@google.com>
Reviewed-by: Junji Watanabe <jwata@google.com>
2 years ago
Junji Watanabe 607284d719 [siso] add autosiso wrappers
Developers will be able to use `autosiso` command to invoke siso builds.
This CL extracts reclient management logic from `ninja_reclient` to be  reused in both Ninja and Siso builds.

Bug: b/278675516
Change-Id: I3e64a3188db184f4d3f851063a0feef7d3a73d6d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4445366
Auto-Submit: Junji Watanabe <jwata@google.com>
Reviewed-by: Philipp Wollermann <philwo@google.com>
Commit-Queue: Joanna Wang <jojwang@chromium.org>
Reviewed-by: Fumitoshi Ukai <ukai@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Joanna Wang <jojwang@chromium.org>
2 years ago
Ben Segall 9e36ef60d0 Add convenience wrapper for reclientreport for autoninja users
This is designed to be called by a developer when they want to submit an reclient bug report.
Developers could just call the //buildtools/reclient/reclientreport binary directly but this wrapper provides an easier way to set the same log flags that are set by ninja_reclient.
I dont think we should bundle this logic into autoninja as this is not required in 99% of builds.

Bug: b/277763387
Change-Id: I0204b6acc22f199b461ef710d0dfd07e05534af7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4414921
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Auto-Submit: Ben Segall <bentekkie@google.com>
2 years ago
Ben Segall 87fa610fe0 Use an md5 hash of the tmpdir for the autoninja reclient pipe on windows
This is required because colons trigger an reproxy bug with named pipes
currently and backslashes are technically invalid for named pipes
https://learn.microsoft.com/en-us/windows/win32/ipc/pipe-names

I considered replacing invalid characters with underscores but that may
just push the problem down the road as it may create overlap between a
directory with underscores and a directory with an invalid charachter
that we replace.

Since windows doesn't treat pipes as files, like linux treats sockets
this naming is arbitrary, it only needs to be consistent and unique
for a given output directory. So md5 is a good solution.

Bug: b/271310759
Change-Id: I45409d7e9dc4cc1d0f056a3de8241ac877e682e0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4300857
Commit-Queue: Ben Segall <bentekkie@google.com>
Auto-Submit: Ben Segall <bentekkie@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
2 years ago
Ben Segall 6a71052c7f Add messages to inform users that reproxy is shutting down
Otherwise there can be a moment at the end of the build where it feels like ninja hangs when you ctrl-c to kill

Bug: b/264405266
Change-Id: Ie67b48cb3ceb624885dc4cf62d5bd631a763ee76
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4286582
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Auto-Submit: Ben Segall <bentekkie@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
2 years ago
Ben Segall c4efd8a7aa Set path based reproxy flags in autoninja to sandbox developer builds
This is being added as per go/chromium-reclient-dev-cfg-op#heading=h.kt0ffeuv1ll4

Bug: b/264405266
Change-Id: I69c6ae2343a206516cb3425300741ede46628ece
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4189202
Commit-Queue: Ben Segall <bentekkie@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
2 years ago
Ben Segall eb2866e654 Create reclient specific ninja wrapper to properly handle reproxy lifecyle
This is required as it is impossible to catch a keyboard interrupt in a
windows batch file and we dont want zombie reproxy instances running on
developer's machines for performance and metric collection reasons.

Bug: b/264405266
Change-Id: I00f036c8f14451cdb1b99a5cad1c2af03dd57d57
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4171506
Reviewed-by: Dirk Pranke <dpranke@google.com>
Auto-Submit: Ben Segall <bentekkie@google.com>
Commit-Queue: Ben Segall <bentekkie@google.com>
2 years ago