New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Output gruff is broken for recorded runs when ruby version is not installed #43

Closed
ChrisBr opened this Issue Sep 1, 2018 · 1 comment

Comments

Projects
None yet
1 participant
@ChrisBr
Copy link
Contributor

ChrisBr commented Sep 1, 2018

Following #42 I looked deeper into the broken gruff plugin. The reason are wrong created contexts with wrong executables if the executables are not installed. Example:

  1. I run the recorded benchmark on my computer ``benchmark-driver example.yml --rbenv "system;jruby-9.2.0.0 -o record"
  2. To generate the gruff output, I run benchmark-driver in a container because I can't install ImageMagick on my host system because of dependencies. Inside this container, there are other ruby versions installed. In runner.rb however we create only the executables which are installed on the machine. However, I think in the recorded case, we should not create these executables because it does not matter.
  3. Gruff plugin fails because of wrong contexts.

See: https://github.com/benchmark-driver/benchmark-driver/blob/master/lib/benchmark_driver/runner.rb#L58
and
https://github.com/benchmark-driver/benchmark_driver-output-gruff/blob/master/lib/benchmark_driver/output/gruff.rb#L42

I have to admin that this is maybe a "special case" but I still think it should be supported. I already have working fix which we can discuss in a PR.

ChrisBr added a commit to ChrisBr/benchmark-driver that referenced this issue Sep 1, 2018

Do not create executables if they already exist
When the context already has an executable and name,
there is no need to create it again.

This caused that contexts where missing in a recorded run
when it gets executed on a machine without these rubies installed.

Fix benchmark-driver#43
@ChrisBr

This comment has been minimized.

Copy link
Contributor Author

ChrisBr commented Sep 1, 2018

I think there are even more use cases:

  • if you want to version to record and run the output later on
  • if you want to share the record with somebody

@k0kubun k0kubun closed this in #44 Sep 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment