Bug 1559757 - Delay in rendering service dialog
Summary: Delay in rendering service dialog
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Automate
Version: 5.8.0
Hardware: x86_64
OS: Linux
high
high
Target Milestone: GA
: 5.10.0
Assignee: eclarizi
QA Contact: Shveta
URL:
Whiteboard:
: 1490035 (view as bug list)
Depends On:
Blocks: 1572700 1572716 1608858
TreeView+ depends on / blocked
 
Reported: 2018-03-23 08:50 UTC by Prasad Mukhedkar
Modified: 2021-12-10 15:50 UTC (History)
16 users (show)

Fixed In Version: 5.10.0.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1572716 1608858 (view as bug list)
Environment:
Last Closed: 2019-02-11 14:05:33 UTC
Category: ---
Cloudforms Team: CFME Core
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Comment 3 Greg McCullough 2018-03-23 19:36:01 UTC
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.

Comment 11 Greg McCullough 2018-04-12 14:43:42 UTC
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.

Comment 14 CFME Bot 2018-04-26 20:29:20 UTC
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(-)

Comment 15 CFME Bot 2018-04-26 23:21:47 UTC
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(-)

Comment 16 CFME Bot 2018-04-26 23:24:09 UTC
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(-)

Comment 18 Tina Fitzgerald 2018-05-21 17:03:34 UTC
*** Bug 1490035 has been marked as a duplicate of this bug. ***

Comment 24 Shveta 2018-08-15 18:17:17 UTC
Not getting delay in rendering dialogs in 
5.10.0.8.20180801220537_afb552b


Note You need to log in before you can comment on or make changes to this bug.