Skip to content

Display the time Rails spends rendering a cell#6515

Merged
Leusev merged 18 commits intodecidim:developfrom
alecslupu-pfa:feature/add-cell-instrumenter
Oct 14, 2020
Merged

Display the time Rails spends rendering a cell#6515
Leusev merged 18 commits intodecidim:developfrom
alecslupu-pfa:feature/add-cell-instrumenter

Conversation

@alecslupu
Copy link
Copy Markdown
Contributor

@alecslupu alecslupu commented Sep 13, 2020

🎩 Adding instrumentation method to display the time rails spends rendering a cell. Now the logs will display following information.

I, [2020-09-13T20:23:04.004205 #1]  INFO -- : [9a54062a-2070-4300-a96a-e3ab991e9156]   Rendered cell decidim/meetings/meeting_s (3.5ms)
I, [2020-09-13T20:23:04.005733 #1]  INFO -- : [9a54062a-2070-4300-a96a-e3ab991e9156]   Rendered cell decidim/meetings/meeting_s (1.1ms)
I, [2020-09-13T20:23:04.008962 #1]  INFO -- : [9a54062a-2070-4300-a96a-e3ab991e9156]   Rendered cell decidim/meetings/content_blocks/upcoming_events (16.6ms)

📌 Related Issues

  • Related to #?
  • Fixes #?

📋 Subtasks

  • Add CHANGELOG upgrade notes, if required
  • If there's a new public field, add it to GraphQL API
  • Add documentation regarding the feature
  • Add/modify seeds
  • Add tests
  • Another subtask

📷 Screenshots (optional)

@alecslupu
Copy link
Copy Markdown
Contributor Author

@decidim/core, is there any chance you can review and approve this PR ?
The Meetings tests have been run in https://github.com/alecslupu-pfa/decidim/pull/10 and i do not see any failing specs.

@alecslupu
Copy link
Copy Markdown
Contributor Author

 Rendered cell decidim/meetings/meeting_list_item (3.3ms)
 Finished rendering decidim/meetings/meeting
 Rendered cell decidim/meetings/meeting (3.6ms)
 Finished rendering decidim/card
 Rendered cell decidim/card (4.1ms)
 Start rendering decidim/card
 Start rendering decidim/meetings/meeting
 Start rendering decidim/meetings/meeting_list_item
 Finished rendering decidim/meetings/meeting_list_item
 Rendered cell decidim/meetings/meeting_list_item (1.0ms)
 Finished rendering decidim/meetings/meeting
 Rendered cell decidim/meetings/meeting (1.2ms)
 Finished rendering decidim/card
 Rendered cell decidim/card (1.5ms)
 Finished rendering decidim/meetings/highlighted_meetings_for_component
 Rendered cell decidim/meetings/highlighted_meetings_for_component (40.9ms)
 Finished rendering decidim/meetings/highlighted_meetings
 Rendered cell decidim/meetings/highlighted_meetings (59.1ms)
 Start rendering decidim/proposals/highlighted_proposals
 Start rendering decidim/proposals/highlighted_proposals_for_component
 Start rendering decidim/collapsible_list
 Start rendering decidim/card
 Start rendering decidim/proposals/proposal
 Start rendering decidim/proposals/proposal_m
 Start rendering decidim/coauthorships
 Start rendering decidim/collapsible_authors
 Start rendering decidim/collapsible_list
 Start rendering decidim/author
 Start rendering decidim/follow_button
 Finished rendering decidim/follow_button
 Rendered cell decidim/follow_button (3.2ms)
 Finished rendering decidim/author
 Rendered cell decidim/author (8.6ms)
 Finished rendering decidim/collapsible_list
 Rendered cell decidim/collapsible_list (8.8ms)
 Finished rendering decidim/collapsible_authors
 Rendered cell decidim/collapsible_authors (10.2ms)
 Finished rendering decidim/coauthorships
 Rendered cell decidim/coauthorships (99.1ms)
 Start rendering decidim/tags
 Finished rendering decidim/tags
 Rendered cell decidim/tags (31.1ms)
 Start rendering decidim/follow_button
 Finished rendering decidim/follow_button
 Rendered cell decidim/follow_button (6.5ms)
 Finished rendering decidim/proposals/proposal_m
 Rendered cell decidim/proposals/proposal_m (367.9ms)
 Finished rendering decidim/proposals/proposal
 Rendered cell decidim/proposals/proposal (368.3ms)
 Finished rendering decidim/card
 Rendered cell decidim/card (369.0ms)
 Start rendering decidim/card
 Start rendering decidim/proposals/proposal
 Start rendering decidim/proposals/proposal_m
 Start rendering decidim/coauthorships
 Start rendering decidim/collapsible_authors
 Start rendering decidim/collapsible_list
 Start rendering decidim/author
 Start rendering decidim/follow_button
 Finished rendering decidim/follow_button
 Rendered cell decidim/follow_button (1.4ms)
 Finished rendering decidim/author
 Rendered cell decidim/author (3.9ms)
 Finished rendering decidim/collapsible_list
 Rendered cell decidim/collapsible_list (4.1ms)
 Finished rendering decidim/collapsible_authors
 Rendered cell decidim/collapsible_authors (4.4ms)
 Finished rendering decidim/coauthorships
 Rendered cell decidim/coauthorships (7.0ms)
 Start rendering decidim/tags
 Finished rendering decidim/tags
 Rendered cell decidim/tags (62.1ms)
 Start rendering decidim/follow_button
 Finished rendering decidim/follow_button
 Rendered cell decidim/follow_button (5.6ms)
 Finished rendering decidim/proposals/proposal_m
 Rendered cell decidim/proposals/proposal_m (196.1ms)
 Finished rendering decidim/proposals/proposal
 Rendered cell decidim/proposals/proposal (196.4ms)
 Finished rendering decidim/card
 Rendered cell decidim/card (197.1ms)
 Start rendering decidim/card
 Start rendering decidim/proposals/proposal
 Start rendering decidim/proposals/proposal_m
 Start rendering decidim/coauthorships
 Start rendering decidim/collapsible_authors
 Start rendering decidim/collapsible_list
 Start rendering decidim/author
 Start rendering decidim/follow_button
 Finished rendering decidim/follow_button
 Rendered cell decidim/follow_button (1.3ms)
 Finished rendering decidim/author
 Rendered cell decidim/author (3.7ms)
 Finished rendering decidim/collapsible_list
 Rendered cell decidim/collapsible_list (3.9ms)
 Finished rendering decidim/collapsible_authors
 Rendered cell decidim/collapsible_authors (4.2ms)
 Finished rendering decidim/coauthorships
 Rendered cell decidim/coauthorships (92.4ms)
 Start rendering decidim/tags
 Finished rendering decidim/tags
 Rendered cell decidim/tags (31.2ms)
 Start rendering decidim/follow_button
 Finished rendering decidim/follow_button
 Rendered cell decidim/follow_button (5.6ms)
 Finished rendering decidim/proposals/proposal_m
 Rendered cell decidim/proposals/proposal_m (323.3ms)
 Finished rendering decidim/proposals/proposal
 Rendered cell decidim/proposals/proposal (323.7ms)
 Finished rendering decidim/card
 Rendered cell decidim/card (324.1ms)
 Start rendering decidim/card
 Start rendering decidim/proposals/proposal
 Start rendering decidim/proposals/proposal_m
 Start rendering decidim/coauthorships
 Start rendering decidim/collapsible_authors
 Start rendering decidim/collapsible_list
 Start rendering decidim/author
 Start rendering decidim/follow_button
 Finished rendering decidim/follow_button
 Rendered cell decidim/follow_button (1.2ms)
 Finished rendering decidim/author
 Rendered cell decidim/author (3.4ms)
 Finished rendering decidim/collapsible_list
 Rendered cell decidim/collapsible_list (3.6ms)
 Finished rendering decidim/collapsible_authors
 Rendered cell decidim/collapsible_authors (3.8ms)
 Finished rendering decidim/coauthorships
 Rendered cell decidim/coauthorships (5.8ms)
 Start rendering decidim/tags
 Finished rendering decidim/tags
 Rendered cell decidim/tags (27.3ms)
 Start rendering decidim/follow_button
 Finished rendering decidim/follow_button
 Rendered cell decidim/follow_button (4.0ms)
 Finished rendering decidim/proposals/proposal_m
 Rendered cell decidim/proposals/proposal_m (139.0ms)
 Finished rendering decidim/proposals/proposal
 Rendered cell decidim/proposals/proposal (139.3ms)
 Finished rendering decidim/card
 Rendered cell decidim/card (139.8ms)
 Finished rendering decidim/collapsible_list
 Rendered cell decidim/collapsible_list (1068.1ms)
 Finished rendering decidim/proposals/highlighted_proposals_for_component
 Rendered cell decidim/proposals/highlighted_proposals_for_component (1103.3ms)
 Finished rendering decidim/proposals/highlighted_proposals
 Rendered cell decidim/proposals/highlighted_proposals (1106.1ms)
 Start rendering decidim/accountability/highlighted_results
 Finished rendering decidim/accountability/highlighted_results
 Rendered cell decidim/accountability/highlighted_results (1.8ms)
 Start rendering decidim/follow_button
 Finished rendering decidim/follow_button
 Rendered cell decidim/follow_button (4.3ms)

@andreslucena andreslucena changed the title Feature/add cell instrumenter Display the time Rails spends rendering a cell Oct 1, 2020
@Leusev Leusev self-requested a review October 6, 2020 09:37
@Leusev Leusev self-assigned this Oct 6, 2020
Copy link
Copy Markdown
Contributor

@Leusev Leusev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @alecslupu , glad to see you here again!
First of all, there's a [CI] Meetings flaky test failing in this PR, yet solved in PR #6595
By the moment, could you merge with develop in order to solve it please?
Thanks in advance!

@Leusev
Copy link
Copy Markdown
Contributor

Leusev commented Oct 6, 2020

Btw, as now all cells display its render time in log, what do you think about it @decidim/core @tramuntanal @ivan-mr it could be interesting to add it ?
Thanks in advance! 🙏

@andreslucena andreslucena mentioned this pull request Oct 8, 2020
12 tasks
@Leusev
Copy link
Copy Markdown
Contributor

Leusev commented Oct 9, 2020

Hello @alecslupu
could you make another merge with develop please? I think the two failing test would be addressed if doing so..
Thanks in advance! 🙏

@alecslupu
Copy link
Copy Markdown
Contributor Author

@Leusev , the merge with develop is done

@tramuntanal
Copy link
Copy Markdown
Contributor

Hi yes I find it interesting as long as it does not penalize in production environments @Leusev

@Leusev
Copy link
Copy Markdown
Contributor

Leusev commented Oct 14, 2020

Good morning @alecslupu
as we talked throught Telegram, you explained me that this PR fails with 500 error on static map.
Could you please check it and if necessary, make some rework to solve it please?
Thanks a lot in advance! 🙏

@mrcasals
Copy link
Copy Markdown
Contributor

@Leusev the failing test is that "random one" from meetings. The problem with the maps has been going on for a while now and is not caused by this PR...

@alecslupu heads-up, some conflicts arose!

@alecslupu
Copy link
Copy Markdown
Contributor Author

alecslupu commented Oct 14, 2020

Good morning @alecslupu
as we talked throught Telegram, you explained me that this PR fails with 500 error on static map.
Could you please check it and if necessary, make some rework to solve it please?
Thanks a lot in advance! pray

@Leusev , on the same telegram chat i was telling you that if run only the file that fails in suite, the test will pass without any issues.

Also, i see that currently in meetings module there is another flacky test .. the number of meetings found in filter.

root@685fdc51054b:/code/decidim# bundle exec rake test_meetings
/usr/local/bin/ruby -I/usr/local/bundle/gems/rspec-core-3.9.3/lib:/usr/local/bundle/gems/rspec-support-3.9.3/lib /usr/local/bundle/gems/rspec-core-3.9.3/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb

Randomized with seed 38176
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F.........................................

Failures:

  1) Explore meetings index when filtering allows searching by text
     Failure/Error: expect(page).to have_css("#meetings-count", text: "1 MEETING")
       expected to find visible css "#meetings-count" with text "1 MEETING" but there were no matches. Also found "0 MEETINGS", which matched the selector but not all filters. 
     
     [Image screenshot]: file:///code/decidim/spec/decidim_dummy_app/tmp/screenshots/failures_r_spec_example_groups_explore_meetings_index_when_filtering_allows_searching_by_text_499.png
       [Page HTML]: file:///code/decidim/spec/decidim_dummy_app/tmp/screenshots/failures_r_spec_example_groups_explore_meetings_index_when_filtering_allows_searching_by_text_499.html

     
     # ./spec/system/explore_meetings_spec.rb:139:in `block (4 levels) in <main>'
     # /usr/local/bundle/gems/webmock-3.9.1/lib/webmock/rspec.rb:37:in `block (2 levels) in <main>'
     # /code/decidim/decidim-dev/lib/decidim/dev/test/rspec_support/capybara.rb:72:in `block (3 levels) in <main>'
     # /usr/local/bundle/gems/capybara-3.33.0/lib/capybara/session.rb:801:in `block in using_wait_time'
     # /usr/local/bundle/gems/capybara-3.33.0/lib/capybara.rb:303:in `using_wait_time'
     # /usr/local/bundle/gems/capybara-3.33.0/lib/capybara/session.rb:801:in `using_wait_time'
     # /usr/local/bundle/gems/capybara-3.33.0/lib/capybara/dsl.rb:28:in `using_wait_time'
     # /code/decidim/decidim-dev/lib/decidim/dev/test/rspec_support/capybara.rb:71:in `block (2 levels) in <main>'

Finished in 24 minutes 11 seconds (files took 4.74 seconds to load)
996 examples, 1 failure

Failed examples:

rspec ./spec/system/explore_meetings_spec.rb:128 # Explore meetings index when filtering allows searching by text

Randomized with seed 38176

/usr/local/bin/ruby -I/usr/local/bundle/gems/rspec-core-3.9.3/lib:/usr/local/bundle/gems/rspec-support-3.9.3/lib /usr/local/bundle/gems/rspec-core-3.9.3/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb failed
root@685fdc51054b:/code/decidim# cd decidim-meetings/
root@685fdc51054b:/code/decidim/decidim-meetings# bundle exec rspec ./spec/system/explore_meetings_spec.rb --fail-fast 

Randomized with seed 38349
............................

Finished in 1 minute 52.91 seconds (files took 3.99 seconds to load)
28 examples, 0 failures

Randomized with seed 38349

@alecslupu alecslupu closed this Oct 14, 2020
@alecslupu alecslupu reopened this Oct 14, 2020
@Leusev
Copy link
Copy Markdown
Contributor

Leusev commented Oct 14, 2020

Ok @alecslupu, you're right, the [CI] Meetings test is a flaky.
Btw, could you check conflicting file please?
Thanks!

@alecslupu
Copy link
Copy Markdown
Contributor Author

Ok @alecslupu, you're right, the [CI] Meetings test is a flaky.
Btw, could you check conflicting file please?
Thanks!

Thanks . Pushed the fix .

@Leusev Leusev self-requested a review October 14, 2020 11:55
Copy link
Copy Markdown
Contributor

@Leusev Leusev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, all ok now @alecslupu 👍
Thanks a lot for your contribution

@Leusev Leusev merged commit 5f1f5de into decidim:develop Oct 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants