Skip to content

Conversation

@not-matthias
Copy link
Member

I initially thought the problems came from the new command builder, but it was actually due to directly writing the perf.pipedata into the profile folder (this is the PR: #138).

I am not yet sure why this is only happening in golang and not with Rust. Creating the profile folder didn't fix this issue. Lmk if you have any theories/ideas what could be the root cause @GuillaumeLagrange @adriencaccia .

I've added a test and reverted the change for now.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes an issue where writing perf.pipedata directly to the profile folder caused problems with Golang benchmarks. The solution creates the perf data file in a temporary location and copies it to the profile folder during teardown.

Key Changes

  • Store a NamedTempFile in PerfRunner to hold perf data during execution
  • Remove profile_folder parameter from PerfRunner::run() method
  • Copy perf data from tempfile to profile folder in save_files_to() method

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
src/run/runner/wall_time/perf/mod.rs Add perf_file field to store tempfile, update run() to write to tempfile, add copy logic in save_files_to()
src/run/runner/wall_time/executor.rs Remove profile_folder parameter from perf.run() call, add test helper method
src/run/runner/tests.rs Add new test to verify perf data file creation with Go benchmarks

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@not-matthias
Copy link
Member Author

Closing this in favor of CodSpeedHQ/codspeed-go#34

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.

2 participants