Prasad - Can you clarify what methods are running and how long they run for and note which are making API calls. The dynamic fields are processed serially to support fields being dependent on each other. Having 16-18 dynamic elements in a single dialog could take some time to process, but they really need to identify how much time each method is taking to start addressing this. One example we have run into in the past is that several fields were make the same expensive (time-wise) api call to an external system. Since it was the same call we advised them to cache the results locally on the first call and reuse the cache on other fields. This dramatically improved their dialog times. Maybe a similar approach could be used here.
Assigning over to Erik who has been working on changes to improve loading time. Note that these changes are not trivia and require through testing. (The changes are implemented upstream first on 5.9). Complicating the matter more is that the dialog runner between 5.8 and 5.9 has significant changes which means additional scrutiny and testing. An example on how to cache the dialog values has been supplied in an email.
https://github.com/ManageIQ/manageiq/pull/17329
https://github.com/ManageIQ/manageiq-api/pull/365
New commit detected on ManageIQ/manageiq-api/master: https://github.com/ManageIQ/manageiq-api/commit/9b5ba7515a9347e20f34b62c59f1cec48def7cd5 commit 9b5ba7515a9347e20f34b62c59f1cec48def7cd5 Author: Erik Clarizio <eclarizio> AuthorDate: Mon Apr 23 14:21:06 2018 -0400 Commit: Erik Clarizio <eclarizio> CommitDate: Mon Apr 23 14:21:06 2018 -0400 Add refresh parameter to ResourceActionWorkflow initialization https://bugzilla.redhat.com/show_bug.cgi?id=1559757 app/controllers/api/service_dialogs_controller.rb | 6 +- spec/requests/service_dialogs_spec.rb | 18 + 2 files changed, 21 insertions(+), 3 deletions(-)
New commits detected on ManageIQ/manageiq/master: https://github.com/ManageIQ/manageiq/commit/956d9b591244606d131b0166c5f08e6e8fb152da commit 956d9b591244606d131b0166c5f08e6e8fb152da Author: Erik Clarizio <eclarizi> AuthorDate: Tue Apr 10 12:08:52 2018 -0400 Commit: Erik Clarizio <eclarizi> CommitDate: Tue Apr 10 12:08:52 2018 -0400 Modify dynamic loading to be consistent across all field types https://bugzilla.redhat.com/show_bug.cgi?id=1559757 app/models/dialog.rb | 8 +- app/models/dialog_field.rb | 7 +- app/models/dialog_field_check_box.rb | 5 - app/models/dialog_field_date_control.rb | 5 +- app/models/dialog_field_date_time_control.rb | 5 +- app/models/dialog_field_sorted_item.rb | 12 +- app/models/dialog_field_tag_control.rb | 4 + app/models/dialog_field_text_box.rb | 1 - spec/models/dialog_field_sorted_item_spec.rb | 129 + spec/models/dialog_field_spec.rb | 41 + spec/models/dialog_field_text_box_spec.rb | 96 +- 11 files changed, 214 insertions(+), 99 deletions(-) https://github.com/ManageIQ/manageiq/commit/c2121dffbee1937c41e0a3e16132bd3232450e1c commit c2121dffbee1937c41e0a3e16132bd3232450e1c Author: Erik Clarizio <eclarizi> AuthorDate: Mon Apr 23 03:12:16 2018 -0400 Commit: Erik Clarizio <eclarizi> CommitDate: Mon Apr 23 03:12:16 2018 -0400 Modify dynamic loading based on whether it is initial load or a refresh https://bugzilla.redhat.com/show_bug.cgi?id=1559757 app/models/dialog.rb | 12 +- app/models/dialog_field.rb | 5 + app/models/dialog_field_check_box.rb | 2 +- app/models/dialog_field_date_control.rb | 2 +- app/models/dialog_field_serializer.rb | 4 +- app/models/dialog_field_sorted_item.rb | 4 + app/models/dialog_field_text_box.rb | 2 +- app/models/resource_action_workflow.rb | 4 +- 8 files changed, 28 insertions(+), 7 deletions(-) https://github.com/ManageIQ/manageiq/commit/dac46a2afd04c41c929a62163a5270b370c38814 commit dac46a2afd04c41c929a62163a5270b370c38814 Author: Erik Clarizio <eclarizi> AuthorDate: Wed Apr 25 14:56:04 2018 -0400 Commit: Erik Clarizio <eclarizi> CommitDate: Wed Apr 25 14:56:04 2018 -0400 Address rubocop concerns and fix specs https://bugzilla.redhat.com/show_bug.cgi?id=1559757 app/models/dialog.rb | 10 +- app/models/dialog_field.rb | 4 + app/models/dialog_field_check_box.rb | 4 - app/models/dialog_field_date_control.rb | 6 +- app/models/dialog_field_date_time_control.rb | 4 +- app/models/dialog_field_serializer.rb | 1 - app/models/dialog_field_sorted_item.rb | 5 + app/models/dialog_field_text_box.rb | 4 - spec/models/dialog_field_check_box_spec.rb | 37 - spec/models/dialog_field_date_control_spec.rb | 18 +- spec/models/dialog_field_date_time_control_spec.rb | 26 +- spec/models/dialog_field_serializer_spec.rb | 2 +- spec/models/dialog_field_sorted_item_spec.rb | 96 +- spec/models/dialog_field_spec.rb | 42 +- spec/models/resource_action_workflow_spec.rb | 31 +- 15 files changed, 110 insertions(+), 180 deletions(-)
*** Bug 1490035 has been marked as a duplicate of this bug. ***
Not getting delay in rendering dialogs in 5.10.0.8.20180801220537_afb552b