fix(core): make Go benchmark metadata request-scoped#238
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
🚧 Files skipped from review as they are similar to previous changes (5)
📝 WalkthroughWalkthroughThe parser contract now returns request-local system metadata. Go benchmark parsing populates it, core conversion applies it as a fallback, and CLI assembly preserves it in dataset JSON. Shared temporary-file operations and related concurrency tests are synchronized. ChangesRequest-local benchmark metadata
Concurrency safety updates
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant BenchmarkInput
participant ParseGoBenchmark
participant Convert
participant AssembleDataset
BenchmarkInput->>ParseGoBenchmark: parse benchmark records
ParseGoBenchmark-->>Convert: points, config, system metadata
Convert->>Convert: apply system metadata fallback
Convert-->>AssembleDataset: dataset metadata
AssembleDataset-->>BenchmarkInput: marshaled dataset
Suggested reviewers: 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@shared/tmp_files_manager_test.go`:
- Around line 103-108: Replace the invalid wg.Go call in the concurrent test
with standard sync.WaitGroup orchestration: call wg.Add(1) for each iteration,
launch a goroutine, and defer or invoke wg.Done() within it while preserving the
existing manager.Store and manager.RemoveAll operations.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: dc80d89a-8506-4e86-9916-c3d358f04167
📒 Files selected for processing (24)
cmd/cli/pipeline.gocmd/cli/pipeline_test.gopkg/core/core.gopkg/core/core_test.gopkg/parser/csv/csv.gopkg/parser/csv/csv_test.gopkg/parser/golang/golang.gopkg/parser/golang/golang_test.gopkg/parser/javascript/tinybench.gopkg/parser/javascript/tinybench_test.gopkg/parser/javascript/vitest.gopkg/parser/javascript/vitest_test.gopkg/parser/json/json.gopkg/parser/json/json_test.gopkg/parser/registry.gopkg/parser/registry_test.gopkg/parser/rust/criterion.gopkg/parser/rust/criterion_test.gopkg/parser/rust/divan.gopkg/parser/rust/divan_test.goshared/bench_state.goshared/exit_with_err_test.goshared/tmp_files_manager.goshared/tmp_files_manager_test.go
💤 Files with no reviewable changes (1)
- shared/bench_state.go
Related Issue
Resolve #236
Changes:
Parser API now returns request-local *shared.Meta.
Go benchmark parsing no longer writes shared globals.
Removed shared/bench_state.go.
core.Convert passes parsed metadata into core.Assemble, while preserving
explicit caller metadata.
CLI Dataset metadata and JSON wire format remain unchanged.
Added a 64-way concurrent conversion regression test.
Test Result
Summary by CodeRabbit