-
Notifications
You must be signed in to change notification settings - Fork 4
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
Restore the Pausetimes Apps in the UI #130
Conversation
@@ -1,27 +1,21 @@ | |||
import streamlit as st |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The runtime is no longer instrumented. Best to call it pausetimes_parallel.py
. Similarly for the sequential one.
Left a minor comment. Otherwise, LGTM. FWIW, I'm not able to review this UI/UX PRs easily without being able to test the app. We'll have to merge the PR and then fix any issues observed. Do we have a staging area where we can deploy the app and then test it before we deploy it in production? |
@kayceesrk Thanks for the review!
We don't have a staging area, but I just deployed the branch on the Streamlit (free) hosting. You can check it out here. The deployment doesn't seem to use the exact versions of dependencies specified in our
Thanks, I'll address this soon, along with any other comments you may have after using the UI. |
We were using an older version of @kayceesrk You can look at the deployed branch here for a more complete review. Thanks! |
The features look really awesome.
Please do (1) in this PR as it is quick. For (2), given that the results are computed from different runs unlike suggested in (3), it might be a little tricky. As a stop-gap measure, may I suggest reordering the pages in the following way?
It may be useful to track (3) in a separate issue. |
a77824c
to
4331547
Compare
NOTE: The Perfstat output app uses a different `get_dataframe` implementation than the one used by the other apps which have their data in the JSON format.
We automatically copy successful outputs added by Sandmark builds from the testing branch to the main branch. Until Sandmark is updated to use the latest runtime_events_tools, the output would need to be fixed. This commit ensures that new bench files are fixed before being committed to the main branch.
Make the UI similar to other apps
We were using an outdated version of Streamlit 1.14.0 and this commit updates to the latest version 1.22.0. This makes it easier to deploy any PR branches of the app to Streamlit Cloud. With the older version, we run into a bug in the Streamlit deployment where the deploy process tries to be smart about "downgrading" Altair to a compatible version. I'm not sure why a different version of Altair is installed in the first place, and why it is later downgraded. This results in different versions of some packages being installed than those specified in our requirements.txt.
b75454e
to
6f82f00
Compare
6f82f00
to
c5a4c75
Compare
@kayceesrk Thanks for the review and the suggestions to make the results less confusing. I've changed the UI and the names of the apps as suggested by you. The staging deployment from this branch can be viewed here. |
I also think we can extract both running times and pausetimes from the same run. I've observed the overheads added by |
We use a unique slug for apps that is used in the URL query parameters to allow changing the app titles without breaking old/existing URLs. This change also ensures that any existing production app URLs in the wild are still functional.
I've created ocaml-bench/sandmark#454. Feel free to edit or add more information. |
LGTM. Thanks. |
This PR re-enables the previously disabled Pausetimes apps. The apps have been updated to display the data in the new benchmark directories
pausetimes_seq
andpausetimes_par
produced usingolly latency
.The PR also:
pausetimes
bench files to be formatted similar to the new formatting implemented in Improve JSON output produced byolly gc-stats
tarides/runtime_events_tools#13runtime_events_tools
in Sandmark, which depends onppxlib
being compatible with OCaml 5.1 and 5.2.pausetimes_*
to use the new formatting, along with fixing an issue with the bench files having pretty printed JSON which breaks the assumption that every line in the bench file is a valid JSON string. This was fixed in Print the JSON for each pausetimes benchmark in a single line sandmark#452