-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
Reimplement the tool rw-heatmaps
using golang and rename it to rw-benchmark
#15060
base: main
Are you sure you want to change the base?
Conversation
29c64dd
to
d2ec177
Compare
Codecov Report
@@ Coverage Diff @@
## main #15060 +/- ##
==========================================
- Coverage 74.68% 74.56% -0.12%
==========================================
Files 415 415
Lines 34288 34288
==========================================
- Hits 25609 25568 -41
- Misses 7044 7079 +35
- Partials 1635 1641 +6
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
e3cf55d
to
c41fa9a
Compare
7af16dc
to
b49a073
Compare
67c34c6
to
d908fe4
Compare
Rebased this PR. |
I'm definitely for having this uniform in go. But I'm not convinced the new presentation form has sufficient information density. Previous representation has 3 advantages:
The PR seems to be very huge due to 'incremental' commits. I think there were not many comments so squashing it should not be net negative and more convencing to read it e2e. |
9c27b86
to
2146477
Compare
Thanks @ptabor for the feedback. Please see my response below,
I squashed the commits into one. Although the PR looks huge (2K+ line of change), actually only
I added more flags so that users can customize the charts, see usage below,
The example file
Actually I think the new version (delivered by this PR) is clearer and accordingly better to me. It gets data from both CSV files rendered in one chart, previously it was rendered in two separate charts. Previously it had to be
Yes, this is partially true to me. Indeed previously only two images were generated, but the data density is too big and I don't think it's clearer. I think many people only care about the rightest chart to get the overall comparison result. The new version (delivered in this PR) can also export images, but one image for one line chart. We can zip the HTML file and share it to github, and export a couple of images for better discussion in github. I agree this might be a little inconvinence, because users have to download the zip file and open the HTML file locally.
Yes, this is the main reason why I deliver this PR. |
1325c6a
to
3283a4c
Compare
The above example is exported from @tjungblu 's benchmark result in #14877. The blue lines are read QPS, while the red lines are write QPS. The solid lines are results tested against main branch, and the dash lines are tested against his PR. Note:
We can also improve the way to plot the data in separate PR. |
3283a4c
to
5c27fbe
Compare
I just removed the example (to be added in a separate PR) to make this PR smaller and therefore less scary. |
5c27fbe
to
4f08df6
Compare
4f08df6
to
0bde8e7
Compare
Reasons: 1. The original plot_data.py is out of maintainance. 2. Remove the dependency on python and related python modules. 3. It isn't a best practice to compare benchmark results of two difference branches (e.g. main vs dev) in two charts. Instead, it's better to display the benchmarks to be compared in one chart. Signed-off-by: Benjamin Wang <wachao@vmware.com>
0bde8e7
to
18bb24e
Compare
Is there any interest on this new tool? cc @mitake @ptabor @serathius @spzala |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ahrtr The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
@ahrtr: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Points:
python
and related python modules.Please see the example HTML page at rw_benchmark.html. One of the line charts is below,
The read QPS is displayed as blue, and write QPS is displayed as red. The data in the second CSV file is rendered as dashed line if present. Note each line in the line chart can be hidden or displayed by clicking on the related legend.
Note: although there are 2.5K+ lines of change, actually only
tools/rw-benchmark/plot_data.go
and thetools/rw-benchmark/README.md
need to be carefully reviewed.Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.