Closed Bug 1069389 Opened 7 years ago Closed 6 years ago

Reduce number of Angular watchers - part 1

Categories

(Tree Management :: Treeherder, defect, P1)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: emorley, Assigned: camd)

References

(Blocks 1 open bug)

Details

(Keywords: perf)

Attachments

(1 file)

1) Open https://treeherder.mozilla.org/ui/#/jobs?repo=mozilla-central
2) Wait for the page to finish loading
3) Scroll down the page using a mousewheel (or I guess touchpad gesture)

Expected:
Smooth & responsive scrolling

Actual:
Page seems to get sticky on certain UI elements, eg each time a new result set comes into view.
The result seems to be worse when the mouse cursor is hovering over the list of job results (due to the row highlighting?).

If the scrolling is performed using keyboard arrows, the spacebar or page up/down, the issue isn't as noticeable.
Top watchers on treeherder-ui by usage and execution time
We currently have more than 1550 watchers registered on the page and some of them are quite greedy on resources. The list in attachment 8494525 [details] shows the top watchers by usage frequency and execution time. I'm trying yo remove those watchers that are watching a function result instead of a property on the scope.
Assignee: nobody → mdoglio
Status: NEW → ASSIGNED
Assignee: mdoglio → cdawson
Commits pushed to master at https://github.com/mozilla/treeherder-ui

https://github.com/mozilla/treeherder-ui/commit/ebde114de9491c5510ecb3d9da2dc95b83d9f65a
Bug 1069389 - reduce the number of angular watchers

In some cases I changed the way it listened to data in an angular way.
In others, I used our custom events and used jQuery to update data.

https://github.com/mozilla/treeherder-ui/commit/4ae454f40c7cc007fcfcbaa8b805d0c4ea4fdc90
Bug 1069389 - remove socket.io for job and resultset updates

https://github.com/mozilla/treeherder-ui/commit/c6fa74814690f18e34f558b7d5c3dbb0b632c09b
Bug 1069389 - fix css due to new bootstrap plus cleanup

https://github.com/mozilla/treeherder-ui/commit/b7007fce31ac349f3c5aa4a6d2556718d3de2581
bug 1069389 - remove watchers from status counts

https://github.com/mozilla/treeherder-ui/commit/cb46b6d6dd89cb3c996600d9c99857b9ffe4ca7c
bug 1069389 - bootstrap had bad font paths.  fixed.

https://github.com/mozilla/treeherder-ui/commit/388a910607772320cb9f3c4ddc46a0bbd15156aa
bug 1069389 - disable socket.io

https://github.com/mozilla/treeherder-ui/commit/49757e4dfa48575b09ea4b0c2a0c2a5b89761a7e
bug 1069389 - remove socket.io usage completely

https://github.com/mozilla/treeherder-ui/commit/fda36776fe4a8b2f7a67ca83970975f3ef6be472
bug 1069389 - fix repo info dropdown

https://github.com/mozilla/treeherder-ui/commit/95961d79e0068e5c8f1f1c1223c95a8de0ae2db8
bug 1069389 - css fixes to compensate for bootstrap changes

https://github.com/mozilla/treeherder-ui/commit/fa046e5137b22bae86513ff7c65b059bf638c41b
bug 1069389 - css and display fixes

https://github.com/mozilla/treeherder-ui/commit/051d0d7b5f9de0ded9aacaea2c4427ee2654d159
Merge pull request #207 from mozilla/ui-watchers-hunt

Bug 1069389 - Ui watchers hunt
The changes in the last PR are PART of the way there.  There is more room to remove watchers, which should increase performance and reduce memory footprint.  So the work continues on this one.
Depends on: 1073749
Keywords: perf
Adjusting summary to reflect the PR that landed, since comment 0 is really covered by the overall perf bug, bug 1067846.

I'll file separate bugs for further work on this, so we can more easily keep track of what has landed vs not.
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Summary: Scrolling in treeherder isn't responsive/smooth → Reduce number of Angular watchers - part 1
Blocks: 1090301
Commits pushed to master at https://github.com/mozilla/treeherder

https://github.com/mozilla/treeherder/commit/e35f8186ec0cf6820224392089f707fa56c18ad8
Bug 1069389 - reduce the number of angular watchers

In some cases I changed the way it listened to data in an angular way.
In others, I used our custom events and used jQuery to update data.

https://github.com/mozilla/treeherder/commit/a12b8e43b7e6246dda42d2183a826f22a39405a2
Bug 1069389 - remove socket.io for job and resultset updates

https://github.com/mozilla/treeherder/commit/e34242e970b60912be154434b2eabaa40ea21c73
Bug 1069389 - fix css due to new bootstrap plus cleanup

https://github.com/mozilla/treeherder/commit/b9c97b967cdbd7001a18c3bce9ba5d0adbd20695
bug 1069389 - remove watchers from status counts

https://github.com/mozilla/treeherder/commit/70924ab365482937f087393686ad77b337937533
bug 1069389 - bootstrap had bad font paths.  fixed.

https://github.com/mozilla/treeherder/commit/404ec39c40aa2d5c54d15094580c7842a80a9416
bug 1069389 - disable socket.io

https://github.com/mozilla/treeherder/commit/e402df22f417e033fc41852e1825f7e59890a0eb
bug 1069389 - remove socket.io usage completely

https://github.com/mozilla/treeherder/commit/c259e9abc2b4a243ce571f1c28a050af05743d11
bug 1069389 - fix repo info dropdown

https://github.com/mozilla/treeherder/commit/1593219cc7589fce038d4e2b8c0b9d37a5aa8adf
bug 1069389 - css fixes to compensate for bootstrap changes

https://github.com/mozilla/treeherder/commit/693f3f793b99363d86263e95df030033030bbd43
bug 1069389 - css and display fixes

https://github.com/mozilla/treeherder/commit/0d3b091e0692744f9656b03799f9162946139ad3
Merge pull request #207 from mozilla/ui-watchers-hunt

Bug 1069389 - Ui watchers hunt
You need to log in before you can comment on or make changes to this bug.