Loading .gitlab-ci.yml +115 −39 Original line number Diff line number Diff line Loading @@ -2270,9 +2270,13 @@ coverage-test-on-main-scheduled: # still needed as long as no long MASA testvectors are there - .test-job-linux-needs-testv-dir tags: - test-complexity-measurement - ivas-linux-fast timeout: 3 hours 30 minutes stage: test before_script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" when: always Loading @@ -2280,89 +2284,164 @@ coverage-test-on-main-scheduled: paths: - $CI_JOB_NAME-public complexity-stereo-in-stereo-out: complexity-stereo-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=stereo - out_format=stereo - out_format=ext - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-ism-in-binaural-out: complexity-ism-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 1 hour # when: delayed # start_in: 1 hour script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=ISM - out_format=BINAURAL - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-sba-hoa3-in-hoa3-out: complexity-ism-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 2 hours 30 minutes # when: delayed # start_in: 2 hour script: - in_format=ISM - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-sba-hoa3-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 3 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=HOA3 - out_format=HOA3 - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-mc-in-7_1_4-out: complexity-sba-hoa3-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 4 hours # when: delayed # start_in: 4 hours script: - in_format=HOA3 - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-mc-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 5 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=MC - out_format=7_1_4 - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-7_1_4-out: complexity-mc-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 7 hours 30 minutes # when: delayed # start_in: 6 hours script: - in_format=MC - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 7 hours script: - in_format=MASA - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-binaural-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 8 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=MASA - out_format=7_1_4 - out_format=BINAURAL - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-omasa-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 9 hours script: - in_format=OMASA - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-omasa-in-binaural-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 10 hours script: - in_format=OMASA - out_format=BINAURAL - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts Loading @@ -2373,12 +2452,9 @@ complexity-StereoDmxEVS-stereo-in-mono-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 8 hours 30 minutes # when: delayed # start_in: 11 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=StereoDmxEVS - out_format=mono - ret_val=0 Loading ci/complexity_measurements/check_for_changes.py +20 −3 Original line number Diff line number Diff line Loading @@ -26,10 +26,27 @@ def check_linewise_logfile(filepath, cols): contents = [line for line in csv.reader(f, delimiter=" ")] curr = contents[-1] try: prev = contents[-2] except IndexError: # this is for handling first runs of new complexity jobs -> only one line present # do not report any changes then prev = curr change_ratios = [abs(float(curr[i]) / float(prev[i]) - 1) > THRESH for i in cols] changes_found = any(change_ratios) changes_found = False for c in cols: if curr[c] == prev[c]: abs_perc_change = 0 else: try: abs_perc_change = abs(float(curr[c]) / float(prev[c]) - 1) except ZeroDivisionError: # in some cases, such as missing instrumentation, values can be zero, so catch that here # from the first if we know that curr can not be 0 too -> report change abs_perc_change = THRESH + 1 if abs_perc_change > THRESH: changes_found = True break if changes_found: print("Previous log line:", prev) Loading ci/complexity_measurements/getWmops.sh +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ if [ $# -ne 2 ]; then fi ivas_format=$1 output_format=$2 output_format="$2" date=`date +%Y%m%d` # used for log-file file ending shortDate=`date "+%b %d" | sed -e "s/\ /_/g"` # stored in the log-file Loading ci/complexity_measurements/style.css +13 −13 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ hr { } .graph-container { margin: 0 auto; width:800px; width: 1600px; } .message-box { margin-top: 2em; Loading @@ -48,62 +48,62 @@ hr { } #wmops-graph { height:500px; width:800px; width:1600px; float:left; } #wmops_per_op-graph { height:500px; width:800px; width:1600px; float:left; } #wmops-48kHz-graph { height:500px; width:800px; width:1600px; float:left; } #wmops_per_op-48kHz-graph { height:500px; width:800px; width:1600px; float:left; } #wmops_basop_per_op-graph { height:500px; width:800px; width:1600px; float:left; } #wmops-graph-basop { height:500px; width:800px; width:1600px; float:left; } #conversion_factors_basop_flc { height:500px; width:800px; width:1600px; float:left; } #ram-graph { height:500px; width:800px; width:1600px; float:left; } #ram-graph-basop { height:500px; width:800px; width:1600px; float:left; } #rom-graph { height:500px; width:800px; width:1600px; float:left; } #rom-graph-basop{ height:500px; width:800px; width:1600px; float:left; } #prom-graph { height:500px; width:800px; width:1600px; float:left; } #tooltip { Loading ci/get_id_of_last_job_occurence.py +5 −2 Original line number Diff line number Diff line Loading @@ -65,9 +65,12 @@ def get_job_id(branch_name, job_name, project_id, success_only): if job_name not in resp_jobs.text: continue # find actual job by name # find actual job by name, exclude timed out or stuck jobs for job in resp_jobs.json(): if job["name"] == job_name: name_matches = job["name"] == job_name is_success = job["status"] == "success" has_timed_out = job.get("failure_reason", "") == "stuck_or_timeout_failure" if name_matches and (is_success or not has_timed_out): job_id = job["id"] break if job_id >= 0: Loading Loading
.gitlab-ci.yml +115 −39 Original line number Diff line number Diff line Loading @@ -2270,9 +2270,13 @@ coverage-test-on-main-scheduled: # still needed as long as no long MASA testvectors are there - .test-job-linux-needs-testv-dir tags: - test-complexity-measurement - ivas-linux-fast timeout: 3 hours 30 minutes stage: test before_script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" when: always Loading @@ -2280,89 +2284,164 @@ coverage-test-on-main-scheduled: paths: - $CI_JOB_NAME-public complexity-stereo-in-stereo-out: complexity-stereo-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=stereo - out_format=stereo - out_format=ext - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-ism-in-binaural-out: complexity-ism-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 1 hour # when: delayed # start_in: 1 hour script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=ISM - out_format=BINAURAL - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-sba-hoa3-in-hoa3-out: complexity-ism-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 2 hours 30 minutes # when: delayed # start_in: 2 hour script: - in_format=ISM - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "ISM+1 ISM+2 ISM+3 ISM+4" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-sba-hoa3-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 3 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=HOA3 - out_format=HOA3 - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-mc-in-7_1_4-out: complexity-sba-hoa3-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 4 hours # when: delayed # start_in: 4 hours script: - in_format=HOA3 - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-mc-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 5 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=MC - out_format=7_1_4 - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-7_1_4-out: complexity-mc-in-binaural_room_ir-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 7 hours 30 minutes # when: delayed # start_in: 6 hours script: - in_format=MC - out_format=BINAURAL_ROOM_IR - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 7 hours script: - in_format=MASA - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-masa-in-binaural-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 8 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=MASA - out_format=7_1_4 - out_format=BINAURAL - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-omasa-in-ext-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 9 hours script: - in_format=OMASA - out_format=EXT - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts - exit $ret_val complexity-omasa-in-binaural-out: extends: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX # when: delayed # start_in: 10 hours script: - in_format=OMASA - out_format=BINAURAL - ret_val=0 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" || ret_val=$? - *complexity-measurements-prepare-artifacts Loading @@ -2373,12 +2452,9 @@ complexity-StereoDmxEVS-stereo-in-mono-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed start_in: 8 hours 30 minutes # when: delayed # start_in: 11 hours script: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - in_format=StereoDmxEVS - out_format=mono - ret_val=0 Loading
ci/complexity_measurements/check_for_changes.py +20 −3 Original line number Diff line number Diff line Loading @@ -26,10 +26,27 @@ def check_linewise_logfile(filepath, cols): contents = [line for line in csv.reader(f, delimiter=" ")] curr = contents[-1] try: prev = contents[-2] except IndexError: # this is for handling first runs of new complexity jobs -> only one line present # do not report any changes then prev = curr change_ratios = [abs(float(curr[i]) / float(prev[i]) - 1) > THRESH for i in cols] changes_found = any(change_ratios) changes_found = False for c in cols: if curr[c] == prev[c]: abs_perc_change = 0 else: try: abs_perc_change = abs(float(curr[c]) / float(prev[c]) - 1) except ZeroDivisionError: # in some cases, such as missing instrumentation, values can be zero, so catch that here # from the first if we know that curr can not be 0 too -> report change abs_perc_change = THRESH + 1 if abs_perc_change > THRESH: changes_found = True break if changes_found: print("Previous log line:", prev) Loading
ci/complexity_measurements/getWmops.sh +1 −1 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ if [ $# -ne 2 ]; then fi ivas_format=$1 output_format=$2 output_format="$2" date=`date +%Y%m%d` # used for log-file file ending shortDate=`date "+%b %d" | sed -e "s/\ /_/g"` # stored in the log-file Loading
ci/complexity_measurements/style.css +13 −13 Original line number Diff line number Diff line Loading @@ -38,7 +38,7 @@ hr { } .graph-container { margin: 0 auto; width:800px; width: 1600px; } .message-box { margin-top: 2em; Loading @@ -48,62 +48,62 @@ hr { } #wmops-graph { height:500px; width:800px; width:1600px; float:left; } #wmops_per_op-graph { height:500px; width:800px; width:1600px; float:left; } #wmops-48kHz-graph { height:500px; width:800px; width:1600px; float:left; } #wmops_per_op-48kHz-graph { height:500px; width:800px; width:1600px; float:left; } #wmops_basop_per_op-graph { height:500px; width:800px; width:1600px; float:left; } #wmops-graph-basop { height:500px; width:800px; width:1600px; float:left; } #conversion_factors_basop_flc { height:500px; width:800px; width:1600px; float:left; } #ram-graph { height:500px; width:800px; width:1600px; float:left; } #ram-graph-basop { height:500px; width:800px; width:1600px; float:left; } #rom-graph { height:500px; width:800px; width:1600px; float:left; } #rom-graph-basop{ height:500px; width:800px; width:1600px; float:left; } #prom-graph { height:500px; width:800px; width:1600px; float:left; } #tooltip { Loading
ci/get_id_of_last_job_occurence.py +5 −2 Original line number Diff line number Diff line Loading @@ -65,9 +65,12 @@ def get_job_id(branch_name, job_name, project_id, success_only): if job_name not in resp_jobs.text: continue # find actual job by name # find actual job by name, exclude timed out or stuck jobs for job in resp_jobs.json(): if job["name"] == job_name: name_matches = job["name"] == job_name is_success = job["status"] == "success" has_timed_out = job.get("failure_reason", "") == "stuck_or_timeout_failure" if name_matches and (is_success or not has_timed_out): job_id = job["id"] break if job_id >= 0: Loading