portagenetwork / roadmap

Developed by the the Alliance in collaboration with University of Alberta, DMP Assistant a data management planning tool, forking the DMP Roadmap codebase
MIT License
6 stars 1 forks source link

Bullet Warnings #418

Open aaronskiba opened 1 year ago

aaronskiba commented 1 year ago

This bullet.log file was generated after running bundle exec rspec with the following changes:

Screenshot from 2023-12-21 13-20-14 Screenshot from 2023-12-21 13-20-36 Screenshot from 2023-12-21 13-20-57

Bullet Log Warnings Explained

aaronskiba commented 1 year ago

DMPRoadmap addresses some bullet warnings in https://github.com/DMPRoadmap/roadmap/commit/f2c71dbe78fda4261d028ff650a548b5593301f3. Also, these changes are part of the v4.0.0 release.

aaronskiba commented 10 months ago

Output after executing bundle exec rspec with the above changes:

Top 10 slowest examples (44.92 seconds, 13.6% of total time):
  Org::CreateCreatedPlanService.call when no org is passed monthly records are either created or updated
    5.42 seconds ./spec/services/org/create_created_plan_service_spec.rb:179
  Org::CreateCreatedPlanService.call when org is passed monthly records are either created or updated
    5.32 seconds ./spec/services/org/create_created_plan_service_spec.rb:118
  Annotations::Editing Admin changes an Annotation of a draft Template
    4.78 seconds ./spec/features/annotations/annotations_editing_spec.rb:33
  Templates::Editing Admin edits a Template's existing question
    4.7 seconds ./spec/features/templates/templates_editings_spec.rb:27
  Annotations::Editing Admin sets a Template's question annotation to blank string
    4.56 seconds ./spec/features/annotations/annotations_editing_spec.rb:63
  PlansExports User downloads their plan as CSV
    4.27 seconds ./spec/features/plans/exports_spec.rb:103
  Templates::Copying Admin copies an existing Template
    4.07 seconds ./spec/features/templates/templates_copying_spec.rb:26
  FeedbackRequests User requests feedback for Plan
    3.96 seconds ./spec/features/feedback_requests_spec.rb:27
  PlansExports User downloads org plan belonging to User in same org
    3.93 seconds ./spec/features/plans/exports_spec.rb:52
  PlansExports User downloads public plan belonging to other User
    3.89 seconds ./spec/features/plans/exports_spec.rb:37

Top 10 slowest example groups:
  Templates::Editing
    4.7 seconds average (4.7 seconds / 1 example) ./spec/features/templates/templates_editings_spec.rb:5
  Annotations::Editing
    4.67 seconds average (9.34 seconds / 2 examples) ./spec/features/annotations/annotations_editing_spec.rb:5
  Templates::Copying
    4.07 seconds average (4.07 seconds / 1 example) ./spec/features/templates/templates_copying_spec.rb:5
  FeedbackRequests
    3.96 seconds average (3.96 seconds / 1 example) ./spec/features/feedback_requests_spec.rb:5
  ModalSearchDialog
    3.88 seconds average (3.88 seconds / 1 example) ./spec/features/modal_search_spec.rb:5
  Questions::Dropdown questions
    3.84 seconds average (3.84 seconds / 1 example) ./spec/features/questions/dropdown_questions_spec.rb:5
  Org::CreateCreatedPlanService
    3.8 seconds average (22.82 seconds / 6 examples) ./spec/services/org/create_created_plan_service_spec.rb:5
  Templates::UpgradeCustomisations
    3.74 seconds average (3.74 seconds / 1 example) ./spec/features/templates/templates_upgrade_customisations_spec.rb:5
  Questions::Tadio button questions
    3.69 seconds average (3.69 seconds / 1 example) ./spec/features/questions/radiobuttons_questions_spec.rb:5
  SuperAdmins Merge Orgs
    3.65 seconds average (3.65 seconds / 1 example) ./spec/features/super_admins/merge_org_spec.rb:5

Finished in 5 minutes 31 seconds (files took 3.06 seconds to load)
2091 examples, 53 failures, 8 pending
aaronskiba commented 5 months ago

http://127.0.0.1:3000/super_admin/api_clients/new

user: aaron
GET /super_admin/api_clients/new
USE eager loading detected
  Org => [:identifiers]
  Add to your query: .includes([:identifiers])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:29:in `to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:17:in `block in initialize'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `map'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `initialize'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `new'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `_app_views_shared_org_selectors__local_only_html_erb__3067165220163287117_64460'
  /home/aaron/Documents/GitHub/roadmap/app/views/super_admin/api_clients/_form.html.erb:39:in `block in _app_views_super_admin_api_clients__form_html_erb___596380763446623364_64440'
  /home/aaron/Documents/GitHub/roadmap/app/views/super_admin/api_clients/_form.html.erb:7:in `_app_views_super_admin_api_clients__form_html_erb___596380763446623364_64440'
  /home/aaron/Documents/GitHub/roadmap/app/views/super_admin/api_clients/new.html.erb:8:in `_app_views_super_admin_api_clients_new_html_erb__2491248060046321080_64420'

user: aaron
GET /super_admin/api_clients/new
USE eager loading detected
  Identifier => [:identifier_scheme]
  Add to your query: .includes([:identifier_scheme])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:30:in `block in to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:29:in `to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:17:in `block in initialize'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `map'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `initialize'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `new'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `_app_views_shared_org_selectors__local_only_html_erb__3067165220163287117_64460'
  /home/aaron/Documents/GitHub/roadmap/app/views/super_admin/api_clients/_form.html.erb:39:in `block in _app_views_super_admin_api_clients__form_html_erb___596380763446623364_64440'
  /home/aaron/Documents/GitHub/roadmap/app/views/super_admin/api_clients/_form.html.erb:7:in `_app_views_super_admin_api_clients__form_html_erb___596380763446623364_64440'
  /home/aaron/Documents/GitHub/roadmap/app/views/super_admin/api_clients/new.html.erb:8:in `_app_views_super_admin_api_clients_new_html_erb__2491248060046321080_64420'
aaronskiba commented 5 months ago

http://127.0.0.1:3000/org_admin/templates

user: aaron
GET /org_admin/templates
USE eager loading detected
  Identifier => [:identifier_scheme]
  Add to your query: .includes([:identifier_scheme])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:30:in `block in to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:29:in `to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:17:in `block in initialize'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `map'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `initialize'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `new'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `_app_views_shared_org_selectors__local_only_html_erb__3067165220163287117_91640'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/templates/index.html.erb:18:in `block in _app_views_org_admin_templates_index_html_erb__1673982107463783210_91600'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/templates/index.html.erb:14:in `_app_views_org_admin_templates_index_html_erb__1673982107463783210_91600'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/org_admin/templates_controller.rb:31:in `index'
aaronskiba commented 5 months ago

http://127.0.0.1:3000/org_admin/templates/organisational

user: aaron
GET /org_admin/templates/organisational
USE eager loading detected
  Identifier => [:identifier_scheme]
  Add to your query: .includes([:identifier_scheme])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:30:in `block in to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:29:in `to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:17:in `block in initialize'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `map'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `initialize'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `new'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `_app_views_shared_org_selectors__local_only_html_erb__3067165220163287117_353480'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/templates/index.html.erb:18:in `block in _app_views_org_admin_templates_index_html_erb__1673982107463783210_353460'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/templates/index.html.erb:14:in `_app_views_org_admin_templates_index_html_erb__1673982107463783210_353460'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/org_admin/templates_controller.rb:60:in `organisational'

user: aaron
GET /org_admin/templates/organisational
USE eager loading detected
  Template => [:org]
  Add to your query: .includes([:org])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/helpers/template_helper.rb:42:in `direct_link'
  /home/aaron/Documents/GitHub/roadmap/app/views/paginable/templates/_organisational.html.erb:89:in `block in _app_views_paginable_templates__organisational_html_erb__85872033831031105_372540'
  /home/aaron/Documents/GitHub/roadmap/app/views/paginable/templates/_organisational.html.erb:22:in `_app_views_paginable_templates__organisational_html_erb__85872033831031105_372540'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/concerns/paginable.rb:85:in `paginable_renderise'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/templates/index.html.erb:104:in `_app_views_org_admin_templates_index_html_erb__1673982107463783210_353460'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/org_admin/templates_controller.rb:60:in `organisational'

app/services/org_selection/org_to_hash_service.rb

        org.identifiers.each do |id|
          next unless id.identifier_scheme.present?

          out[:"#{id.identifier_scheme.name.downcase}"] = id.value
        end

app/helpers/template_helper.rb

def direct_link(template, hidden = false, text = nil, id = nil)
    params = {
      org: { id: "{ \"id\": #{current_user&.org&.id}, \"name\": \"#{current_user&.org&.name}\" }" },
      funder: { id: "{ \"id\": #{template.org&.id}, \"name\": \"#{template.org&.name}\" }" },
      template_id: template.id
    }
aaronskiba commented 5 months ago

http://127.0.0.1:3000/org_admin/templates/:template_id/phases/:phase_id/edit

user: aaron
GET /org_admin/templates/3925/phases/3994/edit
USE eager loading detected
  Section => [:phase]
  Add to your query: .includes([:phase])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/helpers/sections_helper.rb:26:in `draggable_for_section?'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_section_group.html.erb:13:in `block in _app_views_org_admin_sections__section_group_html_erb___1031457905241732932_85740'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_section_group.html.erb:6:in `each'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_section_group.html.erb:6:in `_app_views_org_admin_sections__section_group_html_erb___1031457905241732932_85740'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_index.html.erb:21:in `block in _app_views_org_admin_sections__index_html_erb__111375892249923048_85720'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_index.html.erb:20:in `_app_views_org_admin_sections__index_html_erb__111375892249923048_85720'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/phases/container.html.erb:78:in `_app_views_org_admin_phases_container_html_erb___2996459836600454247_85500'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/org_admin/phases_controller.rb:54:in `edit'

user: aaron
GET /org_admin/templates/3925/phases/3994/edit
USE eager loading detected
  Section => [:template]
  Add to your query: .includes([:template])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/helpers/sections_helper.rb:26:in `draggable_for_section?'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_section_group.html.erb:13:in `block in _app_views_org_admin_sections__section_group_html_erb___1031457905241732932_85740'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_section_group.html.erb:6:in `each'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_section_group.html.erb:6:in `_app_views_org_admin_sections__section_group_html_erb___1031457905241732932_85740'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_index.html.erb:21:in `block in _app_views_org_admin_sections__index_html_erb__111375892249923048_85720'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/sections/_index.html.erb:20:in `_app_views_org_admin_sections__index_html_erb__111375892249923048_85720'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/phases/container.html.erb:78:in `_app_views_org_admin_phases_container_html_erb___2996459836600454247_85500'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/org_admin/phases_controller.rb:54:in `edit'
  def draggable_for_section?(section)
    section.template.latest? && section.modifiable?
  end
aaronskiba commented 5 months ago

/org_admin/templates/customisable

user: aaron
GET /org_admin/templates/customisable
USE eager loading detected
  Identifier => [:identifier_scheme]
  Add to your query: .includes([:identifier_scheme])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:30:in `block in to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:29:in `to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:17:in `block in initialize'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `map'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `initialize'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `new'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `_app_views_shared_org_selectors__local_only_html_erb___2730892131222942548_366740'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/templates/index.html.erb:18:in `block in _app_views_org_admin_templates_index_html_erb___3310421390081048812_366700'
  /home/aaron/Documents/GitHub/roadmap/app/views/org_admin/templates/index.html.erb:14:in `_app_views_org_admin_templates_index_html_erb___3310421390081048812_366700'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/org_admin/templates_controller.rb:97:in `customisable'

user: aaron
GET /org_admin/templates/customisable
AVOID eager loading detected
  Template => [:org]
  Remove from your query: .includes([:org])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/controllers/org_admin/templates_controller.rb:76:in `collect'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/org_admin/templates_controller.rb:76:in `customisable'

app/controllers/org_admin/templates_controller.rb

      customizations = Template.latest_customized_version_per_org(current_user.org.id)
                               .where(org_id: current_user.org.id)
      funder_templates = Template.latest_customizable.includes(:org)
      # We use this to validate the counts below in the event that a template was
      # customized but the base template org is no longer a funder
      funder_template_families = funder_templates.collect(&:family_id)
      # filter only customizations of valid(published) funder templates
      customizations = customizations.select do |t|
        funder_template_families.include?(t.customization_of)
      end
      published = customizations.select { |t| t.published? || t.draft? }.length
aaronskiba commented 5 months ago

/users/edit

user: aaron
GET /users/edit
USE eager loading detected
  Org => [:identifiers]
  Add to your query: .includes([:identifiers])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:29:in `to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:17:in `block in initialize'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `map'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `initialize'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `new'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `_app_views_shared_org_selectors__local_only_html_erb___2730892131222942548_366740'
  /home/aaron/Documents/GitHub/roadmap/app/views/devise/registrations/_personal_details.html.erb:27:in `block in _app_views_devise_registrations__personal_details_html_erb__2886195766836592762_648480'
  /home/aaron/Documents/GitHub/roadmap/app/views/devise/registrations/_personal_details.html.erb:1:in `_app_views_devise_registrations__personal_details_html_erb__2886195766836592762_648480'
  /home/aaron/Documents/GitHub/roadmap/app/views/devise/registrations/edit.html.erb:35:in `_app_views_devise_registrations_edit_html_erb__3386250183642059621_648460'

user: aaron
GET /users/edit
USE eager loading detected
  Identifier => [:identifier_scheme]
  Add to your query: .includes([:identifier_scheme])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:30:in `block in to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/services/org_selection/org_to_hash_service.rb:29:in `to_hash'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:17:in `block in initialize'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `map'
  /home/aaron/Documents/GitHub/roadmap/app/presenters/org_selection_presenter.rb:14:in `initialize'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `new'
  /home/aaron/Documents/GitHub/roadmap/app/views/shared/org_selectors/_local_only.html.erb:11:in `_app_views_shared_org_selectors__local_only_html_erb___2730892131222942548_366740'
  /home/aaron/Documents/GitHub/roadmap/app/views/devise/registrations/_personal_details.html.erb:27:in `block in _app_views_devise_registrations__personal_details_html_erb__2886195766836592762_648480'
  /home/aaron/Documents/GitHub/roadmap/app/views/devise/registrations/_personal_details.html.erb:1:in `_app_views_devise_registrations__personal_details_html_erb__2886195766836592762_648480'
  /home/aaron/Documents/GitHub/roadmap/app/views/devise/registrations/edit.html.erb:35:in `_app_views_devise_registrations_edit_html_erb__3386250183642059621_648460'
aaronskiba commented 5 months ago

/org/admin/guidance/:id/admin_index

user: aaron
GET /org/admin/guidance/8/admin_index
AVOID eager loading detected
  GuidanceGroup => [:org]
  Remove from your query: .includes([:org])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/views/paginable/guidance_groups/_index.html.erb:14:in `_app_views_paginable_guidance_groups__index_html_erb___1337411789468698271_801900'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/concerns/paginable.rb:85:in `paginable_renderise'
  /home/aaron/Documents/GitHub/roadmap/app/views/guidances/admin_index.html.erb:18:in `_app_views_guidances_admin_index_html_erb__2773788491375436292_801860'
aaronskiba commented 5 months ago

/public_plans

user: aaron
GET /public_plans
USE eager loading detected
  Plan => [:roles]
  Add to your query: .includes([:roles])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/models/plan.rb:447:in `owner'
  /home/aaron/Documents/GitHub/roadmap/app/views/paginable/plans/_publicly_visible.html.erb:17:in `block in _app_views_paginable_plans__publicly_visible_html_erb___466149296102096710_43080'
  /home/aaron/Documents/GitHub/roadmap/app/views/paginable/plans/_publicly_visible.html.erb:13:in `_app_views_paginable_plans__publicly_visible_html_erb___466149296102096710_43080'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/concerns/paginable.rb:85:in `paginable_renderise'
  /home/aaron/Documents/GitHub/roadmap/app/views/public_pages/plan_index.html.erb:21:in `_app_views_public_pages_plan_index_html_erb__3403029881377878771_42940'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/public_pages_controller.rb:89:in `plan_index'

user: aaron
GET /public_plans
USE eager loading detected
  Role => [:user]
  Add to your query: .includes([:user])
Call stack
  /home/aaron/Documents/GitHub/roadmap/app/models/plan.rb:449:in `owner'
  /home/aaron/Documents/GitHub/roadmap/app/views/paginable/plans/_publicly_visible.html.erb:17:in `block in _app_views_paginable_plans__publicly_visible_html_erb___466149296102096710_43080'
  /home/aaron/Documents/GitHub/roadmap/app/views/paginable/plans/_publicly_visible.html.erb:13:in `_app_views_paginable_plans__publicly_visible_html_erb___466149296102096710_43080'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/concerns/paginable.rb:85:in `paginable_renderise'
  /home/aaron/Documents/GitHub/roadmap/app/views/public_pages/plan_index.html.erb:21:in `_app_views_public_pages_plan_index_html_erb__3403029881377878771_42940'
  /home/aaron/Documents/GitHub/roadmap/app/controllers/public_pages_controller.rb:89:in `plan_index'