Skip to content

feat: external opcode metadata for archive sources#180

Merged
skylenet merged 3 commits intomasterfrom
external-opcodes
Apr 2, 2026
Merged

feat: external opcode metadata for archive sources#180
skylenet merged 3 commits intomasterfrom
external-opcodes

Conversation

@skylenet
Copy link
Copy Markdown
Member

@skylenet skylenet commented Apr 2, 2026

Summary

  • Adds opcodes and opcodes_file fields to the archive source config, allowing opcode count data to be provided via an external JSON file when not using EEST fixtures
  • Opcode data is written to opcode_count at the top level of each test in summary.json, and the UI opcode heatmap/test detail views now read from this unified field (with fallback to eest.info.opcode_count for backward compatibility)
  • Adds archive source documentation to docs/configuration.md and config.example.yaml which were previously missing

Config example

source:
  archive:
    file: https://github.com/.../artifacts/6222084759
    opcodes: "opcodes_tracing.json"
    # Optional: separate archive for the opcodes file
    opcodes_file: https://github.com/.../artifacts/6222074312
    steps:
      test:
        - "perf-devnet-3/testing/*.txt"

Test plan

  • go build ./pkg/executor/... ./pkg/config/... compiles
  • go test ./pkg/executor/... ./pkg/config/... passes
  • golangci-lint run passes on changed packages
  • TypeScript type-checks with npx tsc --noEmit
  • Manual: run with archive source + opcodes config, verify summary.json contains opcode_count per test
  • Manual: verify UI opcode heatmap renders for non-EEST suite

skylenet added 3 commits April 2, 2026 12:44
Add opcodes and opcodes_file fields to the archive source config,
allowing opcode count data to be provided via an external JSON file
when not using EEST fixtures. The opcode data is included in the suite
summary.json and displayed in the UI opcode heatmap.

Also adds the archive source section to docs/configuration.md and
config.example.yaml which were previously missing.
Strip .txt suffix as fallback when matching opcode JSON keys to
discovered test names. Also apply the test filter when counting
unmatched opcode entries to avoid misleading warnings.
When a suite directory already exists, CreateSuiteOutput re-reads the
old summary.json and preserves its test entries. This discarded any
newly loaded opcode data. Now we merge opcode counts from the prepared
source into the existing test entries before writing.
@skylenet skylenet merged commit 173e7f2 into master Apr 2, 2026
8 of 9 checks passed
@skylenet skylenet deleted the external-opcodes branch April 2, 2026 12:17
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