Page MenuHomeSoftware Heritage

implement statistics collection during benchmarks
ClosedPublic

Authored by dachary on Jan 25 2022, 10:55 AM.

Details

Summary

statistics on reads and writes are written in CSV files. At the end of the benchmark they are merged together to display overall performances.

Relates to: T3531

Diff Detail

Repository
rDOBJS Object storage
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 26321
Build 41156: Phabricator diff pipeline on jenkinsJenkins console · Jenkins
Build 41155: arc lint + arc unit

Event Timeline

Build has FAILED

Patch application report for D7030 (id=25485)

Rebasing onto 554c12a851...

Current branch diff-target is up to date.
Changes applied before test
commit 52963a290849c8ba83234d0299196e2b117460c0
Author: Loïc Dachary <loic@dachary.org>
Date:   Mon Jan 24 22:09:19 2022 +0100

    implement statistics collection during benchmarks

Link to build: https://jenkins.softwareheritage.org/job/DOBJS/job/tests-on-diff/112/
See console output for more information: https://jenkins.softwareheritage.org/job/DOBJS/job/tests-on-diff/112/console

Harbormaster returned this revision to the author for changes because remote builds failed.Jan 25 2022, 10:58 AM
Harbormaster failed remote builds in B26319: Diff 25485!

Build is green

Patch application report for D7030 (id=25486)

Rebasing onto 554c12a851...

Current branch diff-target is up to date.
Changes applied before test
commit 51a93ec950a1a706583cfae7c023928743731f6d
Author: Loïc Dachary <loic@dachary.org>
Date:   Mon Jan 24 22:09:19 2022 +0100

    implement statistics collection during benchmarks

See https://jenkins.softwareheritage.org/job/DOBJS/job/tests-on-diff/113/ for more details.

Build is green

Patch application report for D7030 (id=25487)

Rebasing onto 554c12a851...

Current branch diff-target is up to date.
Changes applied before test
commit 2d6f6a20d5091885efe7023dece26c4d733504ff
Author: Loïc Dachary <loic@dachary.org>
Date:   Mon Jan 24 22:09:19 2022 +0100

    implement statistics collection during benchmarks

See https://jenkins.softwareheritage.org/job/DOBJS/job/tests-on-diff/114/ for more details.

vlorentz added inline comments.
swh/objstorage/backends/winery/stats.py
29–55

could probably moved to __init__

57–63

is this split just for tests?

swh/objstorage/tests/test_objstorage_winery.py
384
swh/objstorage/tests/winery_benchmark.py
25–28

we prefer collaborator patterns to inheritance for this sort of stuff

winery-test-environment/requirements.txt
5

wut, why PyQt?

dachary marked 5 inline comments as done.

address review comments

swh/objstorage/backends/winery/stats.py
29–55

Done.

57–63

For symmetry: moved to del since _init is now in init

swh/objstorage/tests/test_objstorage_winery.py
384

Cute, thanks for the tip!

swh/objstorage/tests/winery_benchmark.py
25–28

Thanks for the advice, changed accordingly.

winery-test-environment/requirements.txt
5

for rendering the graphs in a window. That's what plt.show() is for in render-stats.py.

doesn't matplotlib work with the built-in tkinter by default?

This revision is now accepted and ready to land.Jan 25 2022, 1:00 PM

Build is green

Patch application report for D7030 (id=25489)

Rebasing onto 554c12a851...

Current branch diff-target is up to date.
Changes applied before test
commit 7b5538279be0001b84e0499b869d65caff908fad
Author: Loïc Dachary <loic@dachary.org>
Date:   Mon Jan 24 22:09:19 2022 +0100

    implement statistics collection during benchmarks

See https://jenkins.softwareheritage.org/job/DOBJS/job/tests-on-diff/115/ for more details.