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

[release] Fix perf metrics compare #51655

Merged

Conversation

dentiny
Copy link
Contributor

@dentiny dentiny commented Mar 24, 2025

When doing release benchmark comparison, I found the script is performing comparison on full filepaths rather than release result filenames.

In details, this is the command I executed

python3 /home/ubuntu/ray/release/release_logs/compare_perf_metrics /home/ubuntu/ray/release/release_logs/2.22.0 /home/ubuntu/ray/release/release_logs/some_version

And here's the benchmark files within

[~/ray] (master) [gke_hjiang-proj-cgroup-experiment_us-west1_hjiang-cgroup-test]
ubuntu@hjiang-devbox-pg$ ls -lR /home/ubuntu/ray/release/release_logs/2.22.0
/home/ubuntu/ray/release/release_logs/2.22.0:
total 24
drwxrwxr-x 2 ubuntu ubuntu 4096 Dec 10 03:34 benchmarks
-rw-rw-r-- 1 ubuntu ubuntu 8704 Dec 10 03:34 microbenchmark.json
drwxrwxr-x 2 ubuntu ubuntu 4096 Dec 10 03:34 scalability
drwxrwxr-x 2 ubuntu ubuntu 4096 Dec 10 03:34 stress_tests

/home/ubuntu/ray/release/release_logs/2.22.0/benchmarks:
total 16
-rw-rw-r-- 1 ubuntu ubuntu 1845 Dec 10 03:34 many_actors.json
-rw-rw-r-- 1 ubuntu ubuntu 1976 Dec 10 03:34 many_nodes.json
-rw-rw-r-- 1 ubuntu ubuntu 1828 Dec 10 03:34 many_pgs.json
-rw-rw-r-- 1 ubuntu ubuntu 1983 Dec 10 03:34 many_tasks.json

/home/ubuntu/ray/release/release_logs/2.22.0/scalability:
total 8
-rw-rw-r-- 1 ubuntu ubuntu  341 Dec 10 03:34 object_store.json
-rw-rw-r-- 1 ubuntu ubuntu 1222 Dec 10 03:34 single_node.json

/home/ubuntu/ray/release/release_logs/2.22.0/stress_tests:
total 12
-rw-rw-r-- 1 ubuntu ubuntu  394 Dec 10 03:34 stress_test_dead_actors.json
-rw-rw-r-- 1 ubuntu ubuntu 1642 Dec 10 03:34 stress_test_many_tasks.json
-rw-rw-r-- 1 ubuntu ubuntu  493 Dec 10 03:34 stress_test_placement_group.json
(myenv) (myenv) 



[~/ray] (master) [gke_hjiang-proj-cgroup-experiment_us-west1_hjiang-cgroup-test]
ubuntu@hjiang-devbox-pg$ ls -lR /home/ubuntu/ray/release/release_logs/some_version
/home/ubuntu/ray/release/release_logs/some_version:
total 24
drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 24 22:17 benchmarks
-rw-rw-r-- 1 ubuntu ubuntu 8711 Mar 24 22:17 microbenchmark.json
drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 24 22:17 scalability
drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 24 22:17 stress_tests

/home/ubuntu/ray/release/release_logs/some_version/benchmarks:
total 16
-rw-rw-r-- 1 ubuntu ubuntu 2029 Mar 24 22:17 many_actors.json
-rw-rw-r-- 1 ubuntu ubuntu 2112 Mar 24 22:17 many_nodes.json
-rw-rw-r-- 1 ubuntu ubuntu 2015 Mar 24 22:17 many_pgs.json
-rw-rw-r-- 1 ubuntu ubuntu 2123 Mar 24 22:17 many_tasks.json

/home/ubuntu/ray/release/release_logs/some_version/scalability:
total 8
-rw-rw-r-- 1 ubuntu ubuntu  343 Mar 24 22:17 object_store.json
-rw-rw-r-- 1 ubuntu ubuntu 1230 Mar 24 22:17 single_node.json

/home/ubuntu/ray/release/release_logs/some_version/stress_tests:
total 12
-rw-rw-r-- 1 ubuntu ubuntu  393 Mar 24 22:17 stress_test_dead_actors.json
-rw-rw-r-- 1 ubuntu ubuntu 1638 Mar 24 22:17 stress_test_many_tasks.json
-rw-rw-r-- 1 ubuntu ubuntu  493 Mar 24 22:17 stress_test_placement_group.json

As you could tell, the result filenames (items) are exactly the same, but the script fails to recognize it.

ubuntu@hjiang-devbox-pg$ python3 /home/ubuntu/ray/release/release_logs/compare_perf_metrics 
old paths = [PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/scalability/single_node.json'), PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/scalability/object_store.json'), PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/stress_tests/stress_test_many_tasks.json'), PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/stress_tests/stress_test_placement_group.json'), PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/stress_tests/stress_test_dead_actors.json'), PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/benchmarks/many_actors.json'), PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/benchmarks/many_nodes.json'), PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/benchmarks/many_pgs.json'), PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/benchmarks/many_tasks.json'), PosixPath('home/ubuntu/ray/release/release_logs/2.22.0/microbenchmark.json')]
new paths = [PosixPath('home/ubuntu/ray/release/release_logs/some_version/scalability/single_node.json'), PosixPath('home/ubuntu/ray/release/release_logs/some_version/scalability/object_store.json'), PosixPath('home/ubuntu/ray/release/release_logs/some_version/stress_tests/stress_test_many_tasks.json'), PosixPath('home/ubuntu/ray/release/release_logs/some_version/stress_tests/stress_test_placement_group.json'), PosixPath('home/ubuntu/ray/release/release_logs/some_version/stress_tests/stress_test_dead_actors.json'), PosixPath('home/ubuntu/ray/release/release_logs/some_version/benchmarks/many_actors.json'), PosixPath('home/ubuntu/ray/release/release_logs/some_version/benchmarks/many_nodes.json'), PosixPath('home/ubuntu/ray/release/release_logs/some_version/benchmarks/many_pgs.json'), PosixPath('home/ubuntu/ray/release/release_logs/some_version/benchmarks/many_tasks.json'), PosixPath('home/ubuntu/ray/release/release_logs/some_version/microbenchmark.json')]
/home/ubuntu/ray/release/release_logs/2.22.0 /home/ubuntu/ray/release/release_logs/some_version 
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/benchmarks/many_actors.json
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/scalability/single_node.json
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/benchmarks/many_pgs.json
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/microbenchmark.json
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/stress_tests/stress_test_placement_group.json
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/stress_tests/stress_test_many_tasks.json
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/benchmarks/many_tasks.json
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/scalability/object_store.json
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/benchmarks/many_nodes.json
/home/ubuntu/ray/release/release_logs/some_version does not have home/ubuntu/ray/release/release_logs/2.22.0/stress_tests/stress_test_dead_actors.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/stress_tests/stress_test_dead_actors.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/stress_tests/stress_test_many_tasks.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/benchmarks/many_tasks.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/stress_tests/stress_test_placement_group.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/microbenchmark.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/scalability/single_node.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/scalability/object_store.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/benchmarks/many_nodes.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/benchmarks/many_actors.json
/home/ubuntu/ray/release/release_logs/2.22.0 does not have home/ubuntu/ray/release/release_logs/some_version/benchmarks/many_pgs.json
to compare = set()

In this PR, I tried to map from filenames / item names to its full filepaths.

Signed-off-by: dentiny <dentinyhao@gmail.com>
@dentiny dentiny added the go add ONLY when ready to merge, run all tests label Mar 24, 2025
@dentiny dentiny requested review from jjyao, edoakes and aslonnie March 24, 2025 22:46
Copy link
Collaborator

@aslonnie aslonnie left a comment

Choose a reason for hiding this comment

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

yeah, we changed the path. and reef team is not really using this script anymore.

@jjyao
Copy link
Collaborator

jjyao commented Mar 24, 2025

yeah, we changed the path. and reef team is not really using this script anymore.

@aslonnie what script you are using to generate the diff now?

@aslonnie
Copy link
Collaborator

yeah, we changed the path. and reef team is not really using this script anymore.

@aslonnie what script you are using to generate the diff now?

discussed offline. this script is mainly for manual ad-hoc use today.

@aslonnie aslonnie merged commit cb5e33f into ray-project:master Mar 25, 2025
4 checks passed
angelinalg pushed a commit to angelinalg/ray that referenced this pull request Mar 26, 2025
When doing release benchmark comparison, I found the script is
performing comparison on **full filepaths** rather than **release result
filenames**.

Signed-off-by: dentiny <dentinyhao@gmail.com>
dhakshin32 pushed a commit to dhakshin32/ray that referenced this pull request Mar 27, 2025
When doing release benchmark comparison, I found the script is
performing comparison on **full filepaths** rather than **release result
filenames**.

Signed-off-by: dentiny <dentinyhao@gmail.com>
Signed-off-by: Dhakshin Suriakannu <d_suriakannu@apple.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
go add ONLY when ready to merge, run all tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants