ci(lesavka): stabilize run counter labels

This commit is contained in:
Brad Stein 2026-05-18 03:34:24 -03:00
parent 4b4320c4b3
commit 6d9e152a9f

View File

@ -34,8 +34,8 @@ jenkins_job=${JOB_NAME:-lesavka}
cat >"${METRICS_FILE}" <<METRICS
# HELP platform_quality_gate_runs_total Number of quality gate runs by result.
# TYPE platform_quality_gate_runs_total counter
platform_quality_gate_runs_total{suite="lesavka",branch="${branch}",commit="${commit}",status="ok"} 0
platform_quality_gate_runs_total{suite="lesavka",branch="${branch}",commit="${commit}",status="failed"} 1
platform_quality_gate_runs_total{suite="lesavka",status="ok"} 0
platform_quality_gate_runs_total{suite="lesavka",status="failed"} 1
# HELP platform_quality_gate_build_info Build metadata for the latest lesavka gate run.
# TYPE platform_quality_gate_build_info gauge
platform_quality_gate_build_info{suite="lesavka",branch="${branch}",commit="${commit}",build_number="${build_number}",jenkins_job="${jenkins_job}"} 1
@ -80,8 +80,8 @@ refresh_counter_metrics() {
{
echo '# HELP platform_quality_gate_runs_total Number of quality gate runs by result.'
echo '# TYPE platform_quality_gate_runs_total counter'
echo "platform_quality_gate_runs_total{suite=\"lesavka\",branch=\"${branch}\",commit=\"${commit}\",status=\"ok\"} ${ok_count}"
echo "platform_quality_gate_runs_total{suite=\"lesavka\",branch=\"${branch}\",commit=\"${commit}\",status=\"failed\"} ${failed_count}"
echo "platform_quality_gate_runs_total{suite=\"lesavka\",status=\"ok\"} ${ok_count}"
echo "platform_quality_gate_runs_total{suite=\"lesavka\",status=\"failed\"} ${failed_count}"
awk '
/^# HELP platform_quality_gate_runs_total / {next}
/^# TYPE platform_quality_gate_runs_total / {next}
@ -153,6 +153,7 @@ for rel in repo_files():
if loc > 500:
source_loc_over_500.append(rel)
run_labels = 'suite="lesavka"'
labels = f'suite="lesavka",branch="{esc(branch)}",commit="{esc(commit)}"'
build_labels = f'{labels},build_number="{esc(build_number)}",jenkins_job="{esc(jenkins_job)}"'
loc_ok_value = 0 if source_loc_over_500 else 1
@ -160,7 +161,7 @@ loc_failed_value = 1 if source_loc_over_500 else 0
metrics = [
'# HELP platform_quality_gate_runs_total Number of quality gate runs by result.',
'# TYPE platform_quality_gate_runs_total counter',
f'platform_quality_gate_runs_total{{{labels},status="failed"}} 1',
f'platform_quality_gate_runs_total{{{run_labels},status="failed"}} 1',
'# HELP platform_quality_gate_build_info Build metadata for the latest lesavka gate run.',
'# TYPE platform_quality_gate_build_info gauge',
f'platform_quality_gate_build_info{{{build_labels}}} 1',
@ -359,6 +360,7 @@ all_file_failures = [
def esc(value: str) -> str:
return value.replace('\\', r'\\').replace('\n', r'\\n').replace('"', r'\"')
run_labels = 'suite="lesavka"'
labels = f'suite="lesavka",branch="{esc(branch)}",commit="{esc(commit)}"'
build_labels = f'{labels},build_number="{esc(build_number)}",jenkins_job="{esc(jenkins_job)}"'
metrics = []
@ -367,7 +369,7 @@ metrics.append('# TYPE platform_quality_gate_runs_total counter')
status_label = 'ok' if not regressions and not contract_failures and not all_file_failures and not source_loc_over_500 else 'failed'
ok_value = 1 if status_label == 'ok' else 0
failed_value = 1 if status_label == 'failed' else 0
metrics.append(f'platform_quality_gate_runs_total{{{labels},status="{status_label}"}} 1')
metrics.append(f'platform_quality_gate_runs_total{{{run_labels},status="{status_label}"}} 1')
metrics.append('# HELP platform_quality_gate_build_info Build metadata for the latest lesavka gate run.')
metrics.append('# TYPE platform_quality_gate_build_info gauge')
metrics.append(f'platform_quality_gate_build_info{{{build_labels}}} 1')