Tracing: measure IO during each job

Using iostat from package sysstat
This commit is contained in:
Thomas Lavocat 2021-10-07 17:31:34 +02:00 committed by Achilleas Koutsou
parent 8d67b90a2e
commit d26a93319c
3 changed files with 38 additions and 0 deletions

View file

@ -17,6 +17,7 @@ stages:
paths: paths:
- journal-log.gpg - journal-log.gpg
- ci-artifacts - ci-artifacts
- iostats.json
when: always when: always
.terraform: .terraform:
@ -44,7 +45,9 @@ RPM:
rules: rules:
- if: '$CI_PIPELINE_SOURCE != "schedule"' - if: '$CI_PIPELINE_SOURCE != "schedule"'
script: script:
- schutzbot/start_iostats.sh
- sh "schutzbot/mockbuild.sh" - sh "schutzbot/mockbuild.sh"
- schutzbot/stop_iostats.sh
interruptible: true interruptible: true
after_script: after_script:
- schutzbot/update_github_status.sh update - schutzbot/update_github_status.sh update
@ -76,7 +79,9 @@ Container:
rules: rules:
- if: '$CI_PIPELINE_SOURCE != "schedule"' - if: '$CI_PIPELINE_SOURCE != "schedule"'
script: script:
- schutzbot/start_iostats.sh
- sh "schutzbot/containerbuild.sh" - sh "schutzbot/containerbuild.sh"
- schutzbot/stop_iostats.sh
interruptible: true interruptible: true
parallel: parallel:
matrix: matrix:
@ -100,7 +105,9 @@ Prepare-rhel-internal:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"'
script: script:
- schutzbot/start_iostats.sh
- schutzbot/prepare-rhel-internal.sh - schutzbot/prepare-rhel-internal.sh
- schutzbot/stop_iostats.sh
interruptible: true interruptible: true
artifacts: artifacts:
paths: paths:
@ -125,8 +132,10 @@ Base:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"'
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/base_tests.sh - /usr/libexec/tests/osbuild-composer/base_tests.sh
- schutzbot/stop_iostats.sh
interruptible: true interruptible: true
parallel: parallel:
matrix: matrix:
@ -181,8 +190,10 @@ Regression:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"'
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/regression.sh - /usr/libexec/tests/osbuild-composer/regression.sh
- schutzbot/stop_iostats.sh
interruptible: true interruptible: true
parallel: parallel:
matrix: matrix:
@ -234,8 +245,10 @@ OSTree:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"'
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/ostree.sh - /usr/libexec/tests/osbuild-composer/ostree.sh
- schutzbot/stop_iostats.sh
interruptible: true interruptible: true
parallel: parallel:
matrix: matrix:
@ -252,8 +265,10 @@ New OSTree:
stage: test stage: test
extends: OSTree extends: OSTree
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/ostree-ng.sh - /usr/libexec/tests/osbuild-composer/ostree-ng.sh
- schutzbot/stop_iostats.sh
parallel: parallel:
matrix: matrix:
- RUNNER: - RUNNER:
@ -265,8 +280,10 @@ OSTree simplified installer:
stage: test stage: test
extends: OSTree extends: OSTree
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/ostree-simplified-installer.sh - /usr/libexec/tests/osbuild-composer/ostree-simplified-installer.sh
- schutzbot/stop_iostats.sh
parallel: parallel:
matrix: matrix:
- RUNNER: - RUNNER:
@ -278,8 +295,10 @@ OSTree raw image:
stage: test stage: test
extends: OSTree extends: OSTree
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/ostree-raw-image.sh - /usr/libexec/tests/osbuild-composer/ostree-raw-image.sh
- schutzbot/stop_iostats.sh
parallel: parallel:
matrix: matrix:
- RUNNER: - RUNNER:
@ -304,8 +323,10 @@ Integration:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"'
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/${SCRIPT} - /usr/libexec/tests/osbuild-composer/${SCRIPT}
- schutzbot/stop_iostats.sh
parallel: parallel:
matrix: matrix:
- <<: *INTEGRATION_TESTS - <<: *INTEGRATION_TESTS
@ -347,8 +368,10 @@ API:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"'
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/api.sh ${IMAGE_TYPE} - /usr/libexec/tests/osbuild-composer/api.sh ${IMAGE_TYPE}
- schutzbot/stop_iostats.sh
parallel: parallel:
matrix: matrix:
- <<: *API_TESTS - <<: *API_TESTS
@ -366,8 +389,10 @@ libvirt:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8.6-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"'
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/libvirt.sh - /usr/libexec/tests/osbuild-composer/libvirt.sh
- schutzbot/stop_iostats.sh
interruptible: true interruptible: true
parallel: parallel:
matrix: matrix:
@ -386,8 +411,10 @@ RHEL 9 on 8:
rules: rules:
- if: '$CI_PIPELINE_SOURCE != "schedule"' - if: '$CI_PIPELINE_SOURCE != "schedule"'
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/koji.sh - /usr/libexec/tests/osbuild-composer/koji.sh
- schutzbot/stop_iostats.sh
interruptible: true interruptible: true
variables: variables:
RUNNER: aws/rhel-8.5-ga-x86_64 RUNNER: aws/rhel-8.5-ga-x86_64
@ -421,8 +448,10 @@ Installer:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9\.[0-9]-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9\.[0-9]-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8\.[0-9]-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"' - if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-8\.[0-9]-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "8"'
script: script:
- schutzbot/start_iostats.sh
- schutzbot/deploy.sh - schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/installers.sh - /usr/libexec/tests/osbuild-composer/installers.sh
- schutzbot/stop_iostats.sh
interruptible: true interruptible: true
parallel: parallel:
matrix: matrix:

4
schutzbot/start_iostats.sh Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
sudo dnf install -y sysstat
iostat -y -x -o JSON 5 > iostats.json &
echo "PERFLOG $(date --rfc-3339=seconds) starting iostat"

5
schutzbot/stop_iostats.sh Executable file
View file

@ -0,0 +1,5 @@
#!/bin/bash
killall -s SIGINT iostat
sleep 10
killall iostat || true
echo "PERFLOG $(date --rfc-3339=seconds) stopping iostat"