102 lines
3.1 KiB
Bash
Executable File
102 lines
3.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -eu -o pipefail
|
|
|
|
resultsRoot=$(readlink -f "$1")
|
|
|
|
echo "[+] Realizing nix closures"
|
|
casync="$(nix-build -A nix-casync)"/bin/nix_casync
|
|
massRebuildBeforeClosure="$(nix-build -A massRebuild.before)"
|
|
massRebuildAfterClosure="$(nix-build -A massRebuild.after)"
|
|
nixpkgsChannelsStableClosure="$(nix-build -A nixpkgsChannels.stable)"
|
|
nixpkgsChannelsUnstableClosure="$(nix-build -A nixpkgsChannels.unstable)"
|
|
firefoxBumpBeforeClosure="$(nix-build -A firefoxBump.before)"
|
|
firefoxBumpAfterClosure="$(nix-build -A firefoxBump.after)"
|
|
gimpBumpBeforeClosure="$(nix-build -A gimpBump.before)"
|
|
gimpBumpAfterClosure="$(nix-build -A gimpBump.after)"
|
|
emacsBumpBeforeClosure="$(nix-build -A emacsBump.before)"
|
|
emacsBumpAfterClosure="$(nix-build -A emacsBump.after)"
|
|
openmpiBumpBeforeClosure="$(nix-build -A openmpiBump.before)"
|
|
openmpiBumpAfterClosure="$(nix-build -A openmpiBump.after)"
|
|
|
|
function collectMetricsForClosure () {
|
|
echo "[+] Collecting Casync-related Metrics"
|
|
./casync "${casync}" 65536 "${closure}" "${resultsDir}"/casync.csv
|
|
echo "[+] Collecting NAR-related Metrics"
|
|
./nar "${closure}" > "${resultsDir}"/nar.csv
|
|
echo "[+] Collecting file-related Metrics"
|
|
./file "${closure}" "${resultsDir}"/file.csv "${resultsDir}"/file-xz-compressed.csv
|
|
}
|
|
|
|
# Before mass rebuild
|
|
resultsDir="${resultsRoot}"/before-mass-rebuild
|
|
mkdir -p "${resultsDir}"
|
|
closure="${massRebuildBeforeClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# After mass rebuild
|
|
resultsDir="${resultsRoot}"/after-mass-rebuild
|
|
mkdir -p "${resultsDir}"
|
|
closure="${massRebuildAfterClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# Channel stable
|
|
resultsDir="${resultsRoot}"/nixpkgs-stable-channel
|
|
mkdir -p "${resultsDir}"
|
|
closure="${nixpkgsChannelsStableClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# Channel Unstable
|
|
resultsDir="${resultsRoot}"/nixpkgs-unstable-channel
|
|
mkdir -p "${resultsDir}"
|
|
closure="${nixpkgsChannelsUnstableClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# Before Firefox Bump
|
|
resultsDir="${resultsRoot}"/before-firefox-bump
|
|
mkdir -p "${resultsDir}"
|
|
closure="${firefoxBumpBeforeClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# After Firefox Bump
|
|
resultsDir="${resultsRoot}"/after-firefox-bump
|
|
mkdir -p "${resultsDir}"
|
|
closure="${firefoxBumpAfterClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# Before gimp Bump
|
|
resultsDir="${resultsRoot}"/before-gimp-bump
|
|
mkdir -p "${resultsDir}"
|
|
closure="${gimpBumpBeforeClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# After gimp Bump
|
|
resultsDir="${resultsRoot}"/after-gimp-bump
|
|
mkdir -p "${resultsDir}"
|
|
closure="${gimpBumpAfterClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# Before emacs Bump
|
|
resultsDir="${resultsRoot}"/before-emacs-bump
|
|
mkdir -p "${resultsDir}"
|
|
closure="${emacsBumpBeforeClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# After emacs Bump
|
|
resultsDir="${resultsRoot}"/after-emacs-bump
|
|
mkdir -p "${resultsDir}"
|
|
closure="${emacsBumpAfterClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# Before openmpi Bump
|
|
resultsDir="${resultsRoot}"/before-openmpi-bump
|
|
mkdir -p "${resultsDir}"
|
|
closure="${openmpiBumpBeforeClosure}"
|
|
collectMetricsForClosure
|
|
|
|
# After openmpi Bump
|
|
resultsDir="${resultsRoot}"/after-openmpi-bump
|
|
mkdir -p "${resultsDir}"
|
|
closure="${openmpiBumpAfterClosure}"
|
|
collectMetricsForClosure
|