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

Performance Profiling for Open OnDemand #3085

Open
Oglopf opened this issue Sep 28, 2023 · 1 comment
Open

Performance Profiling for Open OnDemand #3085

Oglopf opened this issue Sep 28, 2023 · 1 comment

Comments

@Oglopf
Copy link
Contributor

Oglopf commented Sep 28, 2023

I'd like to add a profiling tool to the project to start making progress on some performance issues.

The easiest profiler I've used with rails was the rack-mini-profiler which seems like a good candidate.

Then we could make some progress on issues like the current design of how we populate nav items discussed here:
#210

My suggestion would be to place this in the development block of the dashboard's Gemfile, that way developers will have access to the profiler to watch how their code is affecting OOD performance.

@Oglopf
Copy link
Contributor Author

Oglopf commented Sep 28, 2023

Some information from rack-mini-profiler that has already been interesting is to see that on a fresh load of the app, all the icons are retrieved from the respective apps, which is easily causing the biggest hits on the first load or on a restart.

Screenshot from 2023-09-28 14-46-56

After that, the next longest piece looks to be the _group_items.html.erb file and its logic:

Screenshot from 2023-09-28 14-46-36

What I'd like to try and figure out is if there is some way to first retrieve those icons in a more efficient way (is the code that is fetching them doing side effects I'm unaware of such as useless validations, etc).

Looking at Eric's suggestions, I'm not sure why the title and description are being mentioned, but I could be misunderstanding. The bigger issue to me seems to be the icons. Either way, both these things can come from the manifest file, yet he mentions the form.yml.erb (which also confuses me) as what is being processed. I think the idea of there being a separate hash used by may put together by a factory method may work though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants