Verified Commit 0ed1c61f authored by nl6720's avatar nl6720
Browse files

Add package count, El Torito EFI image size and initramfs image sizes to GitLab metrics

Metrics are now collected in build-inside-vm.sh since the files in question are in the work directory.

Implements #101 and #111.
parent 8bf95d37
Pipeline #6817 passed with stages
in 39 minutes and 29 seconds
......@@ -23,7 +23,7 @@ shellcheck:
script:
- ./.gitlab/ci/build-host.sh
after_script:
- echo "image_size_mebibytes{image=\"${PROFILE}\"} $(du -m output/${PROFILE}/*iso)" > metrics.txt
- cp -- "output/${PROFILE}/job-metrics" metrics.txt
parallel:
matrix:
- PROFILE: [baseline, releng]
......
......@@ -36,6 +36,27 @@ create_zsync_delta() {
fi
}
create_metrics() {
# create metrics
{
printf 'image_size_mebibytes{image="%s"} %s\n' "${1}" "$(du -m "${output}/${1}/"*.iso | cut -f1)"
printf 'package_count{image="%s"} %s\n' "${1}" "$(sort -u "${tmpdir}/${1}/iso/"*/pkglist.*.txt | wc -l)"
if [[ -e "${tmpdir}/${1}/efiboot.img" ]]; then
printf 'eltorito_efi_image_size_mebibytes{image="%s"} %s\n' \
"${1}" "$(du -m "${tmpdir}/${1}/efiboot.img" | cut -f1)"
fi
# shellcheck disable=SC2046
# shellcheck disable=SC2183
printf 'initramfs_size_mebibytes{image="%s",initramfs="%s"} %s\n' \
$(du -m "${tmpdir}/${1}/iso/"*/boot/**/initramfs*.img | awk -v profile="${1}" '
function basename(file) {
sub(".*/", "", file)
return file
}
{ print profile, basename($2), $1 }')
} > "${output}/${1}/job-metrics"
}
run_mkarchiso() {
# run mkarchiso
# $1: template name
......@@ -43,6 +64,7 @@ run_mkarchiso() {
./archiso/mkarchiso -o "${output}/${1}" -w "${tmpdir}/${1}" -v "configs/${1}"
create_checksums "${output}/${1}/"*.iso
create_zsync_delta "${output}/${1}/"*.iso
create_metrics "${1}"
}
trap cleanup EXIT
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment