Skip to content
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

Handle Google Benchmark 'aggregate' results #276

Merged
merged 2 commits into from
Sep 3, 2020
Merged

Conversation

cottsay
Copy link
Contributor

@cottsay cottsay commented Sep 3, 2020

Previously, I assumed all results generated by Google Benchmark were of 'iteration' type. Now that I have more experience with Google Benchmark, I've started generating aggregate results, which contain some different properties.

This change adds support for aggregate results and should make it easy to add any other result schemas we encounter in the future. For forward-compatibility, unsupported types will generate a warning message but will not fail the test. This makes the conversion tolerant to Google Benchmark adding new measures for existing mechanisms.

This change also uses the Jenkins Benchmark plugin's specific value types for numeric and boolean results. The reason all numbers are treated as floating point is that floating point numbers close enough to a round number seem to lose their decimal point and look like an integer. To make the data type consistent across runs, I'm opting to treat everything as a floating point number.

Follow-up to #275

Previously, I assumed all results generated by Google Benchmark were of
'iteration' type. Now that I have more experience with Google Benchmark,
I've started generating aggregate results, which contain some different
properties.

This change adds support for aggregate results and should make it easy
to add any other result schemas we encounter in the future. For
forward-compatibility, unsupported types will generate a warning message
but will not fail the test. This makes the conversion tolerant to Google
Benchmark adding new measures for existing mechanisms.

Signed-off-by: Scott K Logan <logans@cottsay.net>
@cottsay cottsay added the enhancement New feature or request label Sep 3, 2020
@cottsay cottsay self-assigned this Sep 3, 2020
Copy link
Contributor

@nuclearsandwich nuclearsandwich left a comment

Choose a reason for hiding this comment

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

I spent some time convincing myself that the properties not specific to aggregation or iteration were handled by the generator in convert_extra_metrics. I got briefly hung up on a parameter name which I've commented on specifically but none of the comments are blocking.

Signed-off-by: Scott K Logan <logans@cottsay.net>
@cottsay cottsay merged commit d284255 into master Sep 3, 2020
@delete-merged-branch delete-merged-branch bot deleted the benchmark_results branch September 3, 2020 18:40
ahcorde pushed a commit that referenced this pull request Oct 2, 2020
Previously, I assumed all results generated by Google Benchmark were of
'iteration' type. Now that I have more experience with Google Benchmark,
I've started generating aggregate results, which contain some different
properties.

This change adds support for aggregate results and should make it easy
to add any other result schemas we encounter in the future. For
forward-compatibility, unsupported types will generate a warning message
but will not fail the test. This makes the conversion tolerant to Google
Benchmark adding new measures for existing mechanisms.

Signed-off-by: Scott K Logan <logans@cottsay.net>
ahcorde pushed a commit that referenced this pull request Oct 6, 2020
Previously, I assumed all results generated by Google Benchmark were of
'iteration' type. Now that I have more experience with Google Benchmark,
I've started generating aggregate results, which contain some different
properties.

This change adds support for aggregate results and should make it easy
to add any other result schemas we encounter in the future. For
forward-compatibility, unsupported types will generate a warning message
but will not fail the test. This makes the conversion tolerant to Google
Benchmark adding new measures for existing mechanisms.

Signed-off-by: Scott K Logan <logans@cottsay.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants