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

Pushing config doc to Dev UI is very costly #41922

Open
gsmet opened this issue Jul 16, 2024 · 4 comments
Open

Pushing config doc to Dev UI is very costly #41922

gsmet opened this issue Jul 16, 2024 · 4 comments

Comments

@gsmet
Copy link
Member

gsmet commented Jul 16, 2024

In ConfigurationProcessor#registerConfigs(), we push the config properties/doc to the Dev UI through a call to a recorder method.

While this is a nice idea, it actually has quite a high cost: in a simple example with only a few extensions, I end up with a recorder method that is quite large (3 MB+).

I wonder if we should try to improve that once we have saved the config doc into a structured file inside the extension jars.

That being said, the deployment jars are not available once the Dev UI has started so not sure loading things lazily will be doable, and we might end up with a very similar issue (except maybe avoiding the overhead of the recording data structures, which might actually be a significant win).

This is related to: #38814 .

Copy link

quarkus-bot bot commented Jul 16, 2024

/cc @cescoffier (devui), @phillip-kruger (devui), @radcortez (config)

@maxandersen
Copy link
Member

this is just for devmode, right ?

seems like we could just lazily load from the deployment jars as we could assume local maven GAV's are available....might even also work in remote devmode.

@radcortez
Copy link
Member

Also relates to #35439

@gsmet
Copy link
Member Author

gsmet commented Jul 16, 2024

@radcortez FWIW, I started working on that one again. Instead of rewriting everything, I will try to work more in baby steps as it's definitely in the way of several improvements to the build.

Once things are properly isolated, we could think of moving some things to SmallRye Config and iterate from there.

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

3 participants