Normandy hangs the browser UI for over one second when verifying signatures
Categories
(Firefox :: Normandy Client, defect, P2)
Tracking
()
People
(Reporter: mstange, Assigned: keeler)
References
(Regression)
Details
(Keywords: perf:responsiveness, regression)
Profile: https://perfht.ml/2VARfOm
I just encountered a one second UI freeze in a local build. The profile shows time spent in verifyObjectSignature, which runs on the main thread of the parent process.
This function was added in bug 1538248, so I'm tentatively marking this bug as a regression from that bug.
Comment 1•5 years ago
|
||
verifyObjectSignature()
was just extracted in bug 1538248, but I would say that the real issue is bug 1540642
Comment hidden (obsolete) |
Comment 3•5 years ago
|
||
Oh, never mind comment #2, it turns out the flame graph isn't actually time-sequential, as I assumed. The stack graph is, and that does show we're verifying a whole bunch of things. So yes, coalescing things (fixing bug 1540642) should help.
Comment 4•5 years ago
|
||
That said, that'd cut the time needed here approximately in half, which still isn't really brilliant...
Comment 5•5 years ago
|
||
I think this is the same thing we were discussing in bug 1534600. This seems like a duplicate bug to me.
Comment 6•5 years ago
|
||
QF triage team wanted to ask if you know how frequently this code get hits to help us assess how bad the problem is for users.
Comment 7•5 years ago
|
||
This code currently runs automatically every 6 hours, when Normandy checks the server for new recipes. It uses the same timer as the update service to trigger itself. We are planning to switch to a push-based model in the near future. At that point it would run anytime sometime changes on the server. I don't know how often that is, but my intuition makes me think it would be fairly limited, spiking up to a few times an hour.
Updated•5 years ago
|
Comment 8•5 years ago
|
||
From bug 1534600 this doesn't seem likely to get fixed in 68.
Comment 9•5 years ago
|
||
The priority flag is not set for this bug.
:mythmon, could you have a look please?
For more information, please visit auto_nag documentation.
Comment 10•5 years ago
|
||
Setting to P2 to match the qf priority label.
Comment 11•4 years ago
|
||
Dana, with bug 1534600 fixed, I expect there isn't a problem here anymore? Or do you think there is more work to be done in Normandy specifically?
Assignee | ||
Comment 12•4 years ago
|
||
I imagine that took care of the issue, but it would probably be good to confirm with a profile.
Comment 13•4 years ago
|
||
I took a profile of Normandy running at startup, which should be a worst case scenario. https://perfht.ml/2Ez8DfQ
In the original profile, searching for normandy
showed 1286ms of time spent in the call tree, most of which is attributable to verifyObjectSignature
. In this new profile, I see 56ms of time spent. This seems too good to be true, but I haven't been able to find any other places where time is spent on Normandy code in the profile.
Updated•4 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Description
•