diff --git a/.pipelines/templates/.builder-release-template.yaml b/.pipelines/templates/.builder-release-template.yaml index eaf55af0183..e001a39de90 100644 --- a/.pipelines/templates/.builder-release-template.yaml +++ b/.pipelines/templates/.builder-release-template.yaml @@ -218,6 +218,25 @@ steps: ${CONTAINER_IMAGE} make -f packer.mk test-scan-and-cleanup condition: always() displayName: Test, Scan, and Cleanup + - bash: | + SIG_IMAGE_NAME="$(cat vhdbuilder/packer/settings.json | grep "sig_image_name" | awk -F':' '{print $2}' | awk -F'"' '{print $2}')" && \ + CAPTURED_SIG_VERSION="$(cat vhdbuilder/packer/settings.json | grep "captured_sig_version" | awk -F':' '{print $2}' | awk -F'"' '{print $2}')" && \ + BUILD_PERF_DATA_FILE="vhd-build-performance-data.json" && \ + docker run --rm \ + -v ${PWD}:/go/src/github.com/Azure/AgentBaker \ + -w /go/src/github.com/Azure/AgentBaker \ + -e SUBSCRIPTION_ID="${SUBSCRIPTION_ID}" \ + -e SIG_IMAGE_NAME=${SIG_IMAGE_NAME} \ + -e CAPTURED_SIG_VERSION=${CAPTURED_SIG_VERSION} \ + -e GIT_BRANCH=$(Build.SourceBranch) \ + -e GIT_VERSION=$(Build.SourceVersion) \ + -e BUILD_ID=$(Build.BuildId) \ + -e JOB_STATUS=$(Agent.JobStatus) \ + -e ARCHITECTURE=${ARCHITECTURE} \ + -e BUILD_PERF_DATA_FILE=${BUILD_PERF_DATA_FILE} \ + ${CONTAINER_IMAGE} make -f packer.mk evaluate-build-performance + condition: always() + displayName: Check Build Performance - task: Bash@3 inputs: targetType: 'inline' @@ -255,12 +274,6 @@ steps: artifactName: 'vhd-image-bom-${{ parameters.artifactName }}' targetPath: 'image-bom.json' displayName: publish container image list - - task: PublishPipelineArtifact@1 - inputs: - artifactName: 'build-performance-data-${{ parameters.artifactName }}' - targetPath: 'vhd-build-performance-data.json' - displayName: Publish Build Performance Data - condition: succeeded() - task: CopyFiles@2 condition: and(succeeded(), eq(variables.DRY_RUN, 'False')) inputs: diff --git a/packer.mk b/packer.mk index 7978c421a7a..27cd7869529 100755 --- a/packer.mk +++ b/packer.mk @@ -103,6 +103,9 @@ scanning-vhd: az-login test-scan-and-cleanup: az-login @./vhdbuilder/packer/test-scan-and-cleanup.sh +evaluate-build-performance: az-login + @./vhdbuilder/packer/build-performance/evaluate-build-performance.sh + generate-prefetch-scripts: ifeq (${MODE},linuxVhdMode) @echo "${MODE}: Generating prefetch scripts" diff --git a/parts/linux/cloud-init/artifacts/cse_helpers.sh b/parts/linux/cloud-init/artifacts/cse_helpers.sh index 646e7689afd..acb2d0d7b78 100755 --- a/parts/linux/cloud-init/artifacts/cse_helpers.sh +++ b/parts/linux/cloud-init/artifacts/cse_helpers.sh @@ -413,7 +413,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -429,77 +428,39 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - # use nameref variable to hold the current section's array for later reference - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - # calculate total time elapsed for section - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - # add current section benchmarks to relevant section array - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) # use this array to maintain order of benchmarks # reset timers for next section section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - # use nameref variable to reference overall_script section - declare -n script_stats="${benchmarks[last_index]}" - - # create script object from data held in the section array for the overall script - # each section object within the script will later be appended to this script object - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - # iterate over the benchmarks array and assign a nameref variable to the current section array in order to operate on the data held within it - declare -n section_name="${benchmarks[i]}" - - # create section object and append to script object - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + # create script object, then append each section object to it in the for loop + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData index 92adb3a7c24..4afd887918e 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Containerd/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index 2303bc2d65e..63f67571597 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData index 2303bc2d65e..63f67571597 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+CustomKubeletConfig+DynamicKubeletConfig/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData index dde0d93242e..79d5114ae9e 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=false/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData index dde0d93242e..79d5114ae9e 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Disable1804SystemdResolved=true/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData b/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData index 92adb3a7c24..4afd887918e 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+Docker/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData index 5c4c80eb514..a473c32117e 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+DynamicKubeletConfig/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData index 6a7d9e490fc..8d6de017510 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+EnablePrivateClusterHostsConfigAgent/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData index 06a2e5bbdf0..f0036d4bb26 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+GPUDedicatedVHD/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData index 92adb3a7c24..4afd887918e 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S115/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData index 6a7d9e490fc..8d6de017510 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S117/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData index 6a7d9e490fc..8d6de017510 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/9RbfXubuJb/n09xhtIbexps46Rpxhl6S2ySsvHbAk6nm2Z5CMg2DQYKOG0m9XffR0KA8EuadmZnu7nP7WCdn47Ou46E/eyX5o0XNG/sZM6pum4Z7w1THXTNvmWYim5aZ4rWlw+B0Lr90aRnaUPNtExtoI4mpvwyo5xpfdV6p5jdtwXlKKO8HfV71julrw0nfyjn6tCUX2UEXe2riqFuARxnAGVsWtrQMJV+v2D6W0bqjboXqr5Bbbcq5N7o3bA/UnolXarQL9T3WzDtCgYLgXEF+aBCZmzUpkYajE7fk2l9zSjt1KaGGhjW+fh8x9JHDIcN3ajZuqOhqWhDVe9tQqjh9Mmwu0mkprs4NjBgqA3PC9pBq6RtSHVAjXYxOVVxWAxHpnU2mgx78gE1lTY43zLtoJzWV03WUgeHVS8Ozq3xhBH14OWGql1zG+5oE6drWMZN6G7rkdBllDreQF6quqGNhpY2vFT6Wk8+oKbsDrVNvQ+lwtFjfdSzeurpFlB7EzS+OLeUXo8mHLXeSFcYl6i6PtLlQ2qeLFMZRcjE4zyGemN9dKrSUSrxaGKeYi2xdsOM9JLxvTLWLEPVL1WdBUhbAb2hYfVHo4vJmMLaW2HKf010dROcB4diKttz4ajFINaT8EhiiOuBfkQFuXzbW/ft0WZgbSz8qsUk0SaVrtydGOZoYBmqonffWr3RQNGGRqbbMWVwPp5szj8+YIi6hiOLzYzjw03yun7HLxmMeql1VWvcn5xrwwqjoxKkDc9Glj4aWN2Rrk/GptqTj2k6GOd/7Fznt9YmhlnhN6ms0j1F65fe+Y2p35NxTzHVkpRnjqHiwL/USF4ZXV0bm8RPuqr0Sk5Sq8UsgsvpZHyuKz2VQTBijCf6OQ14qdUukgQXBF3FbpClFrV/VzMsxTC086Glj0amNX4nS5K0QSPxM1b1gWZgSWVJomzHCild3dH4PQHJksRyHo/7762xYhjvRjpJtjPtXJaktcQt9pARTQtJyitaVsY2wkeSXlUAo7GqKya2YVYaJCmvXqa+hfgbcJmxSFIaptK9sM5V01L0gWWOLtShLOVb6DpkqJrvRvoF1WWSMZalfEddhxuT06FqWmNdPdP+kCW8qRZJeTrR+nktk/C+mBnlnTK2urqKwyUzRr4rsRRtaEzOzrSupg5JRFxYxljpqrKEdymCNtW+Oh7pZq9SNmUpr3MlPQ/4jJwropvamdLF+5WuKgO8S+Z8ZCmvcVtAlJks4dKWNT6mOcZB/sd7q6tgu12quilLeWGjmYFJqm4asnRUNCdUbEPtYqOafcM6HY1Mw9SVcbGdqn+o3Tzvi+g4yh3c04xTpa9a2thUTvuqIUu4rGU1U58YJuawGVx5cetpBp5lGcZbWXqVR7yuDRT9vTXUupY2Zoqq9IpGvjY0VN20tEHPsHTVMHGI4ujTJ1iSoTmyBsrwvK9aRCZZenX41HlnWt9U9WIeTaMeNoS6Y94ZLnhr6x09dd7aeq+Y4NVV7AtLV/9zoulqT27nJWo4IkVBOVcNaph2XpuMoTI23o6Kasg2ja08M8a6domJeP/ErQCOynZervAgG67t1mGeNkW7PlCMC8qU0rq62lOHpqb0s2Lb29oTt/IMxO3MeqvTbh0Bx3lTmHqBC02UOiCm9xGCKYiBvUDA/yrGyEd2gngQo9gLUhA/Lb0U2q+bLrprBkvfh68wi1EE4ifYa+ydQDpHAQcAMDJkoZaEcQpiTJg3C254jv35FvYWdurMa0JrH5r/XdN6Vl+7UOWaE8YoTOpftZ5ca/xarwvNfbDr8ACZCGm4jCIU1+yr9jXYVwfX9RNAX7wUVnt1unKu6ndKUBjouxeGr5DGILqwx+/VOeQniEiCnHkI/NrSQZjCNFwGLs9NPY6bnE6G5sQaGdZQGagyn33muYGi4y6mJNCBkkI6pHUyHuQ52s/LzWUSN/3QsX1yELxd3iAn9blsc8qoeNwNnVsUc+hLhK1Fmo9LmRceylYlt2hHXvEVnGqY7CrBned6Nje81Hqakm+CuTfajeNGS5S4tWGpIR00JFHKZxUdHO7TcCgXSP6gcdRoFQLkq2QSagPlXLWMt0oueTHACr1tjqmcF9perkThYQfjR7nI/MKJGwvPicMknKYNJ1w07dsE/1+cRctiKt69s84tS/nuoCfzThpDvAxAxGl25/lohlwQxXgBohigVJyHSQqi+NlL52KQQOS5nWYUh05TagZJM/IweBEucZDeR0i+8QJ3P4kduRlGaXMWLffdJJWbiyD7EEapFwaJHGPcYzNthwDL2flAhUOhGvXrhnZZeG1TMECpTHWLPJc+3kEudicXuRikAnRYaYiheA53iV2l+1a1epouN+/suOnYzhw1bTwvdubeHUqaHO74lCFuMRhwHIYpxmUTOPVSHZr4VHN+TpqEnJ8fzpr2n8sYNQeFnxX8uaF+SVGQYGka3WWShgvDib0obaI7FKRJk+tO9D4+oY0nptxMF1HTWca+dYfimzBBjXCZclyM0vjeWbiWN7WmtucvY1SrwwMpJJjmoUQWpBP4bHuplfgIRbLQPoHUW6BwmcrCwQkkc2+awr/+tfZAWEzDGDzwAhBqCfoEEgiUaf0E3JBA8B9lB0L+wAsPb1Y85nUTI/sWvn6FDwXam8IVCB6I6FPBD66ZXSD/I5VQ/YKcZYpc+MALbz7weCJeJTmpQGOULuMApGKwKKf5H1EehNIQBXXqkUc3DJgCvHvZVWn0IPHD8HYZFSZnzSwxZsYmD1Pbt1jDx8gJY1cWDsnUJLXjlNBloebaKYIXz5Nsb/o893wEabxEFavnq4NYcM3tLxIR5Ra2L15khyecZRyjYMeqpatqNRYIIiNrvQ7iDIFQ0W63M3kT45h4qUyLEc4kd/+7NMNRj1z+8WigLt4dB4XzHzVJpkMRGt8lZhh/y5AJcsLATfhKiJV5bQWhlaR2mvwMCY7z+6+m99+Vs4y1Zii1Uju+sX2/sFJqx9ZjlsrgxFLL2M/TMXO18MDMXuUG53eYjsGumc+OQUz/nBIIXu0ppmO4/aD5cmcdtXBY+yBOE6N/BwJ5DkthXoPAbDXQfv0vqcIHi3UFwr/hFxlacL1NGJI6dlphVAEwGfhDniVb39Tzy+2NjDwxBfDEyE7nsnBIvfyy4mWW1zfdzIKrfr66AnEKQr4aXF8Xjt7uY5bVX3RykZpbXV2IhJ2LDx4IVZ1eHs5+FtcTwDSMq15/xOGlkw8INLLvkEt7UtJ/OX64dEUv8FIRY5MGQRBsdhw9+4SDIeez4kEgCOxE6ojW91TNguneM3V0tsd44fGo+CeKJkHidtoDvonFa7p8KWCZHKXMr19Tc3ArLrlPUrRwUhy8ZA/7vj0JkjsnsPEGe/iXdqFCDHBttAgDfFwObfcpE6jcIFBR/oHNrFgb7+LLpFxaFINQjOwZikGspt/HcBkHto8nictiwg+lU+myJA2j/3f+wkL/k876bqu6XmLfPK1Q/VSGpXL/nLbNKgxW5fvs+leNSRJOzIz08xjkDsWJFwbWLM3DLEUJPmzXyF3jFPaeJx+CPeCFNzx8BXqLeQlfYY5sF8QApDoPsgy8IPHciiujVw1wDCiBa1SK+UaZB6nVgpdw0AIh00dXs7trw1TMiSEL/67OK0qdVC1y8BrW7kYEScywDT+ccaWBqwuAGCDch6yZmbZxEjjh0nfJZekNyg5X7NGw4glqWm8Kv8CW0xZIbaxp+yWjDAqyTJGetHyGduHmvmSxWxbWG70sJYk7mFLtTRlZfC9JxWXgpQmI4nTp43i1KzfrvCA1EhTfeQ7i1wSu7gWQaypIOMR3GTOMItaYG5XvSWwolvKheqPFHYq74SKymdur/F5dkYVa1ongvtXBZ2sX+Bc87rSlegV6WkDbu6BXV7jDK3ivaDoUI6crnnbtlYYPpxJyC/YMA2DnZjf6e/h/OA/zFLyEbPG5N5ujJL3M0lgWatqZIRdnkGyNFV+ILhAm4rT9iOjCQ5Xpapv0RaytODf8HOBy2kM349uZGZ6xvfX44jx7L0CTG38uXoq0i6Gepqtdc6S/zwvt4tb1YhAjECrkrAlfJnMXhIcKZVVU8o2swzF01GqBHaXiDKWQC0xZYPFWcvZMRVv9mi0URrgztaOU3ALk86hyj+wa1VuREw6AvJXAU2RsP6pB5aYYBziTwU/Yadzodgai6ITB1JthTUUbJ24YO4gMumhKcMWpByvih85tQoZzc4gh9KLbWaczyi7TOx2Z5RL6bmkx8X79Hpb71sZFlJZOyBa1uS2dZEWTnh+wwdfsQB8xV27FzVDaHU+U2JkXEWbHzlwWasus7V3UC4GuQHjAxP39FclIG384OuTxAmuUeIHHN8+iWR5lZG5jn6XUhZtTSe3xEkUfHB2yJRaLUitFr7OLbl9T2rFai6lxfjhLrDS0sqv9Yr0s0lI7uSWRWd7LZYQMjXN0aFeuI58fDOscAyRbncleWfLPz+C52Xh+MOQzK+NIyNMu36fpKoG7eyrBfUzCwErS2AtmslCDj59wL1G2QqJoxzPAPJLUXkQApJzlIq34DegoQrGN41dzMZQKsAVIqxoZ4aVG+2ATYtrJLbYOZMtiW25hpGJL9tEd8gF4LZiG8YIIYPub2AFKEnuGskXxtuSjFLkdEH7dwXfsuQTb2kE3t9H3HgqDdUAonvdZ43RAYD7t5+bogECf9gv1MQ/6uM9o2wGh/LCfq9YBgT7tFxrkyLHn7hdi54Om5672iOjMRbjwwMTFCl6D8LD5DmwlPFSjeNXAs7iyFPG4XPDwi0wMVM0wtqAwDcMctxRWcutFVvbu2HJjD3fHZeeKa+UX8ngTuveyUCuvxUB8C/wApbZrp3aHvFfhSXsaxeGXe+B/5YGfp2nUaTalo98a7ZeHDfrf5oLOanpBktqBg/5tR55I+3K53WpLYqsttiSac0yq/YiqRJFS17z94AWsEu4TcCIi2Gs44SJapqiR2rOk7yUpfIWFHdUS5CMnrTVItf1KDgs13rj1ovNo2SMG07Aavs+fAO/x9Xr9qnXduLP9JYJmE/ip7SeIL2YSQ2XIPfZ9iMDISI4VXsb1Pz5Rd4TLNMLHshqWN7cW5kCMIgbACxmkahPKnZI4psTSMj0ySAu09qWH9SqdLN0QUjeYApULb4wfP+FNMVvh4yf4bCc5lWR6VdKN7SRvMnKGL0GCo9aPMCVezqKac+bIubXsOLbvrcT7M+/LXOT4Nm4YAsho2YWBVDQq5QxZeHhWYq7eXK84dnvNYSsQZ+n6da5vJ1ghF32RhVoNNjiBCBLU66wb2A6IqODYUbqMkXWDAme+sONbqgLOxhdfCoFTL/WRTA6hUHx4IA/N5tVVJ4lsB3Wur5vWahtCpOPFKskLuSYQIhZv3YwMDncTD9RBp+UowYKXAFpE6T1/QhU7gVXV/PnLuwSR7xBgkUreV6UBr4l4ma5eYk29wPaLScJDuyOSzFpxBeqRt47FHk2IZI8oEW87zwed50a9cDMvrC9Ijgk4ddfcXfYNLOOEfAPBWhvfOmMNjA+In+3UmbMRsmuVTLSnLlNBs+tMvdKErjedohgFDrK8wKLvUuXHX7mW5vXtKEGuNQ+XMZkkbGXXPDhqtbZMW3jBMkVk4o6Zz8nM5tG22YysOybTafSWR7xjvkxgUS7AP2+13U7xDw9CRanyIxW2HKCrYFOuRTjOqzUf1bejKvG5A7MpNGkvlwHZrDfSiyOFY6vr11JkRzhtSROu6AxWHBfFoYOSpKxWyXq5+t8rJWXqpMk36ggWKEOHNx+Rk++jAe0wKS377qVQu7ETRJ6FVp2vQtbMQ5p0Royr1vUqn1Fx5wZQKoHbAnEN3cbovYeawEha78ADH96hGDcf+LmUje/Ajiq0D3wuFwZVZNwHflMUjNocXa1We0zgVWR9c80GJEvi6DG/VvPk1gl4vwsPzxin0Q3yBLwXslRnL5iz0z/jeRqsZBevet7LHJ5PypHb3c6wgU02a6htrmcYPO56Fvht17Po0vXMaH2Lv7eL+bc5fK/OOuORbMJHkyodt7fsZ54FVhyEkZUB/ikZuldlD1+hccVmyjW8kGGNMVWH/EODmLU6CWI2jBkil9/fcLBRvDo8V7b0VZ2zo0YXGhxe9eMn4BtYrqsq7poH4aH8QcdY1c+snmIq+GyYLiJy8MMd8uKu/Lh9Aqm9i9CFVy9f7oaUpfwZbUWjOIxQDPm3pvPjGsncdI4gsp1bfLTHPnAhDMhgmIAduBAm9FDNPUONWWMfzsIY07LvVoN03Ggd7uM2K52jGOEabxcL8bF03DrkwUVTL0AueAHgM1kY4JMvUXQ/u1/DItPfuUIa5vO4ZyPM9LOXoA0E3RV5LlNRz1Zcu0GieuU9dT4c4r2lXR3Jb5954YCnr3DIYnK50hb4Oy+dh8u0F6blKfShoJJLa2zRvaT5odFszmiEPsMmzOxHLCcUM7D5iEWJ6XPzYZv6SfhtMwq54b2EGIwxJVnX8Baeb8f+PfF8u5Uv1G43WocNKK29hVGD2qFRqkBPmGRxYGbY/mf7vpQgNyAE4ecGc1AlpipeNWz7Jv6KXHRux5WQjevH6pdSvMoVZu4kGhormsR8I78fnuha0ljeLIN02fjAx4w7S2evPvB8ndxXBEvf3yJBETyPcWCubjKJx5lMFLx+Hfr3B3MldapGyW1eDefKIv3wM4q7doIqoU8Mmsawd9Uhv/DoXO/hZx+DO9c0AegPgPJXFYZcozeqz7wpVD2BeRYrrQB98ZKURvsMx9ccAb06SGAah4usDNEgDYuA3o6tLuWiqb30U/iBeKlK+XhseFN6QfUoj4bwQJ22ahRCfwUfBbN0jlOhxcPvv/9eFe01FF9X2/nGff0lOv7LF5B/TN9tsl5d8yDG5VemccG5y4sc3t8K4JvrVeWLB9sC5IVc44spK75kW3xpa01Bqtx3K0Zj4FsaPV2bJ2lSaFFUrvWa0CuE7O8oC/TlZFEU6JvJ9ZJA303+ZAXhx5O/xPefkv8b8P+TEsBI8TekHMOtmnNki2WoeA8tZMIdZx6cxY8dsUA82XS3k9bYPZJ5P6LiluTbqts/oxfNRRyduJV+q/bHqm6oo7P/CQAA//+EJG0NCkYAAA== + H4sIAAAAAAAA/9R7f3ua2Pbv/76KNZSe6DSomDTtmKFniJKUW6NewHR601weIltlgkAB0/ZY3/t91mYDGzWZtHOeufPNec4zylp7/fisH3vtjX32U+vWC1q3TrKoaYZhmx9MS7vsWQPbtFTDss9VfaAcA6X1BqNJ39aHumVb+qU2mljKy4xyrg80+71q9d4WlJOM8nY06Nvv1YE+nPyuXmhDS3mVEQxtoKmmtofhdcagji1bH5qWOhgUQn/JSP1R751m7FA77Qq5P3o/HIzUfkmXK/R32oc9PJ0KDxqBfAX5qELmMOowkC5HZx/osoFuljh1GFCXpn0xvnhA9QknYcc3BltvNLRUfagZ/V0WBpwxGfZ2iQy6d69NZBjqw4uCdtQuaTtWHTHQ3k3ONEyL4ciyz0eTYV85YlDplxd7lh2VywaaxSN1dFyN4uWFPZ5wph693HG1Z+3jO9nlM3S0cZf1YfRo6nJOvd7hvNIMUx8NbX14pQ70vnLEoOwN9V2/j+Ui0GNj1Lf72tkeps4u0/jdha32+6zgGHojQ+VCohnGyFCOGTxZpXKO0IWv8xzqj43RmcaeMotHE+sMvUTvhhnpJRd7dazbpmZcaQbPIO9l6A9NezAavZuMGVtnL5v6fyaGtsucJ4dqqftr4aTNcWwX4YnMEbcT/YQZcvW2vx3bk93E2lH8qs0V0S6Vae5NTGt0aZuaavTe2v3RpaoPzcy310zAxXiyu/71EUc0dMwsvjJeH++St/17/ZLj0a70nmaPB5MLfVgRdFIy6cPzkW2MLu3eyDAmY0vrK69ZOZgXvz+o55f2Lg+n4Re57NJ9VR+U0fmF69+TcV+1tJKUV46pYeJf6bSuzJ6hjy0aJ0NT+6Ukud3mlGA7nYwvDLWvcRycGeOJccESXm53iiLBhmBoGAZFbjP8e7ppq6apXwxtYzSy7PF7RZblHRrNn7FmXOomWqrIMhM7Vmnr6o3GHyiTIsu85PF48MEeq6b5fmTQYjvXLxRZ3ircYg8ZsbKQ5byjZW1sJ31k+VWFYTTWDNVCDLPWIMt597KMPcRfoJaBRYvStNTeO/tCs2zVuLSt0TttqMj5FrrNMtSs9yPjHfNlkglW5HxH3WY3J2dDzbLHhnau/67IuKkWRXk20Qd5L5NxX8xAea+O7Z6hYbpkYOS7Ek/Rh+bk/Fzv6dqQZsQ72xyrPU2RcZei3JY20MYjw+pX2qYi532upOcJn5FzRwxLP1d7uF8ZmnqJu2QuR5HzHreHiQlTZGxt2eBjWWNM8t8/2D0VcbvSDEuR88bGKgNJmmGZinxSDCfMbFPrIajWwLTPRiPLtAx1XGyn2u9aL6/7IjtO8gD3dfNMHWi2PrbUs4FmKjK2taxnGhPTQgm7yZU3t75u4irbNN8q8qs84w39UjU+2EO9Z+tjrqnKr1jm60NTMyxbv+ybtqGZFqYoZp8xQUuG1si+VIcXA82mNinyq+OnrjvXB5ZmFOtYGfURCO2BdefY8Lb0nTx13Za+V1zyGhrGwja0/z3RDa2vdPIWNRzRpqBeaCYDppP3JnOojs23o6Ib8kNjO6+MsaFfIRH3TxwFMCs7ebvCh3y6dtrHedkU4/qlar5jQhmtZ2h9bWjp6iBrtv29M3E7r0AcZ7ZHnU77BGo1bwYzL3ChRdIpSOnXiMAMpMBZEhB+lmLiEychAkhR7AUpSJ9WXgqdNy2X3LeCle/DN5jHJALpExw0D04hXZCgBgAwMhWxnoRxClJMhbcKabjG+XwHB0snnS7qYvsQWv+3rvftgf5OU+rTMCZh0vim95V68+dGQ2wdgtOANWQmpOEqikhcd647N+BcH900ToF88VLYHDSY5tzV77SgAOi7FcM3SGOQXDgQDho14ieEWkKmixCELdVBmMIsXAWuUJt5tdrkbDK0JvbItIfqpaYI2XehdqkaOMWUBPagpNAJaZuMD4Uam+eV1iqJW344dXx6ELxb3ZJp6teyzSmj4nM3nN6RuEa+RIgWHT6uFEFcl6NKjmhX2QgVPs20eC3Bved6Tm14pfd1Nd8E82h0mq+bbUmubT2Wm/JRU5bkfFUxweGchqlccApHzZNmuzAg15JZqF+qF5ptvlVzy4sHvNH71ljqReHt1UYS1w8IflSKIiyncXPpTeMwCWdpcxouW85dgv+X5tGqWIq7dza5ZSXfu+wrwjSNIV4FIGGZ3Xs+mRMXJClegiQFJJUWYZKCJH320oUUJBB5brcVxeG0JbeCpBV5yLwMV5ikXyOi3HqBe5jEU6UVRmlrHq0O3SRVWssg+xJGqRcGiRIj32MrnSllLFfnDyoSCtdYXHe8y9Jrn4MBSRXmW+S57OM95GZ3c5OLh8yALm8NBUqo4ZTYU3tvNbuvG0rr3olbU2e6IC0H18XThXdPklYNJz51iCMGxxyHYYp82YKadqUNLTzVXFzQISGX54fzlvOfVUxal0WcVfze1L6kJEjQmmZvlaTh0pzGXpS2yD0J0qRV602MAZ7QxhNLaaXLqDVdxb59T+LbMCHNcJXWajFJ46/TpWt7M3vmeP4qJvUGrGkjQZpHEkWUT+Gz46V24hMSKWLnFFJvScJVqohHp5AsvFkK//rX1gcqYhbG4IEXgFhPyCeQQWRCG6fghpQF/5g4EPMPgrj+bSOgrNuYOHfw7Rt8LLi9GVyD6IFEPhXy4IbbBfI/2gm1L2S6SokLHwXxt48CLkQtyWmFNSbpKg5ALh4W7TT/o86DWAJRUGce/eiGAdeAH1a7KUEPEj8M71ZRATkPs8zBjJCHqePbPPAxmYaxq4jHdGmSOnFK6YpYd52UwIvnSbY3fV54PoE0XpEK6rl2kAqpOf4SNVFpI76o5IFITFdxTIIHtJahqtd5RpA4WxsNkOYExIp3DwdTsJCPy5fKsphgJbmH3+UZZj1xhcezgYX44Twogv8oJJkPRWp8l5lh/GdAJmQaBm4iVFKsrGs7CO0kddLkn1DgWN9/tbz/WzXLoTUnqZ068a3j+wVKqRPbjyGVsVOkVrGfl2MWanHNrd7kgAsPQMfxbsHnxCCl/5lRFtT2FOg4aT8IXx6skzamtQ/SLDEH9yDSz2FpzBsQua0GOm/+JVfkoFnXIP4bflKgDTf7jKGl46QVQRUGrgJ/KLJ065t5frm90SdPLAFcGDnpQhGPWZRfVqLMy/rTMPPM1ThfX4M0AzHXBjc3RaD3x5gX9ReDXJTm3lAXJmFw8eBBSDXo5eHsnxJ6yjAL42rUHwl4GeQjyho598RlMymdv6Z+uHIlL/BSCXmTJuWgvNlx9PwTJkMuZyOASDkwiCwQ7e/pmoXQg2fa6PyAi8LjWfF3NE3KieO0B0ILzWu5QmlgWRylzW/eMDhqm1ryNUnJcppi8tI97Pv2JEjup4GDG+zxX9qFCjPAdcgyDPC4HDruUxYwu0FkpvwNm1mhG3fxVVKqlqQglCJnTmKQquX3R7iKA8fHRdKqWPBD5VSGLEnD6H9cvNDovzNY342q6yXO7dMa1T8KWGb3PxPbrMOgK9+H618FkxaclIH0zwHknsSJFwb2PM3TLCUJHrbr9K5xBgfPk4/BAQjibwJ8A3aLeQXfYEEcF6QA5IYAigKCKAu1Ta3MXi3AHFAD16w08502D3K7DS/hqA1i5o+hZXfXpqVaE1MR/11dV7Q6udrk4A1s3Y2IspTxNv1wXisBrioAKSA4h2zBzMY4GabhynfpZektyQ5X/NGwEgkGrTeDn2DPaQvkDnraeck5Q4KsUuQnqc+4Xbj9Wop42BY+Gv2sJGk4uFbtzThbfC9JpVXgpQlI0mzlY746lZt1QZSbCYnvvSkRtgyu7gWQeyrKmOIPgRlGEQ/mTud7khjGy+Qwv8nynsS9cBk53O1Vfq+uKmI9m0Rwbp3i2doF4YWAk7bcqLCeFaydh1ivr3HCK2RvWDkUT842ApvaKwMflhJxC/GcAODXZjf6B/g/rMO8BK8gU77w5guSpFdZGStiXT83leIMkunYCIXpIhUizTqPmC6uq0I3+6wvcm1Tc8PPAbbTPrkd382t8JyfrcfvLrL3Aqy48XvxUqRTPOrrhtazRsaHvNEu71wvBikCsULOhvBVsnBBXFcom6KT71Qd5tBJuw1OlEpzkkJuMBOB5m2U7DMzbfNzpiiMcDJ1opTeAuTrmHOP7BrVW5HTGgB9K4FLFMSPeVC5KcYE5yr4CTuNG93NQZKmYTDz5uip5GDhhvGU0IcumVG+4tSDjvjh9C6hj3M4pBD60d282x1ll+ndrsJLCX23REz6un0PW/uzjYs6LZ/SLWp3WzrNmiY7PyDgWziwjyi1tqnNSdobT9R4uigyzImnC0Wsr7Kxd9koDLoGcY3Ew8MNrUgHv5wcC6hgixIv8fnuWTSro4xc29lnGXXp5lTae7xENS5PjvkWi6bUS9MbvNL9OuUHtLW5HueH88ROQzu72i/0ZZmWOskdzczyXi4jZNxYo0Onch35/GjYqHGMdKuz+CtL4fk5PLeaz4+GQoYyZkJedvk+zbQE7sNLKd8fSRjYSRp7wVwR6/DHJ5wlylFIkpx4DigjSZ1lBEDbWW7SRthhHUUkdjB/dRdZmQF7GFlXo08Eudk52mWxnOQO0YFMLWK5R5CGSA7IPfEBBD2YhfGSGuD4u7yXJEmcOcmU4rbkk5S4XRB/fkDu2HMpb/sBurWPfrAuAOuCWHw+5MHpgsh9O8zh6ILIPh0W7qMM9vGQ87YLYvnlMHetCyL7dFh4kHOOPfewMDt/aHnu5oCazl2Ei2suLzbwBsT17juwjbiuZvGmiatqZSsSsF0I8JNCAapWGN9QuIFhgSOFndx5kZ29O7bd2MPpuJxcsVd+oR9vQ/erItbLazGQ3oJwSVLHdVKnS9+rCHQ8jeLwy1cQfhZAWKRp1G215JNfmp2Xx03239aSrWp5QZI6wZT824k8ic3lSqfdkaV2R2rLrOa4UvsRV6kjpa/5+CGI6BLOCViIBA6a03AZrVLSTJ15MvCSFL7B0onqCfHJNK03abf9Rg8LdcG886KLaNWngOnohu8LpyB4QqPRuG7fNO8df0Wg1QJh5vgJEYqVFKiM84B/HyJyNtJjhZdJ/V+fWDjCVRrhsayO9uZooQQKihSAIGYsVUyYdEaqcS2WtemRSUegrR89bHfpZOWGkLrBDJhduDH+8Qk3xUzDH5/gs5PkVFrpVUt3tpN8yMgFvgQZTto/IpRGOcvq6YJM72wnjp2vduL9Jx/LXDL1HZwXAsho2X2BXMwp5QpFXD8rea5/u9nU+N01Z9uANE+3b3N9J0F/XPJFEet12JEEEsjQaPBR4AegzAMnSlcxsW9JMF0snfiOuYDF+OJLYXDqpT5R6BkUii9r+qHVur7uJpEzJd2bm5a92cchseeZMC+xZ17g+HZC6It9RVx3uhLN3E2t4HrkrV6GjyBuC6LjNab8Fk7lfsukJfSlvZ09wmPSZyedLnig9qzJdOxZRBMCvS7ejNrEd6KEnj6o3ZL725+9kV3Bi+dvu88vu89NdLGIR3ItUhBvFHG9q2BTYbXD2CXxC6WeLWlAjUZyr90VSDe1WhSHU5IkZSIk25mwneycYhz51qyKzsqnlBe8BMgySr8Kpyz9TgHNZjEIb/8g07zRBGwLZrTsx2niOv9tMR4kBDhY10WOodGF9WZzQMceHOrrdU9pn4L3q7h+tg0NVsUpeC8UuVGO+TlAWZGud9Z4N5sK336LOSF0lOK+bwTGtBs/ZOVDXV13U0xF1GeO1OjyL+JzaQebrMc/Ai1u5FU6bgb8d4FnrLiMnJUHwlPCxRyoKoFv0Lzmo3gDLxTYEk93rOzkUgPs1EIz46qaK67LHySPNePc7quWirNNSpaRdLvyfFeKSDyjL5DoJIMtf3n/CH2/SFoDy9CFVy9fPsSyqdWesSYbxWFEYsh/DpjPITRJ0wWByJne4cx662AihAF9GCbgBC6ECZsWa89Ic948hPMwRlr2o0GQXzfbx4fYB9MFiQmWmFMoEmL5dftYAJfMvIC4eMbFYSMMcKSj/h1mB0esbPYPuCAN83W1ZyMU+tnD4+QWB+tgQi1z0cg0bh2NmF/5bpE/DhNFEDvVJ/m1iiAeCexukipTSk172N976SJcpf0wLcerdUGltzGI6EHS+thsteZs8HmGEGb4UeTEYgXCRxGl0OfwIaZ+Ev45jGIOvJdQwDgoqV7TW3q+E/tfaeQ77VxRp9NsHzehRHuPoCbDoVm6wEYnqhy4FY7/2flaWpADCEH4uclNYBSq4g5t309MN/QEv5+vZNk5V1fftnqVs3keJJYaGzYIC8384mNi6ElzdbsK0lXzoxBz4SyDvfkoCA06iAcr399jQZE8j0ngziSZxePMJsa8fc7/7ydzpXSqoOSYV9O5omQQfiZxz0lIJfUpoGkMB9dd+tPl7s0BfvaRuXvDCoD9sj2/gzOVOrsqeObNoBoJlFlo2gD54iUpy/Y55teCAJuJE5jF4TJrQyxJwyKh9/NWVblk5qz8FH4gX6pWPp4b3oydvB6V0RTXLGibZmH0N/BJME8XWAptAX799deqaW+g+B3Gg6+Stt8O4V+uQPkxf/fZen0jgBSXvwXEhnOfNznc1gpGOghxb9T2JcgLpS4USzZCKbb4NcKWg8y573aM5cCfefR0b57kSeFF0bm2e0K/MHLwQFtgt+5FU2BX7tstgV26/8Mawo8Xf8k/eEr977D/f2kBnBX/hZLjpFVrjm6xHBX30MImnDzz5Cz+FQ8aJNBNdz9pS9wjlfcjLu4pvr2+/T1+sVrE7MRR+q02GGuGqY3O/18AAAD//2UkdiDjQAAA diff --git a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+K8S118/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData index 753d2a76bea..fde69f18d6e 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+KubeletConfigFile/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData index 92adb3a7c24..4afd887918e 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+OSKubeletDisk/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData index f2c40fbcc67..63836827023 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDisk+Containerd/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData index a4b3127f17b..420de612e15 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskExplicit/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData index f2c40fbcc67..63836827023 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1604+TempDiskToggle/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData index 78c7529b720..847e99aa837 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+ArtifactStreaming/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData index d5ebf83c6bf..f677ec0bb05 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/9RbfXubuJb/n09xhtIbexps46Rpxhl6S2ySsvHbAk6nm2Z5CMg2DQYKOG0m9XffR0KA8EuadmZnu7nP7WCdn47Ou46E/eyX5o0XNG/sZM6pum4Z7w1THXTNvmWYim5aZ4rWlw+B0Lr90aRnaUPNtExtoI4mpvwyo5xpfdV6p5jdtwXlKKO8HfV71julrw0nfyjn6tCUX2UEXe2riqFuARxnAGVsWtrQMJV+v2D6W0bqjboXqr5Bbbcq5N7o3bA/UnolXarQL9T3WzDtCgYLgXEF+aBCZmzUpkYajE7fk2l9zSjt1KaGGhjW+fh8x9JHDIcN3ajZuqOhqWhDVe9tQqjh9Mmwu0mkprs4NjBgqA3PC9pBq6RtSHVAjXYxOVVxWAxHpnU2mgx78gE1lTY43zLtoJzWV03WUgeHVS8Ozq3xhBH14OWGql1zG+5oE6drWMZN6G7rkdBllDreQF6quqGNhpY2vFT6Wk8+oKbsDrVNvQ+lwtFjfdSzeurpFlB7EzS+OLeUXo8mHLXeSFcYl6i6PtLlQ2qeLFMZRcjE4zyGemN9dKrSUSrxaGKeYi2xdsOM9JLxvTLWLEPVL1WdBUhbAb2hYfVHo4vJmMLaW2HKf010dROcB4diKttz4ajFINaT8EhiiOuBfkQFuXzbW/ft0WZgbSz8qsUk0SaVrtydGOZoYBmqonffWr3RQNGGRqbbMWVwPp5szj8+YIi6hiOLzYzjw03yun7HLxmMeql1VWvcn5xrwwqjoxKkDc9Glj4aWN2Rrk/GptqTj2k6GOd/7Fznt9YmhlnhN6ms0j1F65fe+Y2p35NxTzHVkpRnjqHiwL/USF4ZXV0bm8RPuqr0Sk5Sq8UsgsvpZHyuKz2VQTBijCf6OQ14qdUukgQXBF3FbpClFrV/VzMsxTC086Glj0amNX4nS5K0QSPxM1b1gWZgSWVJomzHCild3dH4PQHJksRyHo/7762xYhjvRjpJtjPtXJaktcQt9pARTQtJyitaVsY2wkeSXlUAo7GqKya2YVYaJCmvXqa+hfgbcJmxSFIaptK9sM5V01L0gWWOLtShLOVb6DpkqJrvRvoF1WWSMZalfEddhxuT06FqWmNdPdP+kCW8qRZJeTrR+nktk/C+mBnlnTK2urqKwyUzRr4rsRRtaEzOzrSupg5JRFxYxljpqrKEdymCNtW+Oh7pZq9SNmUpr3MlPQ/4jJwropvamdLF+5WuKgO8S+Z8ZCmvcVtAlJks4dKWNT6mOcZB/sd7q6tgu12quilLeWGjmYFJqm4asnRUNCdUbEPtYqOafcM6HY1Mw9SVcbGdqn+o3Tzvi+g4yh3c04xTpa9a2thUTvuqIUu4rGU1U58YJuawGVx5cetpBp5lGcZbWXqVR7yuDRT9vTXUupY2Zoqq9IpGvjY0VN20tEHPsHTVMHGI4ujTJ1iSoTmyBsrwvK9aRCZZenX41HlnWt9U9WIeTaMeNoS6Y94ZLnhr6x09dd7aeq+Y4NVV7AtLV/9zoulqT27nJWo4IkVBOVcNaph2XpuMoTI23o6Kasg2ja08M8a6domJeP/ErQCOynZervAgG67t1mGeNkW7PlCMC8qU0rq62lOHpqb0s2Lb29oTt/IMxO3MeqvTbh0Bx3lTmHqBC02UOiCm9xGCKYiBvUDA/yrGyEd2gngQo9gLUhA/Lb0U2q+bLrprBkvfh68wi1EE4ifYa+ydQDpHAQcAMDJkoZaEcQpiTJg3C254jv35FvYWdurMa0JrH5r/XdN6Vl+7UOWaE8YoTOpftZ5ca/xarwvNfbDr8ACZCGm4jCIU1+yr9jXYVwfX9RNAX7wUVnt1unKu6ndKUBjouxeGr5DGILqwx+/VOeQniEiCnHkI/NrSQZjCNFwGLs9NPY6bnE6G5sQaGdZQGagyn33muYGi4y6mJNCBkkI6pHUyHuQ52s/LzWUSN/3QsX1yELxd3iAn9blsc8qoeNwNnVsUc+hLhK1Fmo9LmRceylYlt2hHXvEVnGqY7CrBned6Nje81Hqakm+CuTfajeNGS5S4tWGpIR00JFHKZxUdHO7TcCgXSP6gcdRoFQLkq2QSagPlXLWMt0oueTHACr1tjqmcF9perkThYQfjR7nI/MKJGwvPicMknKYNJ1w07dsE/1+cRctiKt69s84tS/nuoCfzThpDvAxAxGl25/lohlwQxXgBohigVJyHSQqi+NlL52KQQOS5nWYUh05TagZJM/IweBEucZDeR0i+8QJ3P4kduRlGaXMWLffdJJWbiyD7EEapFwaJHGPcYzNthwDL2flAhUOhGvXrhnZZeG1TMECpTHWLPJc+3kEudicXuRikAnRYaYiheA53iV2l+1a1epouN+/suOnYzhw1bTwvdubeHUqaHO74lCFuMRhwHIYpxmUTOPVSHZr4VHN+TpqEnJ8fzpr2n8sYNQeFnxX8uaF+SVGQYGka3WWShgvDib0obaI7FKRJk+tO9D4+oY0nptxMF1HTWca+dYfimzBBjXCZclyM0vjeWbiWN7WmtucvY1SrwwMpJJjmoUQWpBP4bHuplfgIRbLQPoHUW6BwmcrCwQkkc2+awr/+tfZAWEzDGDzwAhBqCfoEEgiUaf0E3JBA8B9lB0L+wAsPb1Y85nUTI/sWvn6FDwXam8IVCB6I6FPBD66ZXSD/I5VQ/YKcZYpc+MALbz7weCJeJTmpQGOULuMApGKwKKf5H1EehNIQBXXqkUc3DJgCvHvZVWn0IPHD8HYZFSZnzSwxZsYmD1Pbt1jDx8gJY1cWDsnUJLXjlNBloebaKYIXz5Nsb/o893wEabxEFavnq4NYcM3tLxIR5Ra2L15khyecZRyjYMeqpatqNRYIIiNrvQ7iDIFQ0W63M3kT45h4qUyLEc4kd/+7NMNRj1z+8WigLt4dB4XzHzVJpkMRGt8lZhh/y5AJcsLATfhKiJV5bQWhlaR2mvwMCY7z+6+m99+Vs4y1Zii1Uju+sX2/sFJqx9ZjlsrgxFLL2M/TMXO18MDMXuUG53eYjsGumc+OQUz/nBIIXu0ppmO4/aD5cmcdtXBY+yBOE6N/BwJ5DkthXoPAbDXQfv0vqcIHi3UFwr/hFxlacL1NGJI6dlphVAEwGfhDniVb39Tzy+2NjDwxBfDEyE7nsnBIvfyy4mWW1zfdzIKrfr66AnEKQr4aXF8Xjt7uY5bVX3RykZpbXV2IhJ2LDx4IVZ1eHs5+FtcTwDSMq15/xOGlkw8INLLvkEt7UtJ/OX64dEUv8FIRY5MGQRBsdhw9+4SDIeez4kEgCOxE6ojW91TNguneM3V0tsd44fGo+CeKJkHidtoDvonFa7p8KWCZHKXMr19Tc3ArLrlPUrRwUhy8ZA/7vj0JkjsnsPEGe/iXdqFCDHBttAgDfFwObfcpE6jcIFBR/oHNrFgb7+LLpFxaFINQjOwZikGspt/HcBkHto8nictiwg+lU+myJA2j/3f+wkL/k876bqu6XmLfPK1Q/VSGpXL/nLbNKgxW5fvs+leNSRJOzIz08xjkDsWJFwbWLM3DLEUJPmzXyF3jFPaeJx+CPeCFNzx8BXqLeQlfYY5sF8QApDoPsgy8IPHciiujVw1wDCiBa1SK+UaZB6nVgpdw0AIh00dXs7trw1TMiSEL/67OK0qdVC1y8BrW7kYEScywDT+ccaWBqwuAGCDch6yZmbZxEjjh0nfJZekNyg5X7NGw4glqWm8Kv8CW0xZIbaxp+yWjDAqyTJGetHyGduHmvmSxWxbWG70sJYk7mFLtTRlZfC9JxWXgpQmI4nTp43i1KzfrvCA1EhTfeQ7i1wSu7gWQaypIOMR3GTOMItaYG5XvSWwolvKheqPFHYq74SKymdur/F5dkYVa1ongvtXBZ2sX+Bc87rSlegV6WkDbu6BXV7jDK3ivaDoUI6crnnbtlYYPpxJyC/YMA2DnZjf6e/h/OA/zFLyEbPG5N5ujJL3M0lgWatqZIRdnkGyNFV+ILhAm4rT9iOjCQ5Xpapv0RaytODf8HOBy2kM349uZGZ6xvfX44jx7L0CTG38uXoq0i6Gepqtdc6S/zwvt4tb1YhAjECrkrAlfJnMXhIcKZVVU8o2swzF01GqBHaXiDKWQC0xZYPFWcvZMRVv9mi0URrgztaOU3ALk86hyj+wa1VuREw6AvJXAU2RsP6pB5aYYBziTwU/Yadzodgai6ITB1JthTUUbJ24YO4gMumhKcMWpByvih85tQoZzc4gh9KLbWaczyi7TOx2Z5RL6bmkx8X79Hpb71sZFlJZOyBa1uS2dZEWTnh+wwdfsQB8xV27FzVDaHU+U2JkXEWbHzlwWasus7V3UC4GuQHjAxP39FclIG384OuTxAmuUeIHHN8+iWR5lZG5jn6XUhZtTSe3xEkUfHB2yJRaLUitFr7OLbl9T2rFai6lxfjhLrDS0sqv9Yr0s0lI7uSWRWd7LZYQMjXN0aFeuI58fDOscAyRbncleWfLPz+C52Xh+MOQzK+NIyNMu36fpKoG7eyrBfUzCwErS2AtmslCDj59wL1G2QqJoxzPAPJLUXkQApJzlIq34DegoQrGN41dzMZQKsAVIqxoZ4aVG+2ATYtrJLbYOZMtiW25hpGJL9tEd8gF4LZiG8YIIYPub2AFKEnuGskXxtuSjFLkdEH7dwXfsuQTb2kE3t9H3HgqDdUAonvdZ43RAYD7t5+bogECf9gv1MQ/6uM9o2wGh/LCfq9YBgT7tFxrkyLHn7hdi54Om5672iOjMRbjwwMTFCl6D8LD5DmwlPFSjeNXAs7iyFPG4XPDwi0wMVM0wtqAwDcMctxRWcutFVvbu2HJjD3fHZeeKa+UX8ngTuveyUCuvxUB8C/wApbZrp3aHvFfhSXsaxeGXe+B/5YGfp2nUaTalo98a7ZeHDfrf5oLOanpBktqBg/5tR55I+3K53WpLYqsttiSac0yq/YiqRJFS17z94AWsEu4TcCIi2Gs44SJapqiR2rOk7yUpfIWFHdUS5CMnrTVItf1KDgs13rj1ovNo2SMG07Aavs+fAO/x9Xr9qnXduLP9JYJmE/ip7SeIL2YSQ2XIPfZ9iMDISI4VXsb1Pz5Rd4TLNMLHshqWN7cW5kCMIgbACxmkahPKnZI4psTSMj0ySAu09qWH9SqdLN0QUjeYApULb4wfP+FNMVvh4yf4bCc5lWR6VdKN7SRvMnKGL0GCo9aPMCVezqKac+bIubXsOLbvrcT7M+/LXOT4Nm4YAsho2YWBVDQq5QxZeHhWYq7eXK84dnvNYSsQZ+n6da5vJ1ghF32RhVoNNjiBCBLU66wb2A6IqODYUbqMkXWDAme+sONbqgLOxhdfCoFTL/WRTA6hUHx4IA/N5tVVJ4lsB3Wur5vWahtCpOPFKskLuSYQIhZv3YwMDncTD9RBp+UowYKXAFpE6T1/QhU7gVXV/PnLuwSR7xBgkUreV6UBr4l4ma5eYk29wPaLScJDuyOSzFpxBeqRt47FHk2IZI8oEW87zwed50a9cDMvrC9Ijgk4ddfcXfYNLOOEfAPBWhvfOmMNjA+In+3UmbMRsmuVTLSnLlNBs+tMvdKErjedohgFDrK8wKLvUuXHX7mW5vXtKEGuNQ+XMZkkbGXXPDhqtbZMW3jBMkVk4o6Zz8nM5tG22YysOybTafSWR7xjvkxgUS7AP2+13U7xDw9CRanyIxW2HKCrYFOuRTjOqzUf1bejKvG5A7MpNGkvlwHZrDfSiyOFY6vr11JkRzhtSROu6AxWHBfFoYOSpKxWyXq5+t8rJWXqpMk36ggWKEOHNx+Rk++jAe0wKS377qVQu7ETRJ6FVp2vQtbMQ5p0Royr1vUqn1Fx5wZQKoHbAnEN3cbovYeawEha78ADH96hGDcf+LmUje/Ajiq0D3wuFwZVZNwHflMUjNocXa1We0zgVWR9c80GJEvi6DG/VvPk1gl4vwsPzxin0Q3yBLwXslRnL5iz0z/jeRqsZBevet7LHJ5PypHb3c6wgU02a6htrmcYPO56Fvht17Po0vXMaH2Lv7eL+bc5fK/OOuORbMJHkyodt7fsZ54FVhyEkZUB/ikZuldlD1+hccVmyjW8kGGNMVWH/EODmLU6CWI2jBkil9/fcLBRvDo8V7b0VZ2zo0YXGhxe9eMn4BtYrqsq7poH4aH8QcdY1c+snmIq+GyYLiJy8MMd8uKu/Lh9Aqm9i9CFVy9f7oaUpfwZbUWjOIxQDPm3pvPjGsncdI4gsp1bfLTHPnAhDMhgmIAduBAm9FDNPUONWWMfzsIY07LvVoN03Ggd7uM2K52jGOEabxcL8bF03DrkwUVTL0AueAHgM1kY4JMvUXQ/u1/DItPfuUIa5vO4ZyPM9LOXoA0E3RV5LlNRz1Zcu0GieuU9dT4c4r2lXR3Jb5954YCnr3DIYnK50hb4Oy+dh8u0F6blKfShoJJLa2zRvaT5odFszmiEPsMmzOxHLCcUM7D5iEWJ6XPzYZv6SfhtMwq54b2EGIwxJVnX8Baeb8f+PfF8u5Uv1G43WocNKK29hVGD2qFRqkBPmGRxYGbY/mf7vpQgNyAE4ecGc1AlpipeNWz7Jv6KXHRux5WQjevH6pdSvMoVZu4kGhormsR8I78fnuha0ljeLIN02fjAx4w7S2evPvB8ndxXBEvf3yJBETyPcWCubjKJx5lMFLx+Hfr3B3MldapGyW1eDefKIv3wM4q7doIqoU8Mmsawd9Uhv/DoXO/hZx+DO9c0AegPgPJXFYZcozeqz7wpVD2BeRYrrQB98ZKURvsMx9ccAb06SGAah4usDNEgDYuA3o6tLuWiqb30U/iBeKlK+XhseFN6QfUoj4bwQJ22ahRCfwUfBbN0jlOhxcPvv/9eFe01FF9X2/nGff0lOv7LF5B/TN9tsl5d8yDG5VemccG5y4sc3t8K4JvrVeWLB9sC5IVc44spK75kW3xpa01Bqtx3K0Zj4FsaPV2bJ2lSaFFUrvWa0CuE7O8oC/TlZFEU6JvJ9ZJA303+ZAXhx5O/xPefkv8b8P+TEsBI8TekHMOtmnNki2WoeA8tZMIdZx6cxY8dsUA82XS3k9bYPZJ5P6LiluTbqts/oxfNRRyduJV+q/bHqm6oo7P/CQAA//+EJG0NCkYAAA== + H4sIAAAAAAAA/9R7f3ua2Pbv/76KNZSe6DSomDTtmKFniJKUW6NewHR601weIltlgkAB0/ZY3/t91mYDGzWZtHOeufPNec4zylp7/fisH3vtjX32U+vWC1q3TrKoaYZhmx9MS7vsWQPbtFTDss9VfaAcA6X1BqNJ39aHumVb+qU2mljKy4xyrg80+71q9d4WlJOM8nY06Nvv1YE+nPyuXmhDS3mVEQxtoKmmtofhdcagji1bH5qWOhgUQn/JSP1R751m7FA77Qq5P3o/HIzUfkmXK/R32oc9PJ0KDxqBfAX5qELmMOowkC5HZx/osoFuljh1GFCXpn0xvnhA9QknYcc3BltvNLRUfagZ/V0WBpwxGfZ2iQy6d69NZBjqw4uCdtQuaTtWHTHQ3k3ONEyL4ciyz0eTYV85YlDplxd7lh2VywaaxSN1dFyN4uWFPZ5wph693HG1Z+3jO9nlM3S0cZf1YfRo6nJOvd7hvNIMUx8NbX14pQ70vnLEoOwN9V2/j+Ui0GNj1Lf72tkeps4u0/jdha32+6zgGHojQ+VCohnGyFCOGTxZpXKO0IWv8xzqj43RmcaeMotHE+sMvUTvhhnpJRd7dazbpmZcaQbPIO9l6A9NezAavZuMGVtnL5v6fyaGtsucJ4dqqftr4aTNcWwX4YnMEbcT/YQZcvW2vx3bk93E2lH8qs0V0S6Vae5NTGt0aZuaavTe2v3RpaoPzcy310zAxXiyu/71EUc0dMwsvjJeH++St/17/ZLj0a70nmaPB5MLfVgRdFIy6cPzkW2MLu3eyDAmY0vrK69ZOZgXvz+o55f2Lg+n4Re57NJ9VR+U0fmF69+TcV+1tJKUV46pYeJf6bSuzJ6hjy0aJ0NT+6Ukud3mlGA7nYwvDLWvcRycGeOJccESXm53iiLBhmBoGAZFbjP8e7ppq6apXwxtYzSy7PF7RZblHRrNn7FmXOomWqrIMhM7Vmnr6o3GHyiTIsu85PF48MEeq6b5fmTQYjvXLxRZ3ircYg8ZsbKQ5byjZW1sJ31k+VWFYTTWDNVCDLPWIMt597KMPcRfoJaBRYvStNTeO/tCs2zVuLSt0TttqMj5FrrNMtSs9yPjHfNlkglW5HxH3WY3J2dDzbLHhnau/67IuKkWRXk20Qd5L5NxX8xAea+O7Z6hYbpkYOS7Ek/Rh+bk/Fzv6dqQZsQ72xyrPU2RcZei3JY20MYjw+pX2qYi532upOcJn5FzRwxLP1d7uF8ZmnqJu2QuR5HzHreHiQlTZGxt2eBjWWNM8t8/2D0VcbvSDEuR88bGKgNJmmGZinxSDCfMbFPrIajWwLTPRiPLtAx1XGyn2u9aL6/7IjtO8gD3dfNMHWi2PrbUs4FmKjK2taxnGhPTQgm7yZU3t75u4irbNN8q8qs84w39UjU+2EO9Z+tjrqnKr1jm60NTMyxbv+ybtqGZFqYoZp8xQUuG1si+VIcXA82mNinyq+OnrjvXB5ZmFOtYGfURCO2BdefY8Lb0nTx13Za+V1zyGhrGwja0/z3RDa2vdPIWNRzRpqBeaCYDppP3JnOojs23o6Ib8kNjO6+MsaFfIRH3TxwFMCs7ebvCh3y6dtrHedkU4/qlar5jQhmtZ2h9bWjp6iBrtv29M3E7r0AcZ7ZHnU77BGo1bwYzL3ChRdIpSOnXiMAMpMBZEhB+lmLiEychAkhR7AUpSJ9WXgqdNy2X3LeCle/DN5jHJALpExw0D04hXZCgBgAwMhWxnoRxClJMhbcKabjG+XwHB0snnS7qYvsQWv+3rvftgf5OU+rTMCZh0vim95V68+dGQ2wdgtOANWQmpOEqikhcd647N+BcH900ToF88VLYHDSY5tzV77SgAOi7FcM3SGOQXDgQDho14ieEWkKmixCELdVBmMIsXAWuUJt5tdrkbDK0JvbItIfqpaYI2XehdqkaOMWUBPagpNAJaZuMD4Uam+eV1iqJW344dXx6ELxb3ZJp6teyzSmj4nM3nN6RuEa+RIgWHT6uFEFcl6NKjmhX2QgVPs20eC3Bved6Tm14pfd1Nd8E82h0mq+bbUmubT2Wm/JRU5bkfFUxweGchqlccApHzZNmuzAg15JZqF+qF5ptvlVzy4sHvNH71ljqReHt1UYS1w8IflSKIiyncXPpTeMwCWdpcxouW85dgv+X5tGqWIq7dza5ZSXfu+wrwjSNIV4FIGGZ3Xs+mRMXJClegiQFJJUWYZKCJH320oUUJBB5brcVxeG0JbeCpBV5yLwMV5ikXyOi3HqBe5jEU6UVRmlrHq0O3SRVWssg+xJGqRcGiRIj32MrnSllLFfnDyoSCtdYXHe8y9Jrn4MBSRXmW+S57OM95GZ3c5OLh8yALm8NBUqo4ZTYU3tvNbuvG0rr3olbU2e6IC0H18XThXdPklYNJz51iCMGxxyHYYp82YKadqUNLTzVXFzQISGX54fzlvOfVUxal0WcVfze1L6kJEjQmmZvlaTh0pzGXpS2yD0J0qRV602MAZ7QxhNLaaXLqDVdxb59T+LbMCHNcJXWajFJ46/TpWt7M3vmeP4qJvUGrGkjQZpHEkWUT+Gz46V24hMSKWLnFFJvScJVqohHp5AsvFkK//rX1gcqYhbG4IEXgFhPyCeQQWRCG6fghpQF/5g4EPMPgrj+bSOgrNuYOHfw7Rt8LLi9GVyD6IFEPhXy4IbbBfI/2gm1L2S6SokLHwXxt48CLkQtyWmFNSbpKg5ALh4W7TT/o86DWAJRUGce/eiGAdeAH1a7KUEPEj8M71ZRATkPs8zBjJCHqePbPPAxmYaxq4jHdGmSOnFK6YpYd52UwIvnSbY3fV54PoE0XpEK6rl2kAqpOf4SNVFpI76o5IFITFdxTIIHtJahqtd5RpA4WxsNkOYExIp3DwdTsJCPy5fKsphgJbmH3+UZZj1xhcezgYX44Twogv8oJJkPRWp8l5lh/GdAJmQaBm4iVFKsrGs7CO0kddLkn1DgWN9/tbz/WzXLoTUnqZ068a3j+wVKqRPbjyGVsVOkVrGfl2MWanHNrd7kgAsPQMfxbsHnxCCl/5lRFtT2FOg4aT8IXx6skzamtQ/SLDEH9yDSz2FpzBsQua0GOm/+JVfkoFnXIP4bflKgDTf7jKGl46QVQRUGrgJ/KLJ065t5frm90SdPLAFcGDnpQhGPWZRfVqLMy/rTMPPM1ThfX4M0AzHXBjc3RaD3x5gX9ReDXJTm3lAXJmFw8eBBSDXo5eHsnxJ6yjAL42rUHwl4GeQjyho598RlMymdv6Z+uHIlL/BSCXmTJuWgvNlx9PwTJkMuZyOASDkwiCwQ7e/pmoXQg2fa6PyAi8LjWfF3NE3KieO0B0ILzWu5QmlgWRylzW/eMDhqm1ryNUnJcppi8tI97Pv2JEjup4GDG+zxX9qFCjPAdcgyDPC4HDruUxYwu0FkpvwNm1mhG3fxVVKqlqQglCJnTmKQquX3R7iKA8fHRdKqWPBD5VSGLEnD6H9cvNDovzNY342q6yXO7dMa1T8KWGb3PxPbrMOgK9+H618FkxaclIH0zwHknsSJFwb2PM3TLCUJHrbr9K5xBgfPk4/BAQjibwJ8A3aLeQXfYEEcF6QA5IYAigKCKAu1Ta3MXi3AHFAD16w08502D3K7DS/hqA1i5o+hZXfXpqVaE1MR/11dV7Q6udrk4A1s3Y2IspTxNv1wXisBrioAKSA4h2zBzMY4GabhynfpZektyQ5X/NGwEgkGrTeDn2DPaQvkDnraeck5Q4KsUuQnqc+4Xbj9Wop42BY+Gv2sJGk4uFbtzThbfC9JpVXgpQlI0mzlY746lZt1QZSbCYnvvSkRtgyu7gWQeyrKmOIPgRlGEQ/mTud7khjGy+Qwv8nynsS9cBk53O1Vfq+uKmI9m0Rwbp3i2doF4YWAk7bcqLCeFaydh1ivr3HCK2RvWDkUT842ApvaKwMflhJxC/GcAODXZjf6B/g/rMO8BK8gU77w5guSpFdZGStiXT83leIMkunYCIXpIhUizTqPmC6uq0I3+6wvcm1Tc8PPAbbTPrkd382t8JyfrcfvLrL3Aqy48XvxUqRTPOrrhtazRsaHvNEu71wvBikCsULOhvBVsnBBXFcom6KT71Qd5tBJuw1OlEpzkkJuMBOB5m2U7DMzbfNzpiiMcDJ1opTeAuTrmHOP7BrVW5HTGgB9K4FLFMSPeVC5KcYE5yr4CTuNG93NQZKmYTDz5uip5GDhhvGU0IcumVG+4tSDjvjh9C6hj3M4pBD60d282x1ll+ndrsJLCX23REz6un0PW/uzjYs6LZ/SLWp3WzrNmiY7PyDgWziwjyi1tqnNSdobT9R4uigyzImnC0Wsr7Kxd9koDLoGcY3Ew8MNrUgHv5wcC6hgixIv8fnuWTSro4xc29lnGXXp5lTae7xENS5PjvkWi6bUS9MbvNL9OuUHtLW5HueH88ROQzu72i/0ZZmWOskdzczyXi4jZNxYo0Onch35/GjYqHGMdKuz+CtL4fk5PLeaz4+GQoYyZkJedvk+zbQE7sNLKd8fSRjYSRp7wVwR6/DHJ5wlylFIkpx4DigjSZ1lBEDbWW7SRthhHUUkdjB/dRdZmQF7GFlXo08Eudk52mWxnOQO0YFMLWK5R5CGSA7IPfEBBD2YhfGSGuD4u7yXJEmcOcmU4rbkk5S4XRB/fkDu2HMpb/sBurWPfrAuAOuCWHw+5MHpgsh9O8zh6ILIPh0W7qMM9vGQ87YLYvnlMHetCyL7dFh4kHOOPfewMDt/aHnu5oCazl2Ei2suLzbwBsT17juwjbiuZvGmiatqZSsSsF0I8JNCAapWGN9QuIFhgSOFndx5kZ29O7bd2MPpuJxcsVd+oR9vQ/erItbLazGQ3oJwSVLHdVKnS9+rCHQ8jeLwy1cQfhZAWKRp1G215JNfmp2Xx03239aSrWp5QZI6wZT824k8ic3lSqfdkaV2R2rLrOa4UvsRV6kjpa/5+CGI6BLOCViIBA6a03AZrVLSTJ15MvCSFL7B0onqCfHJNK03abf9Rg8LdcG886KLaNWngOnohu8LpyB4QqPRuG7fNO8df0Wg1QJh5vgJEYqVFKiM84B/HyJyNtJjhZdJ/V+fWDjCVRrhsayO9uZooQQKihSAIGYsVUyYdEaqcS2WtemRSUegrR89bHfpZOWGkLrBDJhduDH+8Qk3xUzDH5/gs5PkVFrpVUt3tpN8yMgFvgQZTto/IpRGOcvq6YJM72wnjp2vduL9Jx/LXDL1HZwXAsho2X2BXMwp5QpFXD8rea5/u9nU+N01Z9uANE+3b3N9J0F/XPJFEet12JEEEsjQaPBR4AegzAMnSlcxsW9JMF0snfiOuYDF+OJLYXDqpT5R6BkUii9r+qHVur7uJpEzJd2bm5a92cchseeZMC+xZ17g+HZC6It9RVx3uhLN3E2t4HrkrV6GjyBuC6LjNab8Fk7lfsukJfSlvZ09wmPSZyedLnig9qzJdOxZRBMCvS7ejNrEd6KEnj6o3ZL725+9kV3Bi+dvu88vu89NdLGIR3ItUhBvFHG9q2BTYbXD2CXxC6WeLWlAjUZyr90VSDe1WhSHU5IkZSIk25mwneycYhz51qyKzsqnlBe8BMgySr8Kpyz9TgHNZjEIb/8g07zRBGwLZrTsx2niOv9tMR4kBDhY10WOodGF9WZzQMceHOrrdU9pn4L3q7h+tg0NVsUpeC8UuVGO+TlAWZGud9Z4N5sK336LOSF0lOK+bwTGtBs/ZOVDXV13U0xF1GeO1OjyL+JzaQebrMc/Ai1u5FU6bgb8d4FnrLiMnJUHwlPCxRyoKoFv0Lzmo3gDLxTYEk93rOzkUgPs1EIz46qaK67LHySPNePc7quWirNNSpaRdLvyfFeKSDyjL5DoJIMtf3n/CH2/SFoDy9CFVy9fPsSyqdWesSYbxWFEYsh/DpjPITRJ0wWByJne4cx662AihAF9GCbgBC6ECZsWa89Ic948hPMwRlr2o0GQXzfbx4fYB9MFiQmWmFMoEmL5dftYAJfMvIC4eMbFYSMMcKSj/h1mB0esbPYPuCAN83W1ZyMU+tnD4+QWB+tgQi1z0cg0bh2NmF/5bpE/DhNFEDvVJ/m1iiAeCexukipTSk172N976SJcpf0wLcerdUGltzGI6EHS+thsteZs8HmGEGb4UeTEYgXCRxGl0OfwIaZ+Ev45jGIOvJdQwDgoqV7TW3q+E/tfaeQ77VxRp9NsHzehRHuPoCbDoVm6wEYnqhy4FY7/2flaWpADCEH4uclNYBSq4g5t309MN/QEv5+vZNk5V1fftnqVs3keJJYaGzYIC8384mNi6ElzdbsK0lXzoxBz4SyDvfkoCA06iAcr399jQZE8j0ngziSZxePMJsa8fc7/7ydzpXSqoOSYV9O5omQQfiZxz0lIJfUpoGkMB9dd+tPl7s0BfvaRuXvDCoD9sj2/gzOVOrsqeObNoBoJlFlo2gD54iUpy/Y55teCAJuJE5jF4TJrQyxJwyKh9/NWVblk5qz8FH4gX6pWPp4b3oydvB6V0RTXLGibZmH0N/BJME8XWAptAX799deqaW+g+B3Gg6+Stt8O4V+uQPkxf/fZen0jgBSXvwXEhnOfNznc1gpGOghxb9T2JcgLpS4USzZCKbb4NcKWg8y573aM5cCfefR0b57kSeFF0bm2e0K/MHLwQFtgt+5FU2BX7tstgV26/8Mawo8Xf8k/eEr977D/f2kBnBX/hZLjpFVrjm6xHBX30MImnDzz5Cz+FQ8aJNBNdz9pS9wjlfcjLu4pvr2+/T1+sVrE7MRR+q02GGuGqY3O/18AAAD//2UkdiDjQAAA diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd++GPU+runcshimv2/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData index b62d242f8a9..cb706afa6fc 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Certsd/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+ContainerdVersion/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData index 67941e213b8..bc47fc82546 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPAddress+FQDN/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+IPMasqAgent/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData index 10457c07cf9..ec639d8176e 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+Calico/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet+FIPSEnabled/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Kubenet/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData index d5ebf83c6bf..f677ec0bb05 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG+NoFabricManager/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData index d5ebf83c6bf..f677ec0bb05 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MIG/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData index 6a7d9e490fc..8d6de017510 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+MotD/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData index b4eb5fa0055..d896502883c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+NSeriesSku/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+PrivateACR/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+Teleport/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData index 6a7d9e490fc..8d6de017510 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Containerd+runcshimv2/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData index 6a7d9e490fc..8d6de017510 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+CustomCATrust/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=false/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+Disable1804SystemdResolved=true/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData index 6a7d9e490fc..8d6de017510 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+DisableCustomData/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData index 6a7d9e490fc..8d6de017510 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+HTTPProxy/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData index 39339eda0af..ccfc7724a67 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+KubeletClientTLSBootstrapping/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData index 78c7529b720..847e99aa837 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoArtifactStreaming/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData index b62d242f8a9..cb706afa6fc 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+NoneCNI/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData index f4d63505b86..a7efe576e33 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804+krustlet/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData index 13c3b3baa9c..26aca43cf11 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+CustomKubeImageandBinaries/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData index f2fbf5d7191..faafd8106a4 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804ARM64Containerd+NoCustomKubeImageandBinaries/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu1804Containerd+RuncVersion/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/CustomData b/pkg/agent/testdata/AKSUbuntu2204+China/CustomData index 8819a12c882..2cd36f792b0 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+China/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+China/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData index fb139b2e271..8c87bf5e58c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/9RbfXubuJb/n09xhtIbexps46Rpxhl6S2ySsvHbAk6nm2Z5CMg2DQYKOG0m9XffR0KA8EuadmZnu7nP7WCdn47Ou46E/eyX5o0XNG/sZM6pum4Z7w1THXTNvmWYim5aZ4rWlw+B0Lr90aRnaUPNtExtoI4mpvwyo5xpfdV6p5jdtwXlKKO8HfV71julrw0nfyjn6tCUX2UEXe2riqFuARxnAGVsWtrQMJV+v2D6W0bqjboXqr5Bbbcq5N7o3bA/UnolXarQL9T3WzDtCgYLgXEF+aBCZmzUpkYajE7fk2l9zSjt1KaGGhjW+fh8x9JHDIcN3ajZuqOhqWhDVe9tQqjh9Mmwu0mkprs4NjBgqA3PC9pBq6RtSHVAjXYxOVVxWAxHpnU2mgx78gE1lTY43zLtoJzWV03WUgeHVS8Ozq3xhBH14OWGql1zG+5oE6drWMZN6G7rkdBllDreQF6quqGNhpY2vFT6Wk8+oKbsDrVNvQ+lwtFjfdSzeurpFlB7EzS+OLeUXo8mHLXeSFcYl6i6PtLlQ2qeLFMZRcjE4zyGemN9dKrSUSrxaGKeYi2xdsOM9JLxvTLWLEPVL1WdBUhbAb2hYfVHo4vJmMLaW2HKf010dROcB4diKttz4ajFINaT8EhiiOuBfkQFuXzbW/ft0WZgbSz8qsUk0SaVrtydGOZoYBmqonffWr3RQNGGRqbbMWVwPp5szj8+YIi6hiOLzYzjw03yun7HLxmMeql1VWvcn5xrwwqjoxKkDc9Glj4aWN2Rrk/GptqTj2k6GOd/7Fznt9YmhlnhN6ms0j1F65fe+Y2p35NxTzHVkpRnjqHiwL/USF4ZXV0bm8RPuqr0Sk5Sq8UsgsvpZHyuKz2VQTBijCf6OQ14qdUukgQXBF3FbpClFrV/VzMsxTC086Glj0amNX4nS5K0QSPxM1b1gWZgSWVJomzHCild3dH4PQHJksRyHo/7762xYhjvRjpJtjPtXJaktcQt9pARTQtJyitaVsY2wkeSXlUAo7GqKya2YVYaJCmvXqa+hfgbcJmxSFIaptK9sM5V01L0gWWOLtShLOVb6DpkqJrvRvoF1WWSMZalfEddhxuT06FqWmNdPdP+kCW8qRZJeTrR+nktk/C+mBnlnTK2urqKwyUzRr4rsRRtaEzOzrSupg5JRFxYxljpqrKEdymCNtW+Oh7pZq9SNmUpr3MlPQ/4jJwropvamdLF+5WuKgO8S+Z8ZCmvcVtAlJks4dKWNT6mOcZB/sd7q6tgu12quilLeWGjmYFJqm4asnRUNCdUbEPtYqOafcM6HY1Mw9SVcbGdqn+o3Tzvi+g4yh3c04xTpa9a2thUTvuqIUu4rGU1U58YJuawGVx5cetpBp5lGcZbWXqVR7yuDRT9vTXUupY2Zoqq9IpGvjY0VN20tEHPsHTVMHGI4ujTJ1iSoTmyBsrwvK9aRCZZenX41HlnWt9U9WIeTaMeNoS6Y94ZLnhr6x09dd7aeq+Y4NVV7AtLV/9zoulqT27nJWo4IkVBOVcNaph2XpuMoTI23o6Kasg2ja08M8a6domJeP/ErQCOynZervAgG67t1mGeNkW7PlCMC8qU0rq62lOHpqb0s2Lb29oTt/IMxO3MeqvTbh0Bx3lTmHqBC02UOiCm9xGCKYiBvUDA/yrGyEd2gngQo9gLUhA/Lb0U2q+bLrprBkvfh68wi1EE4ifYa+ydQDpHAQcAMDJkoZaEcQpiTJg3C254jv35FvYWdurMa0JrH5r/XdN6Vl+7UOWaE8YoTOpftZ5ca/xarwvNfbDr8ACZCGm4jCIU1+yr9jXYVwfX9RNAX7wUVnt1unKu6ndKUBjouxeGr5DGILqwx+/VOeQniEiCnHkI/NrSQZjCNFwGLs9NPY6bnE6G5sQaGdZQGagyn33muYGi4y6mJNCBkkI6pHUyHuQ52s/LzWUSN/3QsX1yELxd3iAn9blsc8qoeNwNnVsUc+hLhK1Fmo9LmRceylYlt2hHXvEVnGqY7CrBned6Nje81Hqakm+CuTfajeNGS5S4tWGpIR00JFHKZxUdHO7TcCgXSP6gcdRoFQLkq2QSagPlXLWMt0oueTHACr1tjqmcF9perkThYQfjR7nI/MKJGwvPicMknKYNJ1w07dsE/1+cRctiKt69s84tS/nuoCfzThpDvAxAxGl25/lohlwQxXgBohigVJyHSQqi+NlL52KQQOS5nWYUh05TagZJM/IweBEucZDeR0i+8QJ3P4kduRlGaXMWLffdJJWbiyD7EEapFwaJHGPcYzNthwDL2flAhUOhGvXrhnZZeG1TMECpTHWLPJc+3kEudicXuRikAnRYaYiheA53iV2l+1a1epouN+/suOnYzhw1bTwvdubeHUqaHO74lCFuMRhwHIYpxmUTOPVSHZr4VHN+TpqEnJ8fzpr2n8sYNQeFnxX8uaF+SVGQYGka3WWShgvDib0obaI7FKRJk+tO9D4+oY0nptxMF1HTWca+dYfimzBBjXCZclyM0vjeWbiWN7WmtucvY1SrwwMpJJjmoUQWpBP4bHuplfgIRbLQPoHUW6BwmcrCwQkkc2+awr/+tfZAWEzDGDzwAhBqCfoEEgiUaf0E3JBA8B9lB0L+wAsPb1Y85nUTI/sWvn6FDwXam8IVCB6I6FPBD66ZXSD/I5VQ/YKcZYpc+MALbz7weCJeJTmpQGOULuMApGKwKKf5H1EehNIQBXXqkUc3DJgCvHvZVWn0IPHD8HYZFSZnzSwxZsYmD1Pbt1jDx8gJY1cWDsnUJLXjlNBloebaKYIXz5Nsb/o893wEabxEFavnq4NYcM3tLxIR5Ra2L15khyecZRyjYMeqpatqNRYIIiNrvQ7iDIFQ0W63M3kT45h4qUyLEc4kd/+7NMNRj1z+8WigLt4dB4XzHzVJpkMRGt8lZhh/y5AJcsLATfhKiJV5bQWhlaR2mvwMCY7z+6+m99+Vs4y1Zii1Uju+sX2/sFJqx9ZjlsrgxFLL2M/TMXO18MDMXuUG53eYjsGumc+OQUz/nBIIXu0ppmO4/aD5cmcdtXBY+yBOE6N/BwJ5DkthXoPAbDXQfv0vqcIHi3UFwr/hFxlacL1NGJI6dlphVAEwGfhDniVb39Tzy+2NjDwxBfDEyE7nsnBIvfyy4mWW1zfdzIKrfr66AnEKQr4aXF8Xjt7uY5bVX3RykZpbXV2IhJ2LDx4IVZ1eHs5+FtcTwDSMq15/xOGlkw8INLLvkEt7UtJ/OX64dEUv8FIRY5MGQRBsdhw9+4SDIeez4kEgCOxE6ojW91TNguneM3V0tsd44fGo+CeKJkHidtoDvonFa7p8KWCZHKXMr19Tc3ArLrlPUrRwUhy8ZA/7vj0JkjsnsPEGe/iXdqFCDHBttAgDfFwObfcpE6jcIFBR/oHNrFgb7+LLpFxaFINQjOwZikGspt/HcBkHto8nictiwg+lU+myJA2j/3f+wkL/k876bqu6XmLfPK1Q/VSGpXL/nLbNKgxW5fvs+leNSRJOzIz08xjkDsWJFwbWLM3DLEUJPmzXyF3jFPaeJx+CPeCFNzx8BXqLeQlfYY5sF8QApDoPsgy8IPHciiujVw1wDCiBa1SK+UaZB6nVgpdw0AIh00dXs7trw1TMiSEL/67OK0qdVC1y8BrW7kYEScywDT+ccaWBqwuAGCDch6yZmbZxEjjh0nfJZekNyg5X7NGw4glqWm8Kv8CW0xZIbaxp+yWjDAqyTJGetHyGduHmvmSxWxbWG70sJYk7mFLtTRlZfC9JxWXgpQmI4nTp43i1KzfrvCA1EhTfeQ7i1wSu7gWQaypIOMR3GTOMItaYG5XvSWwolvKheqPFHYq74SKymdur/F5dkYVa1ongvtXBZ2sX+Bc87rSlegV6WkDbu6BXV7jDK3ivaDoUI6crnnbtlYYPpxJyC/YMA2DnZjf6e/h/OA/zFLyEbPG5N5ujJL3M0lgWatqZIRdnkGyNFV+ILhAm4rT9iOjCQ5Xpapv0RaytODf8HOBy2kM349uZGZ6xvfX44jx7L0CTG38uXoq0i6Gepqtdc6S/zwvt4tb1YhAjECrkrAlfJnMXhIcKZVVU8o2swzF01GqBHaXiDKWQC0xZYPFWcvZMRVv9mi0URrgztaOU3ALk86hyj+wa1VuREw6AvJXAU2RsP6pB5aYYBziTwU/Yadzodgai6ITB1JthTUUbJ24YO4gMumhKcMWpByvih85tQoZzc4gh9KLbWaczyi7TOx2Z5RL6bmkx8X79Hpb71sZFlJZOyBa1uS2dZEWTnh+wwdfsQB8xV27FzVDaHU+U2JkXEWbHzlwWasus7V3UC4GuQHjAxP39FclIG384OuTxAmuUeIHHN8+iWR5lZG5jn6XUhZtTSe3xEkUfHB2yJRaLUitFr7OLbl9T2rFai6lxfjhLrDS0sqv9Yr0s0lI7uSWRWd7LZYQMjXN0aFeuI58fDOscAyRbncleWfLPz+C52Xh+MOQzK+NIyNMu36fpKoG7eyrBfUzCwErS2AtmslCDj59wL1G2QqJoxzPAPJLUXkQApJzlIq34DegoQrGN41dzMZQKsAVIqxoZ4aVG+2ATYtrJLbYOZMtiW25hpGJL9tEd8gF4LZiG8YIIYPub2AFKEnuGskXxtuSjFLkdEH7dwXfsuQTb2kE3t9H3HgqDdUAonvdZ43RAYD7t5+bogECf9gv1MQ/6uM9o2wGh/LCfq9YBgT7tFxrkyLHn7hdi54Om5672iOjMRbjwwMTFCl6D8LD5DmwlPFSjeNXAs7iyFPG4XPDwi0wMVM0wtqAwDcMctxRWcutFVvbu2HJjD3fHZeeKa+UX8ngTuveyUCuvxUB8C/wApbZrp3aHvFfhSXsaxeGXe+B/5YGfp2nUaTalo98a7ZeHDfrf5oLOanpBktqBg/5tR55I+3K53WpLYqsttiSac0yq/YiqRJFS17z94AWsEu4TcCIi2Gs44SJapqiR2rOk7yUpfIWFHdUS5CMnrTVItf1KDgs13rj1ovNo2SMG07Aavs+fAO/x9Xr9qnXduLP9JYJmE/ip7SeIL2YSQ2XIPfZ9iMDISI4VXsb1Pz5Rd4TLNMLHshqWN7cW5kCMIgbACxmkahPKnZI4psTSMj0ySAu09qWH9SqdLN0QUjeYApULb4wfP+FNMVvh4yf4bCc5lWR6VdKN7SRvMnKGL0GCo9aPMCVezqKac+bIubXsOLbvrcT7M+/LXOT4Nm4YAsho2YWBVDQq5QxZeHhWYq7eXK84dnvNYSsQZ+n6da5vJ1ghF32RhVoNNjiBCBLU66wb2A6IqODYUbqMkXWDAme+sONbqgLOxhdfCoFTL/WRTA6hUHx4IA/N5tVVJ4lsB3Wur5vWahtCpOPFKskLuSYQIhZv3YwMDncTD9RBp+UowYKXAFpE6T1/QhU7gVXV/PnLuwSR7xBgkUreV6UBr4l4ma5eYk29wPaLScJDuyOSzFpxBeqRt47FHk2IZI8oEW87zwed50a9cDMvrC9Ijgk4ddfcXfYNLOOEfAPBWhvfOmMNjA+In+3UmbMRsmuVTLSnLlNBs+tMvdKErjedohgFDrK8wKLvUuXHX7mW5vXtKEGuNQ+XMZkkbGXXPDhqtbZMW3jBMkVk4o6Zz8nM5tG22YysOybTafSWR7xjvkxgUS7AP2+13U7xDw9CRanyIxW2HKCrYFOuRTjOqzUf1bejKvG5A7MpNGkvlwHZrDfSiyOFY6vr11JkRzhtSROu6AxWHBfFoYOSpKxWyXq5+t8rJWXqpMk36ggWKEOHNx+Rk++jAe0wKS377qVQu7ETRJ6FVp2vQtbMQ5p0Royr1vUqn1Fx5wZQKoHbAnEN3cbovYeawEha78ADH96hGDcf+LmUje/Ajiq0D3wuFwZVZNwHflMUjNocXa1We0zgVWR9c80GJEvi6DG/VvPk1gl4vwsPzxin0Q3yBLwXslRnL5iz0z/jeRqsZBevet7LHJ5PypHb3c6wgU02a6htrmcYPO56Fvht17Po0vXMaH2Lv7eL+bc5fK/OOuORbMJHkyodt7fsZ54FVhyEkZUB/ikZuldlD1+hccVmyjW8kGGNMVWH/EODmLU6CWI2jBkil9/fcLBRvDo8V7b0VZ2zo0YXGhxe9eMn4BtYrqsq7poH4aH8QcdY1c+snmIq+GyYLiJy8MMd8uKu/Lh9Aqm9i9CFVy9f7oaUpfwZbUWjOIxQDPm3pvPjGsncdI4gsp1bfLTHPnAhDMhgmIAduBAm9FDNPUONWWMfzsIY07LvVoN03Ggd7uM2K52jGOEabxcL8bF03DrkwUVTL0AueAHgM1kY4JMvUXQ/u1/DItPfuUIa5vO4ZyPM9LOXoA0E3RV5LlNRz1Zcu0GieuU9dT4c4r2lXR3Jb5954YCnr3DIYnK50hb4Oy+dh8u0F6blKfShoJJLa2zRvaT5odFszmiEPsMmzOxHLCcUM7D5iEWJ6XPzYZv6SfhtMwq54b2EGIwxJVnX8Baeb8f+PfF8u5Uv1G43WocNKK29hVGD2qFRqkBPmGRxYGbY/mf7vpQgNyAE4ecGc1AlpipeNWz7Jv6KXHRux5WQjevH6pdSvMoVZu4kGhormsR8I78fnuha0ljeLIN02fjAx4w7S2evPvB8ndxXBEvf3yJBETyPcWCubjKJx5lMFLx+Hfr3B3MldapGyW1eDefKIv3wM4q7doIqoU8Mmsawd9Uhv/DoXO/hZx+DO9c0AegPgPJXFYZcozeqz7wpVD2BeRYrrQB98ZKURvsMx9ccAb06SGAah4usDNEgDYuA3o6tLuWiqb30U/iBeKlK+XhseFN6QfUoj4bwQJ22ahRCfwUfBbN0jlOhxcPvv/9eFe01FF9X2/nGff0lOv7LF5B/TN9tsl5d8yDG5VemccG5y4sc3t8K4JvrVeWLB9sC5IVc44spK75kW3xpa01Bqtx3K0Zj4FsaPV2bJ2lSaFFUrvWa0CuE7O8oC/TlZFEU6JvJ9ZJA303+ZAXhx5O/xPefkv8b8P+TEsBI8TekHMOtmnNki2WoeA8tZMIdZx6cxY8dsUA82XS3k9bYPZJ5P6LiluTbqts/oxfNRRyduJV+q/bHqm6oo7P/CQAA//+EJG0NCkYAAA== + H4sIAAAAAAAA/9R7f3ua2Pbv/76KNZSe6DSomDTtmKFniJKUW6NewHR601weIltlgkAB0/ZY3/t91mYDGzWZtHOeufPNec4zylp7/fisH3vtjX32U+vWC1q3TrKoaYZhmx9MS7vsWQPbtFTDss9VfaAcA6X1BqNJ39aHumVb+qU2mljKy4xyrg80+71q9d4WlJOM8nY06Nvv1YE+nPyuXmhDS3mVEQxtoKmmtofhdcagji1bH5qWOhgUQn/JSP1R751m7FA77Qq5P3o/HIzUfkmXK/R32oc9PJ0KDxqBfAX5qELmMOowkC5HZx/osoFuljh1GFCXpn0xvnhA9QknYcc3BltvNLRUfagZ/V0WBpwxGfZ2iQy6d69NZBjqw4uCdtQuaTtWHTHQ3k3ONEyL4ciyz0eTYV85YlDplxd7lh2VywaaxSN1dFyN4uWFPZ5wph693HG1Z+3jO9nlM3S0cZf1YfRo6nJOvd7hvNIMUx8NbX14pQ70vnLEoOwN9V2/j+Ui0GNj1Lf72tkeps4u0/jdha32+6zgGHojQ+VCohnGyFCOGTxZpXKO0IWv8xzqj43RmcaeMotHE+sMvUTvhhnpJRd7dazbpmZcaQbPIO9l6A9NezAavZuMGVtnL5v6fyaGtsucJ4dqqftr4aTNcWwX4YnMEbcT/YQZcvW2vx3bk93E2lH8qs0V0S6Vae5NTGt0aZuaavTe2v3RpaoPzcy310zAxXiyu/71EUc0dMwsvjJeH++St/17/ZLj0a70nmaPB5MLfVgRdFIy6cPzkW2MLu3eyDAmY0vrK69ZOZgXvz+o55f2Lg+n4Re57NJ9VR+U0fmF69+TcV+1tJKUV46pYeJf6bSuzJ6hjy0aJ0NT+6Ukud3mlGA7nYwvDLWvcRycGeOJccESXm53iiLBhmBoGAZFbjP8e7ppq6apXwxtYzSy7PF7RZblHRrNn7FmXOomWqrIMhM7Vmnr6o3GHyiTIsu85PF48MEeq6b5fmTQYjvXLxRZ3ircYg8ZsbKQ5byjZW1sJ31k+VWFYTTWDNVCDLPWIMt597KMPcRfoJaBRYvStNTeO/tCs2zVuLSt0TttqMj5FrrNMtSs9yPjHfNlkglW5HxH3WY3J2dDzbLHhnau/67IuKkWRXk20Qd5L5NxX8xAea+O7Z6hYbpkYOS7Ek/Rh+bk/Fzv6dqQZsQ72xyrPU2RcZei3JY20MYjw+pX2qYi532upOcJn5FzRwxLP1d7uF8ZmnqJu2QuR5HzHreHiQlTZGxt2eBjWWNM8t8/2D0VcbvSDEuR88bGKgNJmmGZinxSDCfMbFPrIajWwLTPRiPLtAx1XGyn2u9aL6/7IjtO8gD3dfNMHWi2PrbUs4FmKjK2taxnGhPTQgm7yZU3t75u4irbNN8q8qs84w39UjU+2EO9Z+tjrqnKr1jm60NTMyxbv+ybtqGZFqYoZp8xQUuG1si+VIcXA82mNinyq+OnrjvXB5ZmFOtYGfURCO2BdefY8Lb0nTx13Za+V1zyGhrGwja0/z3RDa2vdPIWNRzRpqBeaCYDppP3JnOojs23o6Ib8kNjO6+MsaFfIRH3TxwFMCs7ebvCh3y6dtrHedkU4/qlar5jQhmtZ2h9bWjp6iBrtv29M3E7r0AcZ7ZHnU77BGo1bwYzL3ChRdIpSOnXiMAMpMBZEhB+lmLiEychAkhR7AUpSJ9WXgqdNy2X3LeCle/DN5jHJALpExw0D04hXZCgBgAwMhWxnoRxClJMhbcKabjG+XwHB0snnS7qYvsQWv+3rvftgf5OU+rTMCZh0vim95V68+dGQ2wdgtOANWQmpOEqikhcd647N+BcH900ToF88VLYHDSY5tzV77SgAOi7FcM3SGOQXDgQDho14ieEWkKmixCELdVBmMIsXAWuUJt5tdrkbDK0JvbItIfqpaYI2XehdqkaOMWUBPagpNAJaZuMD4Uam+eV1iqJW344dXx6ELxb3ZJp6teyzSmj4nM3nN6RuEa+RIgWHT6uFEFcl6NKjmhX2QgVPs20eC3Bved6Tm14pfd1Nd8E82h0mq+bbUmubT2Wm/JRU5bkfFUxweGchqlccApHzZNmuzAg15JZqF+qF5ptvlVzy4sHvNH71ljqReHt1UYS1w8IflSKIiyncXPpTeMwCWdpcxouW85dgv+X5tGqWIq7dza5ZSXfu+wrwjSNIV4FIGGZ3Xs+mRMXJClegiQFJJUWYZKCJH320oUUJBB5brcVxeG0JbeCpBV5yLwMV5ikXyOi3HqBe5jEU6UVRmlrHq0O3SRVWssg+xJGqRcGiRIj32MrnSllLFfnDyoSCtdYXHe8y9Jrn4MBSRXmW+S57OM95GZ3c5OLh8yALm8NBUqo4ZTYU3tvNbuvG0rr3olbU2e6IC0H18XThXdPklYNJz51iCMGxxyHYYp82YKadqUNLTzVXFzQISGX54fzlvOfVUxal0WcVfze1L6kJEjQmmZvlaTh0pzGXpS2yD0J0qRV602MAZ7QxhNLaaXLqDVdxb59T+LbMCHNcJXWajFJ46/TpWt7M3vmeP4qJvUGrGkjQZpHEkWUT+Gz46V24hMSKWLnFFJvScJVqohHp5AsvFkK//rX1gcqYhbG4IEXgFhPyCeQQWRCG6fghpQF/5g4EPMPgrj+bSOgrNuYOHfw7Rt8LLi9GVyD6IFEPhXy4IbbBfI/2gm1L2S6SokLHwXxt48CLkQtyWmFNSbpKg5ALh4W7TT/o86DWAJRUGce/eiGAdeAH1a7KUEPEj8M71ZRATkPs8zBjJCHqePbPPAxmYaxq4jHdGmSOnFK6YpYd52UwIvnSbY3fV54PoE0XpEK6rl2kAqpOf4SNVFpI76o5IFITFdxTIIHtJahqtd5RpA4WxsNkOYExIp3DwdTsJCPy5fKsphgJbmH3+UZZj1xhcezgYX44Twogv8oJJkPRWp8l5lh/GdAJmQaBm4iVFKsrGs7CO0kddLkn1DgWN9/tbz/WzXLoTUnqZ068a3j+wVKqRPbjyGVsVOkVrGfl2MWanHNrd7kgAsPQMfxbsHnxCCl/5lRFtT2FOg4aT8IXx6skzamtQ/SLDEH9yDSz2FpzBsQua0GOm/+JVfkoFnXIP4bflKgDTf7jKGl46QVQRUGrgJ/KLJ065t5frm90SdPLAFcGDnpQhGPWZRfVqLMy/rTMPPM1ThfX4M0AzHXBjc3RaD3x5gX9ReDXJTm3lAXJmFw8eBBSDXo5eHsnxJ6yjAL42rUHwl4GeQjyho598RlMymdv6Z+uHIlL/BSCXmTJuWgvNlx9PwTJkMuZyOASDkwiCwQ7e/pmoXQg2fa6PyAi8LjWfF3NE3KieO0B0ILzWu5QmlgWRylzW/eMDhqm1ryNUnJcppi8tI97Pv2JEjup4GDG+zxX9qFCjPAdcgyDPC4HDruUxYwu0FkpvwNm1mhG3fxVVKqlqQglCJnTmKQquX3R7iKA8fHRdKqWPBD5VSGLEnD6H9cvNDovzNY342q6yXO7dMa1T8KWGb3PxPbrMOgK9+H618FkxaclIH0zwHknsSJFwb2PM3TLCUJHrbr9K5xBgfPk4/BAQjibwJ8A3aLeQXfYEEcF6QA5IYAigKCKAu1Ta3MXi3AHFAD16w08502D3K7DS/hqA1i5o+hZXfXpqVaE1MR/11dV7Q6udrk4A1s3Y2IspTxNv1wXisBrioAKSA4h2zBzMY4GabhynfpZektyQ5X/NGwEgkGrTeDn2DPaQvkDnraeck5Q4KsUuQnqc+4Xbj9Wop42BY+Gv2sJGk4uFbtzThbfC9JpVXgpQlI0mzlY746lZt1QZSbCYnvvSkRtgyu7gWQeyrKmOIPgRlGEQ/mTud7khjGy+Qwv8nynsS9cBk53O1Vfq+uKmI9m0Rwbp3i2doF4YWAk7bcqLCeFaydh1ivr3HCK2RvWDkUT842ApvaKwMflhJxC/GcAODXZjf6B/g/rMO8BK8gU77w5guSpFdZGStiXT83leIMkunYCIXpIhUizTqPmC6uq0I3+6wvcm1Tc8PPAbbTPrkd382t8JyfrcfvLrL3Aqy48XvxUqRTPOrrhtazRsaHvNEu71wvBikCsULOhvBVsnBBXFcom6KT71Qd5tBJuw1OlEpzkkJuMBOB5m2U7DMzbfNzpiiMcDJ1opTeAuTrmHOP7BrVW5HTGgB9K4FLFMSPeVC5KcYE5yr4CTuNG93NQZKmYTDz5uip5GDhhvGU0IcumVG+4tSDjvjh9C6hj3M4pBD60d282x1ll+ndrsJLCX23REz6un0PW/uzjYs6LZ/SLWp3WzrNmiY7PyDgWziwjyi1tqnNSdobT9R4uigyzImnC0Wsr7Kxd9koDLoGcY3Ew8MNrUgHv5wcC6hgixIv8fnuWTSro4xc29lnGXXp5lTae7xENS5PjvkWi6bUS9MbvNL9OuUHtLW5HueH88ROQzu72i/0ZZmWOskdzczyXi4jZNxYo0Onch35/GjYqHGMdKuz+CtL4fk5PLeaz4+GQoYyZkJedvk+zbQE7sNLKd8fSRjYSRp7wVwR6/DHJ5wlylFIkpx4DigjSZ1lBEDbWW7SRthhHUUkdjB/dRdZmQF7GFlXo08Eudk52mWxnOQO0YFMLWK5R5CGSA7IPfEBBD2YhfGSGuD4u7yXJEmcOcmU4rbkk5S4XRB/fkDu2HMpb/sBurWPfrAuAOuCWHw+5MHpgsh9O8zh6ILIPh0W7qMM9vGQ87YLYvnlMHetCyL7dFh4kHOOPfewMDt/aHnu5oCazl2Ei2suLzbwBsT17juwjbiuZvGmiatqZSsSsF0I8JNCAapWGN9QuIFhgSOFndx5kZ29O7bd2MPpuJxcsVd+oR9vQ/erItbLazGQ3oJwSVLHdVKnS9+rCHQ8jeLwy1cQfhZAWKRp1G215JNfmp2Xx03239aSrWp5QZI6wZT824k8ic3lSqfdkaV2R2rLrOa4UvsRV6kjpa/5+CGI6BLOCViIBA6a03AZrVLSTJ15MvCSFL7B0onqCfHJNK03abf9Rg8LdcG886KLaNWngOnohu8LpyB4QqPRuG7fNO8df0Wg1QJh5vgJEYqVFKiM84B/HyJyNtJjhZdJ/V+fWDjCVRrhsayO9uZooQQKihSAIGYsVUyYdEaqcS2WtemRSUegrR89bHfpZOWGkLrBDJhduDH+8Qk3xUzDH5/gs5PkVFrpVUt3tpN8yMgFvgQZTto/IpRGOcvq6YJM72wnjp2vduL9Jx/LXDL1HZwXAsho2X2BXMwp5QpFXD8rea5/u9nU+N01Z9uANE+3b3N9J0F/XPJFEet12JEEEsjQaPBR4AegzAMnSlcxsW9JMF0snfiOuYDF+OJLYXDqpT5R6BkUii9r+qHVur7uJpEzJd2bm5a92cchseeZMC+xZ17g+HZC6It9RVx3uhLN3E2t4HrkrV6GjyBuC6LjNab8Fk7lfsukJfSlvZ09wmPSZyedLnig9qzJdOxZRBMCvS7ejNrEd6KEnj6o3ZL725+9kV3Bi+dvu88vu89NdLGIR3ItUhBvFHG9q2BTYbXD2CXxC6WeLWlAjUZyr90VSDe1WhSHU5IkZSIk25mwneycYhz51qyKzsqnlBe8BMgySr8Kpyz9TgHNZjEIb/8g07zRBGwLZrTsx2niOv9tMR4kBDhY10WOodGF9WZzQMceHOrrdU9pn4L3q7h+tg0NVsUpeC8UuVGO+TlAWZGud9Z4N5sK336LOSF0lOK+bwTGtBs/ZOVDXV13U0xF1GeO1OjyL+JzaQebrMc/Ai1u5FU6bgb8d4FnrLiMnJUHwlPCxRyoKoFv0Lzmo3gDLxTYEk93rOzkUgPs1EIz46qaK67LHySPNePc7quWirNNSpaRdLvyfFeKSDyjL5DoJIMtf3n/CH2/SFoDy9CFVy9fPsSyqdWesSYbxWFEYsh/DpjPITRJ0wWByJne4cx662AihAF9GCbgBC6ECZsWa89Ic948hPMwRlr2o0GQXzfbx4fYB9MFiQmWmFMoEmL5dftYAJfMvIC4eMbFYSMMcKSj/h1mB0esbPYPuCAN83W1ZyMU+tnD4+QWB+tgQi1z0cg0bh2NmF/5bpE/DhNFEDvVJ/m1iiAeCexukipTSk172N976SJcpf0wLcerdUGltzGI6EHS+thsteZs8HmGEGb4UeTEYgXCRxGl0OfwIaZ+Ev45jGIOvJdQwDgoqV7TW3q+E/tfaeQ77VxRp9NsHzehRHuPoCbDoVm6wEYnqhy4FY7/2flaWpADCEH4uclNYBSq4g5t309MN/QEv5+vZNk5V1fftnqVs3keJJYaGzYIC8384mNi6ElzdbsK0lXzoxBz4SyDvfkoCA06iAcr399jQZE8j0ngziSZxePMJsa8fc7/7ydzpXSqoOSYV9O5omQQfiZxz0lIJfUpoGkMB9dd+tPl7s0BfvaRuXvDCoD9sj2/gzOVOrsqeObNoBoJlFlo2gD54iUpy/Y55teCAJuJE5jF4TJrQyxJwyKh9/NWVblk5qz8FH4gX6pWPp4b3oydvB6V0RTXLGibZmH0N/BJME8XWAptAX799deqaW+g+B3Gg6+Stt8O4V+uQPkxf/fZen0jgBSXvwXEhnOfNznc1gpGOghxb9T2JcgLpS4USzZCKbb4NcKWg8y573aM5cCfefR0b57kSeFF0bm2e0K/MHLwQFtgt+5FU2BX7tstgV26/8Mawo8Xf8k/eEr977D/f2kBnBX/hZLjpFVrjm6xHBX30MImnDzz5Cz+FQ8aJNBNdz9pS9wjlfcjLu4pvr2+/T1+sVrE7MRR+q02GGuGqY3O/18AAAD//2UkdiDjQAAA diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData index 83a88b39124..6ab3d274ff8 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData index 50f83e46b4f..c239635c614 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData index a59b17081a9..e59d15aab97 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomCloud/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData index c74a4f4536d..ca39312ea2b 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData index c74a4f4536d..ca39312ea2b 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData index c74a4f4536d..ca39312ea2b 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData index 0115c8fec0e..476fc21192b 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData index 8819a12c882..2cd36f792b0 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData index 8819a12c882..2cd36f792b0 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData index 8819a12c882..2cd36f792b0 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData index 78c7529b720..847e99aa837 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData index 1d9eca9ce3a..0c5e2d7eaee 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData index 7550a2094f3..50b939784e2 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData index 78c7529b720..847e99aa837 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData index 78c7529b720..847e99aa837 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData index 78c7529b720..847e99aa837 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData index 8819a12c882..2cd36f792b0 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData index 8819a12c882..2cd36f792b0 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData index 60b2c446f59..1ffaf0593eb 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBoostrapping/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData index a18846cdeba..f6cd6bae4cd 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecureTLSBootstrapping+CustomAADResource/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData index 1d6b894512f..c2103014d82 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData index f8724b06c9b..f82b3312139 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData index 8819a12c882..2cd36f792b0 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+cgroupv2/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData index 1c6eba5c1d7..2feacf6089a 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData +++ b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh +++ b/pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData b/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData index 631233b4097..dda3d28cdb5 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh b/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh +++ b/pkg/agent/testdata/AzureLinuxV2+Kata/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData index 631233b4097..dda3d28cdb5 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData index 631233b4097..dda3d28cdb5 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData index 631233b4097..dda3d28cdb5 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData index 631233b4097..dda3d28cdb5 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/CustomizedImage/CustomData b/pkg/agent/testdata/CustomizedImage/CustomData index 01d0c1aa7b4..1e6fd16317e 100644 --- a/pkg/agent/testdata/CustomizedImage/CustomData +++ b/pkg/agent/testdata/CustomizedImage/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/CustomizedImage/line9.sh b/pkg/agent/testdata/CustomizedImage/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/CustomizedImage/line9.sh +++ b/pkg/agent/testdata/CustomizedImage/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/CustomizedImageKata/CustomData b/pkg/agent/testdata/CustomizedImageKata/CustomData index 01d0c1aa7b4..1e6fd16317e 100644 --- a/pkg/agent/testdata/CustomizedImageKata/CustomData +++ b/pkg/agent/testdata/CustomizedImageKata/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/CustomizedImageKata/line9.sh b/pkg/agent/testdata/CustomizedImageKata/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/CustomizedImageKata/line9.sh +++ b/pkg/agent/testdata/CustomizedImageKata/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData b/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData index 22cb1a88f6f..441acf8ab81 100644 --- a/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData +++ b/pkg/agent/testdata/MarinerV2+CustomCloud/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh b/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh +++ b/pkg/agent/testdata/MarinerV2+CustomCloud/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/MarinerV2+Kata/CustomData b/pkg/agent/testdata/MarinerV2+Kata/CustomData index 3bab1d4950e..93152591616 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/CustomData +++ b/pkg/agent/testdata/MarinerV2+Kata/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/MarinerV2+Kata/line9.sh b/pkg/agent/testdata/MarinerV2+Kata/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/MarinerV2+Kata/line9.sh +++ b/pkg/agent/testdata/MarinerV2+Kata/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData index 3bab1d4950e..93152591616 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData index 3bab1d4950e..93152591616 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData index 3bab1d4950e..93152591616 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/9RbfXubuJb/n09xhtIbexps46Rpxhl6S2ySsvHbAk6nm2Z5CMg2DQYKOG0m9XffR0KA8EuadmZnu7nP7WCdn47Ou46E/eyX5o0XNG/sZM6pum4Z7w1THXTNvmWYim5aZ4rWlw+B0Lr90aRnaUPNtExtoI4mpvwyo5xpfdV6p5jdtwXlKKO8HfV71julrw0nfyjn6tCUX2UEXe2riqFuARxnAGVsWtrQMJV+v2D6W0bqjboXqr5Bbbcq5N7o3bA/UnolXarQL9T3WzDtCgYLgXEF+aBCZmzUpkYajE7fk2l9zSjt1KaGGhjW+fh8x9JHDIcN3ajZuqOhqWhDVe9tQqjh9Mmwu0mkprs4NjBgqA3PC9pBq6RtSHVAjXYxOVVxWAxHpnU2mgx78gE1lTY43zLtoJzWV03WUgeHVS8Ozq3xhBH14OWGql1zG+5oE6drWMZN6G7rkdBllDreQF6quqGNhpY2vFT6Wk8+oKbsDrVNvQ+lwtFjfdSzeurpFlB7EzS+OLeUXo8mHLXeSFcYl6i6PtLlQ2qeLFMZRcjE4zyGemN9dKrSUSrxaGKeYi2xdsOM9JLxvTLWLEPVL1WdBUhbAb2hYfVHo4vJmMLaW2HKf010dROcB4diKttz4ajFINaT8EhiiOuBfkQFuXzbW/ft0WZgbSz8qsUk0SaVrtydGOZoYBmqonffWr3RQNGGRqbbMWVwPp5szj8+YIi6hiOLzYzjw03yun7HLxmMeql1VWvcn5xrwwqjoxKkDc9Glj4aWN2Rrk/GptqTj2k6GOd/7Fznt9YmhlnhN6ms0j1F65fe+Y2p35NxTzHVkpRnjqHiwL/USF4ZXV0bm8RPuqr0Sk5Sq8UsgsvpZHyuKz2VQTBijCf6OQ14qdUukgQXBF3FbpClFrV/VzMsxTC086Glj0amNX4nS5K0QSPxM1b1gWZgSWVJomzHCild3dH4PQHJksRyHo/7762xYhjvRjpJtjPtXJaktcQt9pARTQtJyitaVsY2wkeSXlUAo7GqKya2YVYaJCmvXqa+hfgbcJmxSFIaptK9sM5V01L0gWWOLtShLOVb6DpkqJrvRvoF1WWSMZalfEddhxuT06FqWmNdPdP+kCW8qRZJeTrR+nktk/C+mBnlnTK2urqKwyUzRr4rsRRtaEzOzrSupg5JRFxYxljpqrKEdymCNtW+Oh7pZq9SNmUpr3MlPQ/4jJwropvamdLF+5WuKgO8S+Z8ZCmvcVtAlJks4dKWNT6mOcZB/sd7q6tgu12quilLeWGjmYFJqm4asnRUNCdUbEPtYqOafcM6HY1Mw9SVcbGdqn+o3Tzvi+g4yh3c04xTpa9a2thUTvuqIUu4rGU1U58YJuawGVx5cetpBp5lGcZbWXqVR7yuDRT9vTXUupY2Zoqq9IpGvjY0VN20tEHPsHTVMHGI4ujTJ1iSoTmyBsrwvK9aRCZZenX41HlnWt9U9WIeTaMeNoS6Y94ZLnhr6x09dd7aeq+Y4NVV7AtLV/9zoulqT27nJWo4IkVBOVcNaph2XpuMoTI23o6Kasg2ja08M8a6domJeP/ErQCOynZervAgG67t1mGeNkW7PlCMC8qU0rq62lOHpqb0s2Lb29oTt/IMxO3MeqvTbh0Bx3lTmHqBC02UOiCm9xGCKYiBvUDA/yrGyEd2gngQo9gLUhA/Lb0U2q+bLrprBkvfh68wi1EE4ifYa+ydQDpHAQcAMDJkoZaEcQpiTJg3C254jv35FvYWdurMa0JrH5r/XdN6Vl+7UOWaE8YoTOpftZ5ca/xarwvNfbDr8ACZCGm4jCIU1+yr9jXYVwfX9RNAX7wUVnt1unKu6ndKUBjouxeGr5DGILqwx+/VOeQniEiCnHkI/NrSQZjCNFwGLs9NPY6bnE6G5sQaGdZQGagyn33muYGi4y6mJNCBkkI6pHUyHuQ52s/LzWUSN/3QsX1yELxd3iAn9blsc8qoeNwNnVsUc+hLhK1Fmo9LmRceylYlt2hHXvEVnGqY7CrBned6Nje81Hqakm+CuTfajeNGS5S4tWGpIR00JFHKZxUdHO7TcCgXSP6gcdRoFQLkq2QSagPlXLWMt0oueTHACr1tjqmcF9perkThYQfjR7nI/MKJGwvPicMknKYNJ1w07dsE/1+cRctiKt69s84tS/nuoCfzThpDvAxAxGl25/lohlwQxXgBohigVJyHSQqi+NlL52KQQOS5nWYUh05TagZJM/IweBEucZDeR0i+8QJ3P4kduRlGaXMWLffdJJWbiyD7EEapFwaJHGPcYzNthwDL2flAhUOhGvXrhnZZeG1TMECpTHWLPJc+3kEudicXuRikAnRYaYiheA53iV2l+1a1epouN+/suOnYzhw1bTwvdubeHUqaHO74lCFuMRhwHIYpxmUTOPVSHZr4VHN+TpqEnJ8fzpr2n8sYNQeFnxX8uaF+SVGQYGka3WWShgvDib0obaI7FKRJk+tO9D4+oY0nptxMF1HTWca+dYfimzBBjXCZclyM0vjeWbiWN7WmtucvY1SrwwMpJJjmoUQWpBP4bHuplfgIRbLQPoHUW6BwmcrCwQkkc2+awr/+tfZAWEzDGDzwAhBqCfoEEgiUaf0E3JBA8B9lB0L+wAsPb1Y85nUTI/sWvn6FDwXam8IVCB6I6FPBD66ZXSD/I5VQ/YKcZYpc+MALbz7weCJeJTmpQGOULuMApGKwKKf5H1EehNIQBXXqkUc3DJgCvHvZVWn0IPHD8HYZFSZnzSwxZsYmD1Pbt1jDx8gJY1cWDsnUJLXjlNBloebaKYIXz5Nsb/o893wEabxEFavnq4NYcM3tLxIR5Ra2L15khyecZRyjYMeqpatqNRYIIiNrvQ7iDIFQ0W63M3kT45h4qUyLEc4kd/+7NMNRj1z+8WigLt4dB4XzHzVJpkMRGt8lZhh/y5AJcsLATfhKiJV5bQWhlaR2mvwMCY7z+6+m99+Vs4y1Zii1Uju+sX2/sFJqx9ZjlsrgxFLL2M/TMXO18MDMXuUG53eYjsGumc+OQUz/nBIIXu0ppmO4/aD5cmcdtXBY+yBOE6N/BwJ5DkthXoPAbDXQfv0vqcIHi3UFwr/hFxlacL1NGJI6dlphVAEwGfhDniVb39Tzy+2NjDwxBfDEyE7nsnBIvfyy4mWW1zfdzIKrfr66AnEKQr4aXF8Xjt7uY5bVX3RykZpbXV2IhJ2LDx4IVZ1eHs5+FtcTwDSMq15/xOGlkw8INLLvkEt7UtJ/OX64dEUv8FIRY5MGQRBsdhw9+4SDIeez4kEgCOxE6ojW91TNguneM3V0tsd44fGo+CeKJkHidtoDvonFa7p8KWCZHKXMr19Tc3ArLrlPUrRwUhy8ZA/7vj0JkjsnsPEGe/iXdqFCDHBttAgDfFwObfcpE6jcIFBR/oHNrFgb7+LLpFxaFINQjOwZikGspt/HcBkHto8nictiwg+lU+myJA2j/3f+wkL/k876bqu6XmLfPK1Q/VSGpXL/nLbNKgxW5fvs+leNSRJOzIz08xjkDsWJFwbWLM3DLEUJPmzXyF3jFPaeJx+CPeCFNzx8BXqLeQlfYY5sF8QApDoPsgy8IPHciiujVw1wDCiBa1SK+UaZB6nVgpdw0AIh00dXs7trw1TMiSEL/67OK0qdVC1y8BrW7kYEScywDT+ccaWBqwuAGCDch6yZmbZxEjjh0nfJZekNyg5X7NGw4glqWm8Kv8CW0xZIbaxp+yWjDAqyTJGetHyGduHmvmSxWxbWG70sJYk7mFLtTRlZfC9JxWXgpQmI4nTp43i1KzfrvCA1EhTfeQ7i1wSu7gWQaypIOMR3GTOMItaYG5XvSWwolvKheqPFHYq74SKymdur/F5dkYVa1ongvtXBZ2sX+Bc87rSlegV6WkDbu6BXV7jDK3ivaDoUI6crnnbtlYYPpxJyC/YMA2DnZjf6e/h/OA/zFLyEbPG5N5ujJL3M0lgWatqZIRdnkGyNFV+ILhAm4rT9iOjCQ5Xpapv0RaytODf8HOBy2kM349uZGZ6xvfX44jx7L0CTG38uXoq0i6Gepqtdc6S/zwvt4tb1YhAjECrkrAlfJnMXhIcKZVVU8o2swzF01GqBHaXiDKWQC0xZYPFWcvZMRVv9mi0URrgztaOU3ALk86hyj+wa1VuREw6AvJXAU2RsP6pB5aYYBziTwU/Yadzodgai6ITB1JthTUUbJ24YO4gMumhKcMWpByvih85tQoZzc4gh9KLbWaczyi7TOx2Z5RL6bmkx8X79Hpb71sZFlJZOyBa1uS2dZEWTnh+wwdfsQB8xV27FzVDaHU+U2JkXEWbHzlwWasus7V3UC4GuQHjAxP39FclIG384OuTxAmuUeIHHN8+iWR5lZG5jn6XUhZtTSe3xEkUfHB2yJRaLUitFr7OLbl9T2rFai6lxfjhLrDS0sqv9Yr0s0lI7uSWRWd7LZYQMjXN0aFeuI58fDOscAyRbncleWfLPz+C52Xh+MOQzK+NIyNMu36fpKoG7eyrBfUzCwErS2AtmslCDj59wL1G2QqJoxzPAPJLUXkQApJzlIq34DegoQrGN41dzMZQKsAVIqxoZ4aVG+2ATYtrJLbYOZMtiW25hpGJL9tEd8gF4LZiG8YIIYPub2AFKEnuGskXxtuSjFLkdEH7dwXfsuQTb2kE3t9H3HgqDdUAonvdZ43RAYD7t5+bogECf9gv1MQ/6uM9o2wGh/LCfq9YBgT7tFxrkyLHn7hdi54Om5672iOjMRbjwwMTFCl6D8LD5DmwlPFSjeNXAs7iyFPG4XPDwi0wMVM0wtqAwDcMctxRWcutFVvbu2HJjD3fHZeeKa+UX8ngTuveyUCuvxUB8C/wApbZrp3aHvFfhSXsaxeGXe+B/5YGfp2nUaTalo98a7ZeHDfrf5oLOanpBktqBg/5tR55I+3K53WpLYqsttiSac0yq/YiqRJFS17z94AWsEu4TcCIi2Gs44SJapqiR2rOk7yUpfIWFHdUS5CMnrTVItf1KDgs13rj1ovNo2SMG07Aavs+fAO/x9Xr9qnXduLP9JYJmE/ip7SeIL2YSQ2XIPfZ9iMDISI4VXsb1Pz5Rd4TLNMLHshqWN7cW5kCMIgbACxmkahPKnZI4psTSMj0ySAu09qWH9SqdLN0QUjeYApULb4wfP+FNMVvh4yf4bCc5lWR6VdKN7SRvMnKGL0GCo9aPMCVezqKac+bIubXsOLbvrcT7M+/LXOT4Nm4YAsho2YWBVDQq5QxZeHhWYq7eXK84dnvNYSsQZ+n6da5vJ1ghF32RhVoNNjiBCBLU66wb2A6IqODYUbqMkXWDAme+sONbqgLOxhdfCoFTL/WRTA6hUHx4IA/N5tVVJ4lsB3Wur5vWahtCpOPFKskLuSYQIhZv3YwMDncTD9RBp+UowYKXAFpE6T1/QhU7gVXV/PnLuwSR7xBgkUreV6UBr4l4ma5eYk29wPaLScJDuyOSzFpxBeqRt47FHk2IZI8oEW87zwed50a9cDMvrC9Ijgk4ddfcXfYNLOOEfAPBWhvfOmMNjA+In+3UmbMRsmuVTLSnLlNBs+tMvdKErjedohgFDrK8wKLvUuXHX7mW5vXtKEGuNQ+XMZkkbGXXPDhqtbZMW3jBMkVk4o6Zz8nM5tG22YysOybTafSWR7xjvkxgUS7AP2+13U7xDw9CRanyIxW2HKCrYFOuRTjOqzUf1bejKvG5A7MpNGkvlwHZrDfSiyOFY6vr11JkRzhtSROu6AxWHBfFoYOSpKxWyXq5+t8rJWXqpMk36ggWKEOHNx+Rk++jAe0wKS377qVQu7ETRJ6FVp2vQtbMQ5p0Royr1vUqn1Fx5wZQKoHbAnEN3cbovYeawEha78ADH96hGDcf+LmUje/Ajiq0D3wuFwZVZNwHflMUjNocXa1We0zgVWR9c80GJEvi6DG/VvPk1gl4vwsPzxin0Q3yBLwXslRnL5iz0z/jeRqsZBevet7LHJ5PypHb3c6wgU02a6htrmcYPO56Fvht17Po0vXMaH2Lv7eL+bc5fK/OOuORbMJHkyodt7fsZ54FVhyEkZUB/ikZuldlD1+hccVmyjW8kGGNMVWH/EODmLU6CWI2jBkil9/fcLBRvDo8V7b0VZ2zo0YXGhxe9eMn4BtYrqsq7poH4aH8QcdY1c+snmIq+GyYLiJy8MMd8uKu/Lh9Aqm9i9CFVy9f7oaUpfwZbUWjOIxQDPm3pvPjGsncdI4gsp1bfLTHPnAhDMhgmIAduBAm9FDNPUONWWMfzsIY07LvVoN03Ggd7uM2K52jGOEabxcL8bF03DrkwUVTL0AueAHgM1kY4JMvUXQ/u1/DItPfuUIa5vO4ZyPM9LOXoA0E3RV5LlNRz1Zcu0GieuU9dT4c4r2lXR3Jb5954YCnr3DIYnK50hb4Oy+dh8u0F6blKfShoJJLa2zRvaT5odFszmiEPsMmzOxHLCcUM7D5iEWJ6XPzYZv6SfhtMwq54b2EGIwxJVnX8Baeb8f+PfF8u5Uv1G43WocNKK29hVGD2qFRqkBPmGRxYGbY/mf7vpQgNyAE4ecGc1AlpipeNWz7Jv6KXHRux5WQjevH6pdSvMoVZu4kGhormsR8I78fnuha0ljeLIN02fjAx4w7S2evPvB8ndxXBEvf3yJBETyPcWCubjKJx5lMFLx+Hfr3B3MldapGyW1eDefKIv3wM4q7doIqoU8Mmsawd9Uhv/DoXO/hZx+DO9c0AegPgPJXFYZcozeqz7wpVD2BeRYrrQB98ZKURvsMx9ccAb06SGAah4usDNEgDYuA3o6tLuWiqb30U/iBeKlK+XhseFN6QfUoj4bwQJ22ahRCfwUfBbN0jlOhxcPvv/9eFe01FF9X2/nGff0lOv7LF5B/TN9tsl5d8yDG5VemccG5y4sc3t8K4JvrVeWLB9sC5IVc44spK75kW3xpa01Bqtx3K0Zj4FsaPV2bJ2lSaFFUrvWa0CuE7O8oC/TlZFEU6JvJ9ZJA303+ZAXhx5O/xPefkv8b8P+TEsBI8TekHMOtmnNki2WoeA8tZMIdZx6cxY8dsUA82XS3k9bYPZJ5P6LiluTbqts/oxfNRRyduJV+q/bHqm6oo7P/CQAA//+EJG0NCkYAAA== + H4sIAAAAAAAA/9R7f3ua2Pbv/76KNZSe6DSomDTtmKFniJKUW6NewHR601weIltlgkAB0/ZY3/t91mYDGzWZtHOeufPNec4zylp7/fisH3vtjX32U+vWC1q3TrKoaYZhmx9MS7vsWQPbtFTDss9VfaAcA6X1BqNJ39aHumVb+qU2mljKy4xyrg80+71q9d4WlJOM8nY06Nvv1YE+nPyuXmhDS3mVEQxtoKmmtofhdcagji1bH5qWOhgUQn/JSP1R751m7FA77Qq5P3o/HIzUfkmXK/R32oc9PJ0KDxqBfAX5qELmMOowkC5HZx/osoFuljh1GFCXpn0xvnhA9QknYcc3BltvNLRUfagZ/V0WBpwxGfZ2iQy6d69NZBjqw4uCdtQuaTtWHTHQ3k3ONEyL4ciyz0eTYV85YlDplxd7lh2VywaaxSN1dFyN4uWFPZ5wph693HG1Z+3jO9nlM3S0cZf1YfRo6nJOvd7hvNIMUx8NbX14pQ70vnLEoOwN9V2/j+Ui0GNj1Lf72tkeps4u0/jdha32+6zgGHojQ+VCohnGyFCOGTxZpXKO0IWv8xzqj43RmcaeMotHE+sMvUTvhhnpJRd7dazbpmZcaQbPIO9l6A9NezAavZuMGVtnL5v6fyaGtsucJ4dqqftr4aTNcWwX4YnMEbcT/YQZcvW2vx3bk93E2lH8qs0V0S6Vae5NTGt0aZuaavTe2v3RpaoPzcy310zAxXiyu/71EUc0dMwsvjJeH++St/17/ZLj0a70nmaPB5MLfVgRdFIy6cPzkW2MLu3eyDAmY0vrK69ZOZgXvz+o55f2Lg+n4Re57NJ9VR+U0fmF69+TcV+1tJKUV46pYeJf6bSuzJ6hjy0aJ0NT+6Ukud3mlGA7nYwvDLWvcRycGeOJccESXm53iiLBhmBoGAZFbjP8e7ppq6apXwxtYzSy7PF7RZblHRrNn7FmXOomWqrIMhM7Vmnr6o3GHyiTIsu85PF48MEeq6b5fmTQYjvXLxRZ3ircYg8ZsbKQ5byjZW1sJ31k+VWFYTTWDNVCDLPWIMt597KMPcRfoJaBRYvStNTeO/tCs2zVuLSt0TttqMj5FrrNMtSs9yPjHfNlkglW5HxH3WY3J2dDzbLHhnau/67IuKkWRXk20Qd5L5NxX8xAea+O7Z6hYbpkYOS7Ek/Rh+bk/Fzv6dqQZsQ72xyrPU2RcZei3JY20MYjw+pX2qYi532upOcJn5FzRwxLP1d7uF8ZmnqJu2QuR5HzHreHiQlTZGxt2eBjWWNM8t8/2D0VcbvSDEuR88bGKgNJmmGZinxSDCfMbFPrIajWwLTPRiPLtAx1XGyn2u9aL6/7IjtO8gD3dfNMHWi2PrbUs4FmKjK2taxnGhPTQgm7yZU3t75u4irbNN8q8qs84w39UjU+2EO9Z+tjrqnKr1jm60NTMyxbv+ybtqGZFqYoZp8xQUuG1si+VIcXA82mNinyq+OnrjvXB5ZmFOtYGfURCO2BdefY8Lb0nTx13Za+V1zyGhrGwja0/z3RDa2vdPIWNRzRpqBeaCYDppP3JnOojs23o6Ib8kNjO6+MsaFfIRH3TxwFMCs7ebvCh3y6dtrHedkU4/qlar5jQhmtZ2h9bWjp6iBrtv29M3E7r0AcZ7ZHnU77BGo1bwYzL3ChRdIpSOnXiMAMpMBZEhB+lmLiEychAkhR7AUpSJ9WXgqdNy2X3LeCle/DN5jHJALpExw0D04hXZCgBgAwMhWxnoRxClJMhbcKabjG+XwHB0snnS7qYvsQWv+3rvftgf5OU+rTMCZh0vim95V68+dGQ2wdgtOANWQmpOEqikhcd647N+BcH900ToF88VLYHDSY5tzV77SgAOi7FcM3SGOQXDgQDho14ieEWkKmixCELdVBmMIsXAWuUJt5tdrkbDK0JvbItIfqpaYI2XehdqkaOMWUBPagpNAJaZuMD4Uam+eV1iqJW344dXx6ELxb3ZJp6teyzSmj4nM3nN6RuEa+RIgWHT6uFEFcl6NKjmhX2QgVPs20eC3Bved6Tm14pfd1Nd8E82h0mq+bbUmubT2Wm/JRU5bkfFUxweGchqlccApHzZNmuzAg15JZqF+qF5ptvlVzy4sHvNH71ljqReHt1UYS1w8IflSKIiyncXPpTeMwCWdpcxouW85dgv+X5tGqWIq7dza5ZSXfu+wrwjSNIV4FIGGZ3Xs+mRMXJClegiQFJJUWYZKCJH320oUUJBB5brcVxeG0JbeCpBV5yLwMV5ikXyOi3HqBe5jEU6UVRmlrHq0O3SRVWssg+xJGqRcGiRIj32MrnSllLFfnDyoSCtdYXHe8y9Jrn4MBSRXmW+S57OM95GZ3c5OLh8yALm8NBUqo4ZTYU3tvNbuvG0rr3olbU2e6IC0H18XThXdPklYNJz51iCMGxxyHYYp82YKadqUNLTzVXFzQISGX54fzlvOfVUxal0WcVfze1L6kJEjQmmZvlaTh0pzGXpS2yD0J0qRV602MAZ7QxhNLaaXLqDVdxb59T+LbMCHNcJXWajFJ46/TpWt7M3vmeP4qJvUGrGkjQZpHEkWUT+Gz46V24hMSKWLnFFJvScJVqohHp5AsvFkK//rX1gcqYhbG4IEXgFhPyCeQQWRCG6fghpQF/5g4EPMPgrj+bSOgrNuYOHfw7Rt8LLi9GVyD6IFEPhXy4IbbBfI/2gm1L2S6SokLHwXxt48CLkQtyWmFNSbpKg5ALh4W7TT/o86DWAJRUGce/eiGAdeAH1a7KUEPEj8M71ZRATkPs8zBjJCHqePbPPAxmYaxq4jHdGmSOnFK6YpYd52UwIvnSbY3fV54PoE0XpEK6rl2kAqpOf4SNVFpI76o5IFITFdxTIIHtJahqtd5RpA4WxsNkOYExIp3DwdTsJCPy5fKsphgJbmH3+UZZj1xhcezgYX44Twogv8oJJkPRWp8l5lh/GdAJmQaBm4iVFKsrGs7CO0kddLkn1DgWN9/tbz/WzXLoTUnqZ068a3j+wVKqRPbjyGVsVOkVrGfl2MWanHNrd7kgAsPQMfxbsHnxCCl/5lRFtT2FOg4aT8IXx6skzamtQ/SLDEH9yDSz2FpzBsQua0GOm/+JVfkoFnXIP4bflKgDTf7jKGl46QVQRUGrgJ/KLJ065t5frm90SdPLAFcGDnpQhGPWZRfVqLMy/rTMPPM1ThfX4M0AzHXBjc3RaD3x5gX9ReDXJTm3lAXJmFw8eBBSDXo5eHsnxJ6yjAL42rUHwl4GeQjyho598RlMymdv6Z+uHIlL/BSCXmTJuWgvNlx9PwTJkMuZyOASDkwiCwQ7e/pmoXQg2fa6PyAi8LjWfF3NE3KieO0B0ILzWu5QmlgWRylzW/eMDhqm1ryNUnJcppi8tI97Pv2JEjup4GDG+zxX9qFCjPAdcgyDPC4HDruUxYwu0FkpvwNm1mhG3fxVVKqlqQglCJnTmKQquX3R7iKA8fHRdKqWPBD5VSGLEnD6H9cvNDovzNY342q6yXO7dMa1T8KWGb3PxPbrMOgK9+H618FkxaclIH0zwHknsSJFwb2PM3TLCUJHrbr9K5xBgfPk4/BAQjibwJ8A3aLeQXfYEEcF6QA5IYAigKCKAu1Ta3MXi3AHFAD16w08502D3K7DS/hqA1i5o+hZXfXpqVaE1MR/11dV7Q6udrk4A1s3Y2IspTxNv1wXisBrioAKSA4h2zBzMY4GabhynfpZektyQ5X/NGwEgkGrTeDn2DPaQvkDnraeck5Q4KsUuQnqc+4Xbj9Wop42BY+Gv2sJGk4uFbtzThbfC9JpVXgpQlI0mzlY746lZt1QZSbCYnvvSkRtgyu7gWQeyrKmOIPgRlGEQ/mTud7khjGy+Qwv8nynsS9cBk53O1Vfq+uKmI9m0Rwbp3i2doF4YWAk7bcqLCeFaydh1ivr3HCK2RvWDkUT842ApvaKwMflhJxC/GcAODXZjf6B/g/rMO8BK8gU77w5guSpFdZGStiXT83leIMkunYCIXpIhUizTqPmC6uq0I3+6wvcm1Tc8PPAbbTPrkd382t8JyfrcfvLrL3Aqy48XvxUqRTPOrrhtazRsaHvNEu71wvBikCsULOhvBVsnBBXFcom6KT71Qd5tBJuw1OlEpzkkJuMBOB5m2U7DMzbfNzpiiMcDJ1opTeAuTrmHOP7BrVW5HTGgB9K4FLFMSPeVC5KcYE5yr4CTuNG93NQZKmYTDz5uip5GDhhvGU0IcumVG+4tSDjvjh9C6hj3M4pBD60d282x1ll+ndrsJLCX23REz6un0PW/uzjYs6LZ/SLWp3WzrNmiY7PyDgWziwjyi1tqnNSdobT9R4uigyzImnC0Wsr7Kxd9koDLoGcY3Ew8MNrUgHv5wcC6hgixIv8fnuWTSro4xc29lnGXXp5lTae7xENS5PjvkWi6bUS9MbvNL9OuUHtLW5HueH88ROQzu72i/0ZZmWOskdzczyXi4jZNxYo0Onch35/GjYqHGMdKuz+CtL4fk5PLeaz4+GQoYyZkJedvk+zbQE7sNLKd8fSRjYSRp7wVwR6/DHJ5wlylFIkpx4DigjSZ1lBEDbWW7SRthhHUUkdjB/dRdZmQF7GFlXo08Eudk52mWxnOQO0YFMLWK5R5CGSA7IPfEBBD2YhfGSGuD4u7yXJEmcOcmU4rbkk5S4XRB/fkDu2HMpb/sBurWPfrAuAOuCWHw+5MHpgsh9O8zh6ILIPh0W7qMM9vGQ87YLYvnlMHetCyL7dFh4kHOOPfewMDt/aHnu5oCazl2Ei2suLzbwBsT17juwjbiuZvGmiatqZSsSsF0I8JNCAapWGN9QuIFhgSOFndx5kZ29O7bd2MPpuJxcsVd+oR9vQ/erItbLazGQ3oJwSVLHdVKnS9+rCHQ8jeLwy1cQfhZAWKRp1G215JNfmp2Xx03239aSrWp5QZI6wZT824k8ic3lSqfdkaV2R2rLrOa4UvsRV6kjpa/5+CGI6BLOCViIBA6a03AZrVLSTJ15MvCSFL7B0onqCfHJNK03abf9Rg8LdcG886KLaNWngOnohu8LpyB4QqPRuG7fNO8df0Wg1QJh5vgJEYqVFKiM84B/HyJyNtJjhZdJ/V+fWDjCVRrhsayO9uZooQQKihSAIGYsVUyYdEaqcS2WtemRSUegrR89bHfpZOWGkLrBDJhduDH+8Qk3xUzDH5/gs5PkVFrpVUt3tpN8yMgFvgQZTto/IpRGOcvq6YJM72wnjp2vduL9Jx/LXDL1HZwXAsho2X2BXMwp5QpFXD8rea5/u9nU+N01Z9uANE+3b3N9J0F/XPJFEet12JEEEsjQaPBR4AegzAMnSlcxsW9JMF0snfiOuYDF+OJLYXDqpT5R6BkUii9r+qHVur7uJpEzJd2bm5a92cchseeZMC+xZ17g+HZC6It9RVx3uhLN3E2t4HrkrV6GjyBuC6LjNab8Fk7lfsukJfSlvZ09wmPSZyedLnig9qzJdOxZRBMCvS7ejNrEd6KEnj6o3ZL725+9kV3Bi+dvu88vu89NdLGIR3ItUhBvFHG9q2BTYbXD2CXxC6WeLWlAjUZyr90VSDe1WhSHU5IkZSIk25mwneycYhz51qyKzsqnlBe8BMgySr8Kpyz9TgHNZjEIb/8g07zRBGwLZrTsx2niOv9tMR4kBDhY10WOodGF9WZzQMceHOrrdU9pn4L3q7h+tg0NVsUpeC8UuVGO+TlAWZGud9Z4N5sK336LOSF0lOK+bwTGtBs/ZOVDXV13U0xF1GeO1OjyL+JzaQebrMc/Ai1u5FU6bgb8d4FnrLiMnJUHwlPCxRyoKoFv0Lzmo3gDLxTYEk93rOzkUgPs1EIz46qaK67LHySPNePc7quWirNNSpaRdLvyfFeKSDyjL5DoJIMtf3n/CH2/SFoDy9CFVy9fPsSyqdWesSYbxWFEYsh/DpjPITRJ0wWByJne4cx662AihAF9GCbgBC6ECZsWa89Ic948hPMwRlr2o0GQXzfbx4fYB9MFiQmWmFMoEmL5dftYAJfMvIC4eMbFYSMMcKSj/h1mB0esbPYPuCAN83W1ZyMU+tnD4+QWB+tgQi1z0cg0bh2NmF/5bpE/DhNFEDvVJ/m1iiAeCexukipTSk172N976SJcpf0wLcerdUGltzGI6EHS+thsteZs8HmGEGb4UeTEYgXCRxGl0OfwIaZ+Ev45jGIOvJdQwDgoqV7TW3q+E/tfaeQ77VxRp9NsHzehRHuPoCbDoVm6wEYnqhy4FY7/2flaWpADCEH4uclNYBSq4g5t309MN/QEv5+vZNk5V1fftnqVs3keJJYaGzYIC8384mNi6ElzdbsK0lXzoxBz4SyDvfkoCA06iAcr399jQZE8j0ngziSZxePMJsa8fc7/7ydzpXSqoOSYV9O5omQQfiZxz0lIJfUpoGkMB9dd+tPl7s0BfvaRuXvDCoD9sj2/gzOVOrsqeObNoBoJlFlo2gD54iUpy/Y55teCAJuJE5jF4TJrQyxJwyKh9/NWVblk5qz8FH4gX6pWPp4b3oydvB6V0RTXLGibZmH0N/BJME8XWAptAX799deqaW+g+B3Gg6+Stt8O4V+uQPkxf/fZen0jgBSXvwXEhnOfNznc1gpGOghxb9T2JcgLpS4USzZCKbb4NcKWg8y573aM5cCfefR0b57kSeFF0bm2e0K/MHLwQFtgt+5FU2BX7tstgV26/8Mawo8Xf8k/eEr977D/f2kBnBX/hZLjpFVrjm6xHBX30MImnDzz5Cz+FQ8aJNBNdz9pS9wjlfcjLu4pvr2+/T1+sVrE7MRR+q02GGuGqY3O/18AAAD//2UkdiDjQAAA diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData index 3bab1d4950e..93152591616 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - H4sIAAAAAAAA/9RbfXubuJb/n09xhtIbexps46Rpxhl6S2ySsvHbAk6nm2Z5CMg2DQYKOG0m9XffR0KA8EuadmZnu7nP7WCdn47Ou46E/eyX5o0XNG/sZM6pum4Z7w1THXTNvmWYim5aZ4rWlw+B0Lr90aRnaUPNtExtoI4mpvwyo5xpfdV6p5jdtwXlKKO8HfV71julrw0nfyjn6tCUX2UEXe2riqFuARxnAGVsWtrQMJV+v2D6W0bqjboXqr5Bbbcq5N7o3bA/UnolXarQL9T3WzDtCgYLgXEF+aBCZmzUpkYajE7fk2l9zSjt1KaGGhjW+fh8x9JHDIcN3ajZuqOhqWhDVe9tQqjh9Mmwu0mkprs4NjBgqA3PC9pBq6RtSHVAjXYxOVVxWAxHpnU2mgx78gE1lTY43zLtoJzWV03WUgeHVS8Ozq3xhBH14OWGql1zG+5oE6drWMZN6G7rkdBllDreQF6quqGNhpY2vFT6Wk8+oKbsDrVNvQ+lwtFjfdSzeurpFlB7EzS+OLeUXo8mHLXeSFcYl6i6PtLlQ2qeLFMZRcjE4zyGemN9dKrSUSrxaGKeYi2xdsOM9JLxvTLWLEPVL1WdBUhbAb2hYfVHo4vJmMLaW2HKf010dROcB4diKttz4ajFINaT8EhiiOuBfkQFuXzbW/ft0WZgbSz8qsUk0SaVrtydGOZoYBmqonffWr3RQNGGRqbbMWVwPp5szj8+YIi6hiOLzYzjw03yun7HLxmMeql1VWvcn5xrwwqjoxKkDc9Glj4aWN2Rrk/GptqTj2k6GOd/7Fznt9YmhlnhN6ms0j1F65fe+Y2p35NxTzHVkpRnjqHiwL/USF4ZXV0bm8RPuqr0Sk5Sq8UsgsvpZHyuKz2VQTBijCf6OQ14qdUukgQXBF3FbpClFrV/VzMsxTC086Glj0amNX4nS5K0QSPxM1b1gWZgSWVJomzHCild3dH4PQHJksRyHo/7762xYhjvRjpJtjPtXJaktcQt9pARTQtJyitaVsY2wkeSXlUAo7GqKya2YVYaJCmvXqa+hfgbcJmxSFIaptK9sM5V01L0gWWOLtShLOVb6DpkqJrvRvoF1WWSMZalfEddhxuT06FqWmNdPdP+kCW8qRZJeTrR+nktk/C+mBnlnTK2urqKwyUzRr4rsRRtaEzOzrSupg5JRFxYxljpqrKEdymCNtW+Oh7pZq9SNmUpr3MlPQ/4jJwropvamdLF+5WuKgO8S+Z8ZCmvcVtAlJks4dKWNT6mOcZB/sd7q6tgu12quilLeWGjmYFJqm4asnRUNCdUbEPtYqOafcM6HY1Mw9SVcbGdqn+o3Tzvi+g4yh3c04xTpa9a2thUTvuqIUu4rGU1U58YJuawGVx5cetpBp5lGcZbWXqVR7yuDRT9vTXUupY2Zoqq9IpGvjY0VN20tEHPsHTVMHGI4ujTJ1iSoTmyBsrwvK9aRCZZenX41HlnWt9U9WIeTaMeNoS6Y94ZLnhr6x09dd7aeq+Y4NVV7AtLV/9zoulqT27nJWo4IkVBOVcNaph2XpuMoTI23o6Kasg2ja08M8a6domJeP/ErQCOynZervAgG67t1mGeNkW7PlCMC8qU0rq62lOHpqb0s2Lb29oTt/IMxO3MeqvTbh0Bx3lTmHqBC02UOiCm9xGCKYiBvUDA/yrGyEd2gngQo9gLUhA/Lb0U2q+bLrprBkvfh68wi1EE4ifYa+ydQDpHAQcAMDJkoZaEcQpiTJg3C254jv35FvYWdurMa0JrH5r/XdN6Vl+7UOWaE8YoTOpftZ5ca/xarwvNfbDr8ACZCGm4jCIU1+yr9jXYVwfX9RNAX7wUVnt1unKu6ndKUBjouxeGr5DGILqwx+/VOeQniEiCnHkI/NrSQZjCNFwGLs9NPY6bnE6G5sQaGdZQGagyn33muYGi4y6mJNCBkkI6pHUyHuQ52s/LzWUSN/3QsX1yELxd3iAn9blsc8qoeNwNnVsUc+hLhK1Fmo9LmRceylYlt2hHXvEVnGqY7CrBned6Nje81Hqakm+CuTfajeNGS5S4tWGpIR00JFHKZxUdHO7TcCgXSP6gcdRoFQLkq2QSagPlXLWMt0oueTHACr1tjqmcF9perkThYQfjR7nI/MKJGwvPicMknKYNJ1w07dsE/1+cRctiKt69s84tS/nuoCfzThpDvAxAxGl25/lohlwQxXgBohigVJyHSQqi+NlL52KQQOS5nWYUh05TagZJM/IweBEucZDeR0i+8QJ3P4kduRlGaXMWLffdJJWbiyD7EEapFwaJHGPcYzNthwDL2flAhUOhGvXrhnZZeG1TMECpTHWLPJc+3kEudicXuRikAnRYaYiheA53iV2l+1a1epouN+/suOnYzhw1bTwvdubeHUqaHO74lCFuMRhwHIYpxmUTOPVSHZr4VHN+TpqEnJ8fzpr2n8sYNQeFnxX8uaF+SVGQYGka3WWShgvDib0obaI7FKRJk+tO9D4+oY0nptxMF1HTWca+dYfimzBBjXCZclyM0vjeWbiWN7WmtucvY1SrwwMpJJjmoUQWpBP4bHuplfgIRbLQPoHUW6BwmcrCwQkkc2+awr/+tfZAWEzDGDzwAhBqCfoEEgiUaf0E3JBA8B9lB0L+wAsPb1Y85nUTI/sWvn6FDwXam8IVCB6I6FPBD66ZXSD/I5VQ/YKcZYpc+MALbz7weCJeJTmpQGOULuMApGKwKKf5H1EehNIQBXXqkUc3DJgCvHvZVWn0IPHD8HYZFSZnzSwxZsYmD1Pbt1jDx8gJY1cWDsnUJLXjlNBloebaKYIXz5Nsb/o893wEabxEFavnq4NYcM3tLxIR5Ra2L15khyecZRyjYMeqpatqNRYIIiNrvQ7iDIFQ0W63M3kT45h4qUyLEc4kd/+7NMNRj1z+8WigLt4dB4XzHzVJpkMRGt8lZhh/y5AJcsLATfhKiJV5bQWhlaR2mvwMCY7z+6+m99+Vs4y1Zii1Uju+sX2/sFJqx9ZjlsrgxFLL2M/TMXO18MDMXuUG53eYjsGumc+OQUz/nBIIXu0ppmO4/aD5cmcdtXBY+yBOE6N/BwJ5DkthXoPAbDXQfv0vqcIHi3UFwr/hFxlacL1NGJI6dlphVAEwGfhDniVb39Tzy+2NjDwxBfDEyE7nsnBIvfyy4mWW1zfdzIKrfr66AnEKQr4aXF8Xjt7uY5bVX3RykZpbXV2IhJ2LDx4IVZ1eHs5+FtcTwDSMq15/xOGlkw8INLLvkEt7UtJ/OX64dEUv8FIRY5MGQRBsdhw9+4SDIeez4kEgCOxE6ojW91TNguneM3V0tsd44fGo+CeKJkHidtoDvonFa7p8KWCZHKXMr19Tc3ArLrlPUrRwUhy8ZA/7vj0JkjsnsPEGe/iXdqFCDHBttAgDfFwObfcpE6jcIFBR/oHNrFgb7+LLpFxaFINQjOwZikGspt/HcBkHto8nictiwg+lU+myJA2j/3f+wkL/k876bqu6XmLfPK1Q/VSGpXL/nLbNKgxW5fvs+leNSRJOzIz08xjkDsWJFwbWLM3DLEUJPmzXyF3jFPaeJx+CPeCFNzx8BXqLeQlfYY5sF8QApDoPsgy8IPHciiujVw1wDCiBa1SK+UaZB6nVgpdw0AIh00dXs7trw1TMiSEL/67OK0qdVC1y8BrW7kYEScywDT+ccaWBqwuAGCDch6yZmbZxEjjh0nfJZekNyg5X7NGw4glqWm8Kv8CW0xZIbaxp+yWjDAqyTJGetHyGduHmvmSxWxbWG70sJYk7mFLtTRlZfC9JxWXgpQmI4nTp43i1KzfrvCA1EhTfeQ7i1wSu7gWQaypIOMR3GTOMItaYG5XvSWwolvKheqPFHYq74SKymdur/F5dkYVa1ongvtXBZ2sX+Bc87rSlegV6WkDbu6BXV7jDK3ivaDoUI6crnnbtlYYPpxJyC/YMA2DnZjf6e/h/OA/zFLyEbPG5N5ujJL3M0lgWatqZIRdnkGyNFV+ILhAm4rT9iOjCQ5Xpapv0RaytODf8HOBy2kM349uZGZ6xvfX44jx7L0CTG38uXoq0i6Gepqtdc6S/zwvt4tb1YhAjECrkrAlfJnMXhIcKZVVU8o2swzF01GqBHaXiDKWQC0xZYPFWcvZMRVv9mi0URrgztaOU3ALk86hyj+wa1VuREw6AvJXAU2RsP6pB5aYYBziTwU/Yadzodgai6ITB1JthTUUbJ24YO4gMumhKcMWpByvih85tQoZzc4gh9KLbWaczyi7TOx2Z5RL6bmkx8X79Hpb71sZFlJZOyBa1uS2dZEWTnh+wwdfsQB8xV27FzVDaHU+U2JkXEWbHzlwWasus7V3UC4GuQHjAxP39FclIG384OuTxAmuUeIHHN8+iWR5lZG5jn6XUhZtTSe3xEkUfHB2yJRaLUitFr7OLbl9T2rFai6lxfjhLrDS0sqv9Yr0s0lI7uSWRWd7LZYQMjXN0aFeuI58fDOscAyRbncleWfLPz+C52Xh+MOQzK+NIyNMu36fpKoG7eyrBfUzCwErS2AtmslCDj59wL1G2QqJoxzPAPJLUXkQApJzlIq34DegoQrGN41dzMZQKsAVIqxoZ4aVG+2ATYtrJLbYOZMtiW25hpGJL9tEd8gF4LZiG8YIIYPub2AFKEnuGskXxtuSjFLkdEH7dwXfsuQTb2kE3t9H3HgqDdUAonvdZ43RAYD7t5+bogECf9gv1MQ/6uM9o2wGh/LCfq9YBgT7tFxrkyLHn7hdi54Om5672iOjMRbjwwMTFCl6D8LD5DmwlPFSjeNXAs7iyFPG4XPDwi0wMVM0wtqAwDcMctxRWcutFVvbu2HJjD3fHZeeKa+UX8ngTuveyUCuvxUB8C/wApbZrp3aHvFfhSXsaxeGXe+B/5YGfp2nUaTalo98a7ZeHDfrf5oLOanpBktqBg/5tR55I+3K53WpLYqsttiSac0yq/YiqRJFS17z94AWsEu4TcCIi2Gs44SJapqiR2rOk7yUpfIWFHdUS5CMnrTVItf1KDgs13rj1ovNo2SMG07Aavs+fAO/x9Xr9qnXduLP9JYJmE/ip7SeIL2YSQ2XIPfZ9iMDISI4VXsb1Pz5Rd4TLNMLHshqWN7cW5kCMIgbACxmkahPKnZI4psTSMj0ySAu09qWH9SqdLN0QUjeYApULb4wfP+FNMVvh4yf4bCc5lWR6VdKN7SRvMnKGL0GCo9aPMCVezqKac+bIubXsOLbvrcT7M+/LXOT4Nm4YAsho2YWBVDQq5QxZeHhWYq7eXK84dnvNYSsQZ+n6da5vJ1ghF32RhVoNNjiBCBLU66wb2A6IqODYUbqMkXWDAme+sONbqgLOxhdfCoFTL/WRTA6hUHx4IA/N5tVVJ4lsB3Wur5vWahtCpOPFKskLuSYQIhZv3YwMDncTD9RBp+UowYKXAFpE6T1/QhU7gVXV/PnLuwSR7xBgkUreV6UBr4l4ma5eYk29wPaLScJDuyOSzFpxBeqRt47FHk2IZI8oEW87zwed50a9cDMvrC9Ijgk4ddfcXfYNLOOEfAPBWhvfOmMNjA+In+3UmbMRsmuVTLSnLlNBs+tMvdKErjedohgFDrK8wKLvUuXHX7mW5vXtKEGuNQ+XMZkkbGXXPDhqtbZMW3jBMkVk4o6Zz8nM5tG22YysOybTafSWR7xjvkxgUS7AP2+13U7xDw9CRanyIxW2HKCrYFOuRTjOqzUf1bejKvG5A7MpNGkvlwHZrDfSiyOFY6vr11JkRzhtSROu6AxWHBfFoYOSpKxWyXq5+t8rJWXqpMk36ggWKEOHNx+Rk++jAe0wKS377qVQu7ETRJ6FVp2vQtbMQ5p0Royr1vUqn1Fx5wZQKoHbAnEN3cbovYeawEha78ADH96hGDcf+LmUje/Ajiq0D3wuFwZVZNwHflMUjNocXa1We0zgVWR9c80GJEvi6DG/VvPk1gl4vwsPzxin0Q3yBLwXslRnL5iz0z/jeRqsZBevet7LHJ5PypHb3c6wgU02a6htrmcYPO56Fvht17Po0vXMaH2Lv7eL+bc5fK/OOuORbMJHkyodt7fsZ54FVhyEkZUB/ikZuldlD1+hccVmyjW8kGGNMVWH/EODmLU6CWI2jBkil9/fcLBRvDo8V7b0VZ2zo0YXGhxe9eMn4BtYrqsq7poH4aH8QcdY1c+snmIq+GyYLiJy8MMd8uKu/Lh9Aqm9i9CFVy9f7oaUpfwZbUWjOIxQDPm3pvPjGsncdI4gsp1bfLTHPnAhDMhgmIAduBAm9FDNPUONWWMfzsIY07LvVoN03Ggd7uM2K52jGOEabxcL8bF03DrkwUVTL0AueAHgM1kY4JMvUXQ/u1/DItPfuUIa5vO4ZyPM9LOXoA0E3RV5LlNRz1Zcu0GieuU9dT4c4r2lXR3Jb5954YCnr3DIYnK50hb4Oy+dh8u0F6blKfShoJJLa2zRvaT5odFszmiEPsMmzOxHLCcUM7D5iEWJ6XPzYZv6SfhtMwq54b2EGIwxJVnX8Baeb8f+PfF8u5Uv1G43WocNKK29hVGD2qFRqkBPmGRxYGbY/mf7vpQgNyAE4ecGc1AlpipeNWz7Jv6KXHRux5WQjevH6pdSvMoVZu4kGhormsR8I78fnuha0ljeLIN02fjAx4w7S2evPvB8ndxXBEvf3yJBETyPcWCubjKJx5lMFLx+Hfr3B3MldapGyW1eDefKIv3wM4q7doIqoU8Mmsawd9Uhv/DoXO/hZx+DO9c0AegPgPJXFYZcozeqz7wpVD2BeRYrrQB98ZKURvsMx9ccAb06SGAah4usDNEgDYuA3o6tLuWiqb30U/iBeKlK+XhseFN6QfUoj4bwQJ22ahRCfwUfBbN0jlOhxcPvv/9eFe01FF9X2/nGff0lOv7LF5B/TN9tsl5d8yDG5VemccG5y4sc3t8K4JvrVeWLB9sC5IVc44spK75kW3xpa01Bqtx3K0Zj4FsaPV2bJ2lSaFFUrvWa0CuE7O8oC/TlZFEU6JvJ9ZJA303+ZAXhx5O/xPefkv8b8P+TEsBI8TekHMOtmnNki2WoeA8tZMIdZx6cxY8dsUA82XS3k9bYPZJ5P6LiluTbqts/oxfNRRyduJV+q/bHqm6oo7P/CQAA//+EJG0NCkYAAA== + H4sIAAAAAAAA/9R7f3ua2Pbv/76KNZSe6DSomDTtmKFniJKUW6NewHR601weIltlgkAB0/ZY3/t91mYDGzWZtHOeufPNec4zylp7/fisH3vtjX32U+vWC1q3TrKoaYZhmx9MS7vsWQPbtFTDss9VfaAcA6X1BqNJ39aHumVb+qU2mljKy4xyrg80+71q9d4WlJOM8nY06Nvv1YE+nPyuXmhDS3mVEQxtoKmmtofhdcagji1bH5qWOhgUQn/JSP1R751m7FA77Qq5P3o/HIzUfkmXK/R32oc9PJ0KDxqBfAX5qELmMOowkC5HZx/osoFuljh1GFCXpn0xvnhA9QknYcc3BltvNLRUfagZ/V0WBpwxGfZ2iQy6d69NZBjqw4uCdtQuaTtWHTHQ3k3ONEyL4ciyz0eTYV85YlDplxd7lh2VywaaxSN1dFyN4uWFPZ5wph693HG1Z+3jO9nlM3S0cZf1YfRo6nJOvd7hvNIMUx8NbX14pQ70vnLEoOwN9V2/j+Ui0GNj1Lf72tkeps4u0/jdha32+6zgGHojQ+VCohnGyFCOGTxZpXKO0IWv8xzqj43RmcaeMotHE+sMvUTvhhnpJRd7dazbpmZcaQbPIO9l6A9NezAavZuMGVtnL5v6fyaGtsucJ4dqqftr4aTNcWwX4YnMEbcT/YQZcvW2vx3bk93E2lH8qs0V0S6Vae5NTGt0aZuaavTe2v3RpaoPzcy310zAxXiyu/71EUc0dMwsvjJeH++St/17/ZLj0a70nmaPB5MLfVgRdFIy6cPzkW2MLu3eyDAmY0vrK69ZOZgXvz+o55f2Lg+n4Re57NJ9VR+U0fmF69+TcV+1tJKUV46pYeJf6bSuzJ6hjy0aJ0NT+6Ukud3mlGA7nYwvDLWvcRycGeOJccESXm53iiLBhmBoGAZFbjP8e7ppq6apXwxtYzSy7PF7RZblHRrNn7FmXOomWqrIMhM7Vmnr6o3GHyiTIsu85PF48MEeq6b5fmTQYjvXLxRZ3ircYg8ZsbKQ5byjZW1sJ31k+VWFYTTWDNVCDLPWIMt597KMPcRfoJaBRYvStNTeO/tCs2zVuLSt0TttqMj5FrrNMtSs9yPjHfNlkglW5HxH3WY3J2dDzbLHhnau/67IuKkWRXk20Qd5L5NxX8xAea+O7Z6hYbpkYOS7Ek/Rh+bk/Fzv6dqQZsQ72xyrPU2RcZei3JY20MYjw+pX2qYi532upOcJn5FzRwxLP1d7uF8ZmnqJu2QuR5HzHreHiQlTZGxt2eBjWWNM8t8/2D0VcbvSDEuR88bGKgNJmmGZinxSDCfMbFPrIajWwLTPRiPLtAx1XGyn2u9aL6/7IjtO8gD3dfNMHWi2PrbUs4FmKjK2taxnGhPTQgm7yZU3t75u4irbNN8q8qs84w39UjU+2EO9Z+tjrqnKr1jm60NTMyxbv+ybtqGZFqYoZp8xQUuG1si+VIcXA82mNinyq+OnrjvXB5ZmFOtYGfURCO2BdefY8Lb0nTx13Za+V1zyGhrGwja0/z3RDa2vdPIWNRzRpqBeaCYDppP3JnOojs23o6Ib8kNjO6+MsaFfIRH3TxwFMCs7ebvCh3y6dtrHedkU4/qlar5jQhmtZ2h9bWjp6iBrtv29M3E7r0AcZ7ZHnU77BGo1bwYzL3ChRdIpSOnXiMAMpMBZEhB+lmLiEychAkhR7AUpSJ9WXgqdNy2X3LeCle/DN5jHJALpExw0D04hXZCgBgAwMhWxnoRxClJMhbcKabjG+XwHB0snnS7qYvsQWv+3rvftgf5OU+rTMCZh0vim95V68+dGQ2wdgtOANWQmpOEqikhcd647N+BcH900ToF88VLYHDSY5tzV77SgAOi7FcM3SGOQXDgQDho14ieEWkKmixCELdVBmMIsXAWuUJt5tdrkbDK0JvbItIfqpaYI2XehdqkaOMWUBPagpNAJaZuMD4Uam+eV1iqJW344dXx6ELxb3ZJp6teyzSmj4nM3nN6RuEa+RIgWHT6uFEFcl6NKjmhX2QgVPs20eC3Bved6Tm14pfd1Nd8E82h0mq+bbUmubT2Wm/JRU5bkfFUxweGchqlccApHzZNmuzAg15JZqF+qF5ptvlVzy4sHvNH71ljqReHt1UYS1w8IflSKIiyncXPpTeMwCWdpcxouW85dgv+X5tGqWIq7dza5ZSXfu+wrwjSNIV4FIGGZ3Xs+mRMXJClegiQFJJUWYZKCJH320oUUJBB5brcVxeG0JbeCpBV5yLwMV5ikXyOi3HqBe5jEU6UVRmlrHq0O3SRVWssg+xJGqRcGiRIj32MrnSllLFfnDyoSCtdYXHe8y9Jrn4MBSRXmW+S57OM95GZ3c5OLh8yALm8NBUqo4ZTYU3tvNbuvG0rr3olbU2e6IC0H18XThXdPklYNJz51iCMGxxyHYYp82YKadqUNLTzVXFzQISGX54fzlvOfVUxal0WcVfze1L6kJEjQmmZvlaTh0pzGXpS2yD0J0qRV602MAZ7QxhNLaaXLqDVdxb59T+LbMCHNcJXWajFJ46/TpWt7M3vmeP4qJvUGrGkjQZpHEkWUT+Gz46V24hMSKWLnFFJvScJVqohHp5AsvFkK//rX1gcqYhbG4IEXgFhPyCeQQWRCG6fghpQF/5g4EPMPgrj+bSOgrNuYOHfw7Rt8LLi9GVyD6IFEPhXy4IbbBfI/2gm1L2S6SokLHwXxt48CLkQtyWmFNSbpKg5ALh4W7TT/o86DWAJRUGce/eiGAdeAH1a7KUEPEj8M71ZRATkPs8zBjJCHqePbPPAxmYaxq4jHdGmSOnFK6YpYd52UwIvnSbY3fV54PoE0XpEK6rl2kAqpOf4SNVFpI76o5IFITFdxTIIHtJahqtd5RpA4WxsNkOYExIp3DwdTsJCPy5fKsphgJbmH3+UZZj1xhcezgYX44Twogv8oJJkPRWp8l5lh/GdAJmQaBm4iVFKsrGs7CO0kddLkn1DgWN9/tbz/WzXLoTUnqZ068a3j+wVKqRPbjyGVsVOkVrGfl2MWanHNrd7kgAsPQMfxbsHnxCCl/5lRFtT2FOg4aT8IXx6skzamtQ/SLDEH9yDSz2FpzBsQua0GOm/+JVfkoFnXIP4bflKgDTf7jKGl46QVQRUGrgJ/KLJ065t5frm90SdPLAFcGDnpQhGPWZRfVqLMy/rTMPPM1ThfX4M0AzHXBjc3RaD3x5gX9ReDXJTm3lAXJmFw8eBBSDXo5eHsnxJ6yjAL42rUHwl4GeQjyho598RlMymdv6Z+uHIlL/BSCXmTJuWgvNlx9PwTJkMuZyOASDkwiCwQ7e/pmoXQg2fa6PyAi8LjWfF3NE3KieO0B0ILzWu5QmlgWRylzW/eMDhqm1ryNUnJcppi8tI97Pv2JEjup4GDG+zxX9qFCjPAdcgyDPC4HDruUxYwu0FkpvwNm1mhG3fxVVKqlqQglCJnTmKQquX3R7iKA8fHRdKqWPBD5VSGLEnD6H9cvNDovzNY342q6yXO7dMa1T8KWGb3PxPbrMOgK9+H618FkxaclIH0zwHknsSJFwb2PM3TLCUJHrbr9K5xBgfPk4/BAQjibwJ8A3aLeQXfYEEcF6QA5IYAigKCKAu1Ta3MXi3AHFAD16w08502D3K7DS/hqA1i5o+hZXfXpqVaE1MR/11dV7Q6udrk4A1s3Y2IspTxNv1wXisBrioAKSA4h2zBzMY4GabhynfpZektyQ5X/NGwEgkGrTeDn2DPaQvkDnraeck5Q4KsUuQnqc+4Xbj9Wop42BY+Gv2sJGk4uFbtzThbfC9JpVXgpQlI0mzlY746lZt1QZSbCYnvvSkRtgyu7gWQeyrKmOIPgRlGEQ/mTud7khjGy+Qwv8nynsS9cBk53O1Vfq+uKmI9m0Rwbp3i2doF4YWAk7bcqLCeFaydh1ivr3HCK2RvWDkUT842ApvaKwMflhJxC/GcAODXZjf6B/g/rMO8BK8gU77w5guSpFdZGStiXT83leIMkunYCIXpIhUizTqPmC6uq0I3+6wvcm1Tc8PPAbbTPrkd382t8JyfrcfvLrL3Aqy48XvxUqRTPOrrhtazRsaHvNEu71wvBikCsULOhvBVsnBBXFcom6KT71Qd5tBJuw1OlEpzkkJuMBOB5m2U7DMzbfNzpiiMcDJ1opTeAuTrmHOP7BrVW5HTGgB9K4FLFMSPeVC5KcYE5yr4CTuNG93NQZKmYTDz5uip5GDhhvGU0IcumVG+4tSDjvjh9C6hj3M4pBD60d282x1ll+ndrsJLCX23REz6un0PW/uzjYs6LZ/SLWp3WzrNmiY7PyDgWziwjyi1tqnNSdobT9R4uigyzImnC0Wsr7Kxd9koDLoGcY3Ew8MNrUgHv5wcC6hgixIv8fnuWTSro4xc29lnGXXp5lTae7xENS5PjvkWi6bUS9MbvNL9OuUHtLW5HueH88ROQzu72i/0ZZmWOskdzczyXi4jZNxYo0Onch35/GjYqHGMdKuz+CtL4fk5PLeaz4+GQoYyZkJedvk+zbQE7sNLKd8fSRjYSRp7wVwR6/DHJ5wlylFIkpx4DigjSZ1lBEDbWW7SRthhHUUkdjB/dRdZmQF7GFlXo08Eudk52mWxnOQO0YFMLWK5R5CGSA7IPfEBBD2YhfGSGuD4u7yXJEmcOcmU4rbkk5S4XRB/fkDu2HMpb/sBurWPfrAuAOuCWHw+5MHpgsh9O8zh6ILIPh0W7qMM9vGQ87YLYvnlMHetCyL7dFh4kHOOPfewMDt/aHnu5oCazl2Ei2suLzbwBsT17juwjbiuZvGmiatqZSsSsF0I8JNCAapWGN9QuIFhgSOFndx5kZ29O7bd2MPpuJxcsVd+oR9vQ/erItbLazGQ3oJwSVLHdVKnS9+rCHQ8jeLwy1cQfhZAWKRp1G215JNfmp2Xx03239aSrWp5QZI6wZT824k8ic3lSqfdkaV2R2rLrOa4UvsRV6kjpa/5+CGI6BLOCViIBA6a03AZrVLSTJ15MvCSFL7B0onqCfHJNK03abf9Rg8LdcG886KLaNWngOnohu8LpyB4QqPRuG7fNO8df0Wg1QJh5vgJEYqVFKiM84B/HyJyNtJjhZdJ/V+fWDjCVRrhsayO9uZooQQKihSAIGYsVUyYdEaqcS2WtemRSUegrR89bHfpZOWGkLrBDJhduDH+8Qk3xUzDH5/gs5PkVFrpVUt3tpN8yMgFvgQZTto/IpRGOcvq6YJM72wnjp2vduL9Jx/LXDL1HZwXAsho2X2BXMwp5QpFXD8rea5/u9nU+N01Z9uANE+3b3N9J0F/XPJFEet12JEEEsjQaPBR4AegzAMnSlcxsW9JMF0snfiOuYDF+OJLYXDqpT5R6BkUii9r+qHVur7uJpEzJd2bm5a92cchseeZMC+xZ17g+HZC6It9RVx3uhLN3E2t4HrkrV6GjyBuC6LjNab8Fk7lfsukJfSlvZ09wmPSZyedLnig9qzJdOxZRBMCvS7ejNrEd6KEnj6o3ZL725+9kV3Bi+dvu88vu89NdLGIR3ItUhBvFHG9q2BTYbXD2CXxC6WeLWlAjUZyr90VSDe1WhSHU5IkZSIk25mwneycYhz51qyKzsqnlBe8BMgySr8Kpyz9TgHNZjEIb/8g07zRBGwLZrTsx2niOv9tMR4kBDhY10WOodGF9WZzQMceHOrrdU9pn4L3q7h+tg0NVsUpeC8UuVGO+TlAWZGud9Z4N5sK336LOSF0lOK+bwTGtBs/ZOVDXV13U0xF1GeO1OjyL+JzaQebrMc/Ai1u5FU6bgb8d4FnrLiMnJUHwlPCxRyoKoFv0Lzmo3gDLxTYEk93rOzkUgPs1EIz46qaK67LHySPNePc7quWirNNSpaRdLvyfFeKSDyjL5DoJIMtf3n/CH2/SFoDy9CFVy9fPsSyqdWesSYbxWFEYsh/DpjPITRJ0wWByJne4cx662AihAF9GCbgBC6ECZsWa89Ic948hPMwRlr2o0GQXzfbx4fYB9MFiQmWmFMoEmL5dftYAJfMvIC4eMbFYSMMcKSj/h1mB0esbPYPuCAN83W1ZyMU+tnD4+QWB+tgQi1z0cg0bh2NmF/5bpE/DhNFEDvVJ/m1iiAeCexukipTSk172N976SJcpf0wLcerdUGltzGI6EHS+thsteZs8HmGEGb4UeTEYgXCRxGl0OfwIaZ+Ev45jGIOvJdQwDgoqV7TW3q+E/tfaeQ77VxRp9NsHzehRHuPoCbDoVm6wEYnqhy4FY7/2flaWpADCEH4uclNYBSq4g5t309MN/QEv5+vZNk5V1fftnqVs3keJJYaGzYIC8384mNi6ElzdbsK0lXzoxBz4SyDvfkoCA06iAcr399jQZE8j0ngziSZxePMJsa8fc7/7ydzpXSqoOSYV9O5omQQfiZxz0lIJfUpoGkMB9dd+tPl7s0BfvaRuXvDCoD9sj2/gzOVOrsqeObNoBoJlFlo2gD54iUpy/Y55teCAJuJE5jF4TJrQyxJwyKh9/NWVblk5qz8FH4gX6pWPp4b3oydvB6V0RTXLGibZmH0N/BJME8XWAptAX799deqaW+g+B3Gg6+Stt8O4V+uQPkxf/fZen0jgBSXvwXEhnOfNznc1gpGOghxb9T2JcgLpS4USzZCKbb4NcKWg8y573aM5cCfefR0b57kSeFF0bm2e0K/MHLwQFtgt+5FU2BX7tstgV26/8Mawo8Xf8k/eEr977D/f2kBnBX/hZLjpFVrjm6xHBX30MImnDzz5Cz+FQ8aJNBNdz9pS9wjlfcjLu4pvr2+/T1+sVrE7MRR+q02GGuGqY3O/18AAAD//2UkdiDjQAAA diff --git a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh +++ b/pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/RawUbuntu/CustomData b/pkg/agent/testdata/RawUbuntu/CustomData index 92adb3a7c24..4afd887918e 100644 --- a/pkg/agent/testdata/RawUbuntu/CustomData +++ b/pkg/agent/testdata/RawUbuntu/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/RawUbuntu/line9.sh b/pkg/agent/testdata/RawUbuntu/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/RawUbuntu/line9.sh +++ b/pkg/agent/testdata/RawUbuntu/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/pkg/agent/testdata/RawUbuntuContainerd/CustomData b/pkg/agent/testdata/RawUbuntuContainerd/CustomData index 7b1df4b349a..91c7d1ecad7 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/CustomData +++ b/pkg/agent/testdata/RawUbuntuContainerd/CustomData @@ -6,7 +6,7 @@ write_files: encoding: gzip owner: root content: !!binary | - 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 diff --git a/pkg/agent/testdata/RawUbuntuContainerd/line9.sh b/pkg/agent/testdata/RawUbuntuContainerd/line9.sh index defdd67067b..a5be929e31c 100644 --- a/pkg/agent/testdata/RawUbuntuContainerd/line9.sh +++ b/pkg/agent/testdata/RawUbuntuContainerd/line9.sh @@ -390,7 +390,6 @@ installJq() { fi } - check_array_size() { declare -n array_name=$1 local array_size=${#array_name[@]} @@ -406,68 +405,37 @@ capture_benchmark() { local title="$1" title="${title//[[:space:]]/_}" title="${title//-/_}" - benchmarks+=($title) - check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n current_section="${benchmarks[last_index]}" local is_final_section=${2:-false} local current_time=$(date +%s) - local end_timestamp=$(date +%H:%M:%S) if [[ "$is_final_section" == true ]]; then - local start_timestamp=$script_start_timestamp local start_time=$script_start_stopwatch else - local start_timestamp=$section_start_timestamp local start_time=$section_start_stopwatch fi - - local difference_in_seconds=$((current_time - start_time)) - local elapsed_hours=$(($difference_in_seconds/3600)) - local elapsed_minutes=$((($difference_in_seconds%3600)/60)) - local elapsed_seconds=$(($difference_in_seconds%60)) - printf -v total_time_elapsed "%02d:%02d:%02d" $elapsed_hours $elapsed_minutes $elapsed_seconds - - current_section+=($start_timestamp) - current_section+=($end_timestamp) - current_section+=($total_time_elapsed) - - unset -n current_section + + total_time_elapsed=$(date -d@$((current_time - start_time)) -u +%H:%M:%S) + benchmarks[$title]=${total_time_elapsed} + benchmarks_order+=($title) section_start_stopwatch=$(date +%s) - section_start_timestamp=$(date +%H:%M:%S) - - set -x } process_benchmarks() { set +x check_array_size benchmarks || { echo "Benchmarks array is empty"; return; } - declare -n script_stats="${benchmarks[last_index]}" - - script_object=$(jq -n --arg script_name "$(basename $0)" --arg script_start_timestamp "${script_stats[0]}" --arg end_timestamp "${script_stats[1]}" --arg total_time_elapsed "${script_stats[2]}" '{($script_name): {"overall": {"start_time": $script_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}}') - - unset script_stats[@] - unset -n script_stats - - for ((i=0; i<${#benchmarks[@]} - 1; i+=1)); do - - declare -n section_name="${benchmarks[i]}" - - section_object=$(jq -n --arg section_name "${benchmarks[i]}" --arg section_start_timestamp "${section_name[0]}" --arg end_timestamp "${section_name[1]}" --arg total_time_elapsed "${section_name[2]}" '{($section_name): {"start_time": $section_start_timestamp, "end_time": $end_timestamp, "total_time_elapsed": $total_time_elapsed}}') - - script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "$(basename $0)" '$script_object | .[$script_name] += $section_object') - - unset section_name[@] - unset -n section_name - + script_object=$(jq -n --arg script_name "${SCRIPT_NAME}" '{($script_name): {}}') + + for ((i=0; i<${#benchmarks_order[@]}; i+=1)); do + section_name=${benchmarks_order[i]} + section_object=$(jq -n --arg section_name "${section_name}" --arg total_time_elapsed "${benchmarks[${section_name}]}" \ + '{($section_name): $total_time_elapsed'}) + script_object=$(jq -n --argjson script_object "$script_object" --argjson section_object "$section_object" --arg script_name "${SCRIPT_NAME}" \ + '$script_object | .[$script_name] += $section_object') done - - echo "Benchmarks:" - echo "$script_object" | jq -C . - jq ". += [$script_object]" ${VHD_BUILD_PERF_DATA} > tmp.json && mv tmp.json ${VHD_BUILD_PERF_DATA} + jq ". += $script_object" ${VHD_BUILD_PERF_DATA} > temp-build-perf-file.json && mv temp-build-perf-file.json ${VHD_BUILD_PERF_DATA} chmod 755 ${VHD_BUILD_PERF_DATA} - set -x } #return proper release metadata for the package based on the os and osVersion diff --git a/vhdbuilder/packer/build-performance/evaluate-build-performance.sh b/vhdbuilder/packer/build-performance/evaluate-build-performance.sh new file mode 100755 index 00000000000..002f88cd890 --- /dev/null +++ b/vhdbuilder/packer/build-performance/evaluate-build-performance.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +log_and_exit () { + local FILE=${1} + local ERR=${2} + local SHOW_FILE=${3:-false} + echo "##vso[task.logissue type=warning;sourcepath=$(basename $0);]${FILE} ${ERR}. Skipping build performance evaluation." + echo "##vso[task.complete result=SucceededWithIssues;]" + if [[ ${SHOW_FILE} == true ]]; then + cat ${FILE} + fi + exit 0 +} + +if [[ ! -f ${BUILD_PERF_DATA_FILE} ]]; then + log_and_exit ${BUILD_PERF_DATA_FILE} "not found" +fi + +SCRIPT_COUNT=$(jq -e 'keys | length' ${BUILD_PERF_DATA_FILE}) +if [[ $? -ne 0 ]]; then + log_and_exit ${BUILD_PERF_DATA_FILE} "contains invalid json" true +fi + +if [[ ${SCRIPT_COUNT} -eq 0 ]]; then + log_and_exit ${BUILD_PERF_DATA_FILE} "contains no scripts" +fi + +echo -e "\nGenerating build performance data for ${SIG_IMAGE_NAME}...\n" + +jq --arg sig_name "${SIG_IMAGE_NAME}" \ + --arg arch "${ARCHITECTURE}" \ + --arg captured_sig_version "${CAPTURED_SIG_VERSION}" \ + --arg build_id "${BUILD_ID}" \ + --arg date "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" \ + --arg status "${JOB_STATUS}" \ + --arg branch "${GIT_BRANCH}" \ + --arg commit "${GIT_VERSION}" \ + '{sig_image_name: $sig_name, architecture: $arch, captured_sig_version: $captured_sig_version, build_id: $build_id, build_datetime: $date, + build_status: $status, branch: $branch, commit: $commit, scripts: .}' \ + ${BUILD_PERF_DATA_FILE} > ${SIG_IMAGE_NAME}-build-performance.json + +rm ${BUILD_PERF_DATA_FILE} + +echo "##[group]Build Information" +jq -C '. | {sig_image_name, architecture, captured_sig_version, build_id, build_datetime, build_status, branch, commit}' ${SIG_IMAGE_NAME}-build-performance.json +echo "##[endgroup]" + +scripts=() +for entry in $(jq -rc '.scripts | to_entries[]' ${SIG_IMAGE_NAME}-build-performance.json); do + scripts+=("$(echo "$entry" | jq -r '.key')") +done + +for script in "${scripts[@]}"; do + echo "##[group]${script}" + jq -C ".scripts.\"$script\"" ${SIG_IMAGE_NAME}-build-performance.json + echo "##[endgroup]" +done + +rm ${SIG_IMAGE_NAME}-build-performance.json +echo -e "\nBuild performance evaluation script completed." \ No newline at end of file diff --git a/vhdbuilder/packer/install-dependencies.sh b/vhdbuilder/packer/install-dependencies.sh index 9ef8032416c..87339441cc0 100644 --- a/vhdbuilder/packer/install-dependencies.sh +++ b/vhdbuilder/packer/install-dependencies.sh @@ -1,12 +1,12 @@ #!/bin/bash -script_start_timestamp=$(date +%H:%M:%S) -section_start_timestamp=$(date +%H:%M:%S) - script_start_stopwatch=$(date +%s) section_start_stopwatch=$(date +%s) +SCRIPT_NAME=$(basename $0 .sh) +SCRIPT_NAME="${SCRIPT_NAME//-/_}" +declare -A benchmarks=() +declare -a benchmarks_order=() -declare -a benchmarks=() UBUNTU_OS_NAME="UBUNTU" MARINER_OS_NAME="MARINER" MARINER_KATA_OS_NAME="MARINERKATA" @@ -571,5 +571,5 @@ fi rm -f ./azcopy # cleanup immediately after usage will return in two downloads echo "install-dependencies step completed successfully" -capture_benchmark "overall_script" true +capture_benchmark "${SCRIPT_NAME}_overall" true process_benchmarks diff --git a/vhdbuilder/packer/post-install-dependencies.sh b/vhdbuilder/packer/post-install-dependencies.sh index 42e634fb6ca..abfd3d19292 100644 --- a/vhdbuilder/packer/post-install-dependencies.sh +++ b/vhdbuilder/packer/post-install-dependencies.sh @@ -1,12 +1,11 @@ #!/bin/bash -script_start_timestamp=$(date +%H:%M:%S) -section_start_timestamp=$(date +%H:%M:%S) - script_start_stopwatch=$(date +%s) section_start_stopwatch=$(date +%s) - -declare -a benchmarks=() +SCRIPT_NAME=$(basename $0 .sh) +SCRIPT_NAME="${SCRIPT_NAME//-/_}" +declare -A benchmarks=() +declare -a benchmarks_order=() OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') UBUNTU_OS_NAME="UBUNTU" @@ -106,5 +105,5 @@ if [[ $OS == $UBUNTU_OS_NAME ]]; then fi capture_benchmark "resolve_conf" echo "post-install-dependencies step completed successfully" -capture_benchmark "overall_script" true +capture_benchmark "${SCRIPT_NAME}_overall" true process_benchmarks \ No newline at end of file diff --git a/vhdbuilder/packer/pre-install-dependencies.sh b/vhdbuilder/packer/pre-install-dependencies.sh index d505c4a5ae7..3d1d4a43193 100644 --- a/vhdbuilder/packer/pre-install-dependencies.sh +++ b/vhdbuilder/packer/pre-install-dependencies.sh @@ -1,12 +1,11 @@ #!/bin/bash -script_start_timestamp=$(date +%H:%M:%S) -section_start_timestamp=$(date +%H:%M:%S) - script_start_stopwatch=$(date +%s) section_start_stopwatch=$(date +%s) - -declare -a benchmarks=() +SCRIPT_NAME=$(basename $0 .sh) +SCRIPT_NAME="${SCRIPT_NAME//-/_}" +declare -A benchmarks=() +declare -a benchmarks_order=() OS=$(sort -r /etc/*-release | gawk 'match($0, /^(ID_LIKE=(coreos)|ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }') OS_VERSION=$(sort -r /etc/*-release | gawk 'match($0, /^(VERSION_ID=(.*))$/, a) { print toupper(a[2] a[3]); exit }' | tr -d '"') @@ -33,7 +32,7 @@ MANIFEST_FILEPATH=/opt/azure/manifest.json cat components.json > ${COMPONENTS_FILEPATH} cat manifest.json > ${MANIFEST_FILEPATH} echo "Starting build on " $(date) > ${VHD_LOGS_FILEPATH} -echo '[]' > ${VHD_BUILD_PERF_DATA} +echo '{}' > ${VHD_BUILD_PERF_DATA} if [[ $OS == $MARINER_OS_NAME ]]; then chmod 755 /opt @@ -145,5 +144,5 @@ if [[ "${UBUNTU_RELEASE}" == "22.04" && "${ENABLE_FIPS,,}" != "true" ]]; then fi capture_benchmark "handle_azureLinux_and_cgroupV2" echo "pre-install-dependencies step finished successfully" -capture_benchmark "overall_script" true +capture_benchmark "${SCRIPT_NAME}_overall" true process_benchmarks \ No newline at end of file