Optimize internal ListWorkers calls
tonistiigi opened this issue · comments
Atm. every client.Build
call calls ListWorkers
internally https://github.com/moby/buildkit/blob/v0.13.2/client/build.go#L31 . Buildx makes one such call for build node to determine its capabilities, and another per build request. Docker driver makes additional call to detect Moby snapshotter capability. While the call is fast, it is still unnecessary and could be optimized to avoid that. It also shows up in opentelemetry trace and could be confusing.
Options could be to add some internal caching in buildkit client or allow passing the workers list into Build()
with some option. Avoiding the request for Docker driver likely requires update to driver interface.