Add mako Docker image for performance testing#13159
Add mako Docker image for performance testing#13159saintstack wants to merge 1 commit intoapple:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Adds an opt-in Docker image target for the mako benchmark so it can be deployed in Kubernetes-based performance/regression testing flows, enabled via BUILD_MAKO=1.
Changes:
- Add a new
makostage/target topackaging/docker/Dockerfilethat packages an architecture-specificmakobinary. - Gate inclusion/build/push behavior for the
makoimage inpackaging/docker/build-images.shbehindBUILD_MAKO=1. - Strip debug symbols for the
makotarget in the C bindings CMake build.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| packaging/docker/Dockerfile | Adds a new mako image stage that installs mako and runs it as fdb. |
| packaging/docker/build-images.sh | Adds BUILD_MAKO gating to include mako in website prep and image build list. |
| bindings/c/CMakeLists.txt | Strips debug symbols from the mako target during packaging. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| chmod +x /usr/bin/mako && \ | ||
| rm -rf /tmp/* | ||
|
|
||
| RUN mkdir -p /var/log/fdb-trace-logs |
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Add an opt-in mako Docker image target to the build system. The mako benchmark binary is packaged into a minimal container for use in k8s performance regression tests. Build with BUILD_MAKO=1 to include it. - Add mako stage to Dockerfile - Add mako to build-images.sh (gated on BUILD_MAKO=1) - Strip debug symbols from mako binary
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
| fi; \ | ||
| cp "/tmp/mako.${FDB_ARCH}" /usr/bin/mako && \ | ||
| chmod +x /usr/bin/mako && \ | ||
| rm -rf /tmp/* |
There was a problem hiding this comment.
It's worth noting that this rm doesn't save any space, because these files were added in the previous layer (directive). But I don't see a better way 🤷
|
|
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
|
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
|
RandomSeed="2790266424" SourceVersion="248a8a68da91efb45ac1e66f1387dc7b435f6917" Time="1778181173" BuggifyEnabled="1" DeterminismCheck="0" FaultInjectionEnabled="1" TestFile="tests/fast/RandomUnitTests.toml" Unrelated for sure but seems to be common failure. Will try and address elsewhere. |
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Add an opt-in mako Docker image target to the build system. The mako benchmark binary is packaged into a minimal container for use in k8s performance regression tests. Build with BUILD_MAKO=1 to include it.
(Mako is FDB's native C benchmark tool. It's a simple load generator that connects directly to FDB using the C client library and runs configurable workloads — random reads, writes, inserts, range scans — against a keyspace. It's built from source in bindings/c/test/mako/. Compared to YCSB (Java-based), mako is lighter weight, lower overhead, no JVM, and already part of the FDB codebase.)