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

Add manual benchmark workflow and S3 result persistence #429

Merged
merged 20 commits into from
Nov 27, 2024

Conversation

fabianliebig
Copy link
Collaborator

@fabianliebig fabianliebig commented Nov 14, 2024

Hi everyone,

This pull request introduces a class and a workflow designed to store the results of a benchmark run on an S3 bucket.

The key used for storage includes the identifier for the benchmark itself, the branch used, the release version, the current date and the commit hash in that order. Furthermore, boto3 package is added to interact with AWS components.

I look forward to your feedback.

@AVHopp
Copy link
Collaborator

AVHopp commented Nov 18, 2024

@fabianliebig Looking at your commit history, I think the "fixup" did not do what you wanted it to do, you might want to check that out again ;)

@fabianliebig fabianliebig force-pushed the feature/persisting-benchmarking-results branch from f1cdf02 to 87dce85 Compare November 18, 2024 09:10
pyproject.toml Show resolved Hide resolved
Copy link
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

Code looks quite clean and nice. Some things need minor adjustments :)

benchmarks/persistance/s3_persistance.py Outdated Show resolved Hide resolved
benchmarks/persistance/s3_persistance.py Outdated Show resolved Hide resolved
benchmarks/persistance/s3_persistance.py Outdated Show resolved Hide resolved
benchmarks/persistance/s3_persistance.py Outdated Show resolved Hide resolved
benchmarks/persistance/s3_persistance.py Outdated Show resolved Hide resolved
benchmarks/persistance/s3_persistance.py Outdated Show resolved Hide resolved
benchmarks/persistance/s3_persistance.py Outdated Show resolved Hide resolved
benchmarks/__main__.py Show resolved Hide resolved
.github/workflows/manual_benchmark.yml Outdated Show resolved Hide resolved
.github/workflows/manual_benchmark.yml Show resolved Hide resolved
Copy link
Collaborator

@AdrianSosic AdrianSosic left a comment

Choose a reason for hiding this comment

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

Hi @fabianliebig, here a first few thoughts

.github/workflows/manual_benchmark.yml Outdated Show resolved Hide resolved
pyproject.toml Outdated Show resolved Hide resolved
benchmarks/__main__.py Show resolved Hide resolved
benchmarks/__main__.py Show resolved Hide resolved
benchmarks/persistence/s3_persistence.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

Some minor comments and one rather major one where we might need to discuss a little bit.

benchmarks/definition/config.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
@fabianliebig fabianliebig force-pushed the feature/persisting-benchmarking-results branch 2 times, most recently from 6ef448e to 9b57f37 Compare November 20, 2024 16:15
Copy link
Collaborator

@AdrianSosic AdrianSosic left a comment

Choose a reason for hiding this comment

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

Hi @fabianliebig, thx for the draft. Here a few initial comment

benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

Few comments from my side.

benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
@Scienfitz Scienfitz marked this pull request as draft November 22, 2024 10:26
@fabianliebig fabianliebig force-pushed the feature/persisting-benchmarking-results branch 4 times, most recently from aa83e58 to 22caf8e Compare November 23, 2024 08:28
@fabianliebig fabianliebig added the new feature New functionality label Nov 23, 2024
@fabianliebig fabianliebig force-pushed the feature/persisting-benchmarking-results branch from e99f861 to 1de1222 Compare November 25, 2024 07:50
@fabianliebig fabianliebig marked this pull request as ready for review November 25, 2024 08:05
Copy link
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

Here is the hopefully final round of comments from my side :)

CHANGELOG.md Outdated Show resolved Hide resolved
benchmarks/definition/config.py Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@AdrianSosic AdrianSosic left a comment

Choose a reason for hiding this comment

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

Hi @fabianliebig, thanks so much. I think our discussion was definitely worth it, I like the path-based solution a lot more, and I also saw that you agree 👍🏼 very nice.

Here a few suggestions + problem catches. But no changes required for the architecture! Will have to jump now but will look at the revised version later this evening.

benchmarks/definition/config.py Show resolved Hide resolved
benchmarks/serialization.py Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
@fabianliebig fabianliebig force-pushed the feature/persisting-benchmarking-results branch 2 times, most recently from c68866a to 31cd5b2 Compare November 25, 2024 16:11
Copy link
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

Next round

benchmarks/persistence/persistence.py Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
.github/workflows/manual_benchmark.yml Show resolved Hide resolved
.github/workflows/manual_benchmark.yml Outdated Show resolved Hide resolved
benchmarks/serialization.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
benchmarks/persistence/persistence.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@AVHopp AVHopp left a comment

Choose a reason for hiding this comment

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

THanks for all of the work :)

@fabianliebig fabianliebig force-pushed the feature/persisting-benchmarking-results branch from e4d7bf7 to b03befc Compare November 26, 2024 19:06
@fabianliebig fabianliebig added enhancement Expand / change existing functionality documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation labels Nov 27, 2024
@Scienfitz Scienfitz added benchmarking and removed enhancement Expand / change existing functionality labels Nov 27, 2024
fabianliebig and others added 20 commits November 27, 2024 12:16
…zable and adding a dedicated serialization module
…g folder and filename construction.

This commit will drop the workflow id to allow overwriting and make the path homogenous constructable.
…prove path construction for benchmark results
@fabianliebig fabianliebig force-pushed the feature/persisting-benchmarking-results branch from b03befc to d260235 Compare November 27, 2024 11:27
@fabianliebig fabianliebig merged commit f4669a2 into main Nov 27, 2024
10 of 11 checks passed
@fabianliebig fabianliebig deleted the feature/persisting-benchmarking-results branch November 27, 2024 12:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants