Skip to content

feat: metrics parser — connect gates to real test data#196

Merged
Wool-xing merged 1 commit into
mainfrom
feat/metrics-parser
Jun 4, 2026
Merged

feat: metrics parser — connect gates to real test data#196
Wool-xing merged 1 commit into
mainfrom
feat/metrics-parser

Conversation

@Wool-xing
Copy link
Copy Markdown
Owner

Summary

Gate enforcement now reads real test output instead of empty dicts.

Changes

New: runtime/orchestrator/metrics/parser.py

  • parse_junit(xml) — extract total/passed/failed/rate from junit XML
  • parse_jmeter_jtl(csv) — extract samples/failures/avg_ms/p95_ms from JMeter JTL
  • extract_metrics(outcome) — auto-detect format and parse

Modified: runtime/orchestrator/workflows/test_coordinator.py

  • _execute_node() — extracts metrics from stdout after each step
  • _check_gates() — uses live metrics dict (was TODO stub)

Flow

execute_node() → stdout (junit XML / JMeter JTL)
     ↓
extract_metrics() → {total, passed, rate, avg_ms, p95_ms, ...}
     ↓
_check_gates() → PASS / BLOCK (real data)

Tests

test_metrics_parser.py: 12 passed
Total: 439 passed, 0 failed

- runtime/orchestrator/metrics/parser.py: parse_junit, parse_jmeter_jtl,
  extract_metrics with auto-format detection
- Pipeline _execute_node now extracts real metrics after each step
- _check_gates uses live data instead of empty dicts
- 12 tests (test_metrics_parser.py)
@Wool-xing Wool-xing merged commit c9d1908 into main Jun 4, 2026
16 checks passed
@Wool-xing Wool-xing deleted the feat/metrics-parser branch June 4, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant