Closed
Bug 1342635
Opened 4 years ago
Closed 4 years ago
Add telemetry for IPC serialization/deserialization time
Categories
(Core :: IPC, defect)
Core
IPC
Tracking
()
RESOLVED
FIXED
mozilla55
People
(Reporter: ehsan.akhgari, Assigned: nika)
References
(Blocks 3 open bugs)
Details
Attachments
(9 files)
|
9.17 KB,
patch
|
billm
:
review+
benjamin
:
feedback+
|
Details | Diff | Splinter Review |
|
8.43 KB,
patch
|
billm
:
review+
benjamin
:
feedback+
|
Details | Diff | Splinter Review |
|
1.81 KB,
patch
|
Details | Diff | Splinter Review | |
|
7.28 KB,
patch
|
gchang
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
|
8.43 KB,
patch
|
gchang
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
|
1.81 KB,
patch
|
gchang
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
|
7.21 KB,
patch
|
lizzard
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
|
8.43 KB,
patch
|
lizzard
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
|
1.81 KB,
patch
|
lizzard
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
See bug 1342632 for an example. We should probably add some telemetry for this stuff to see if there are bad ones one the parent process main thread.
Do you mean async? PHttpChannelConstructor is an async message.
| Reporter | ||
Comment 2•4 years ago
|
||
(In reply to Bill McCloskey (:billm) from comment #1) > Do you mean async? PHttpChannelConstructor is an async message. Reading it from PNeckoParent::Read() still happens synchronously on the main thread. I doubt the sync/async keyword in the IPDL syntax matters here.
Summary: Add telemetry for main thread sync IPC → Add telemetry for IPC serialization/deserialization time
| Reporter | ||
Comment 3•4 years ago
|
||
Thanks for rephrasing. :-)
| Reporter | ||
Updated•4 years ago
|
Assignee: nobody → michael
| Assignee | ||
Comment 4•4 years ago
|
||
This is my first pass at trying to add a telemetry probe to the IPC logic. The way I ended up implementing it feels super gross to me, but it felt better at the time then modifying the IPDL generator to directly generate the telemetry generation code in every callsite. If that is preferable I can also easily change the code to do that. I also tried to match local style where possible, but that seems kinda hard because it seems very inconsistent. MozReview-Commit-ID: 8XWFWoRECrC
Attachment #8844686 -
Flags: review?(wmccloskey)
| Assignee | ||
Comment 5•4 years ago
|
||
MozReview-Commit-ID: Gyx4QO8f5yx
Attachment #8844687 -
Flags: review?(wmccloskey)
| Assignee | ||
Comment 6•4 years ago
|
||
I should note that this code reports this latency on all threads. It should be easy to limit to the main thread if we want to.
Comment on attachment 8844686 [details] [diff] [review] Part 1: Add a telemetry probe for IPDL IPC deserialization time Review of attachment 8844686 [details] [diff] [review]: ----------------------------------------------------------------- ::: ipc/ipdl/ipdl/lower.py @@ +4189,5 @@ > msgexpr, ExprAddrOf(itervar), > errfn, "'%s'" % p.bareType(side).name, > sentinelKey=p.name) > for p in md.params[start:] ] > + + [ self.endRead(msgvar, itervar, md.prettyMsgName()) ])) Can you pass the message type instead and then use StringFromIPCMessageType to turn it to a string. That way we're guaranteed to use the exact same message name everywhere, which saves space in the binary.
Attachment #8844686 -
Flags: review?(wmccloskey) → review+
Attachment #8844687 -
Flags: review?(wmccloskey) → review+
Pushed by michael@thelayzells.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/c41ed10a2c05 Part 1: Add a telemetry probe for IPDL IPC deserialization time, r=billm https://hg.mozilla.org/integration/mozilla-inbound/rev/2c2abaaf7529 Part 2: Add a telemetry probe for IPDL IPC serialzation time, r=billm
| Assignee | ||
Comment 9•4 years ago
|
||
Comment on attachment 8844686 [details] [diff] [review] Part 1: Add a telemetry probe for IPDL IPC deserialization time retroactive data review because I goofed.
Attachment #8844686 -
Flags: feedback?(benjamin)
| Assignee | ||
Updated•4 years ago
|
Attachment #8844687 -
Flags: feedback?(benjamin)
Comment 10•4 years ago
|
||
Comment on attachment 8844686 [details] [diff] [review] Part 1: Add a telemetry probe for IPDL IPC deserialization time Whenever you have a keyed histogram you need to describe the key value in the histogram description. I'm guessing that this is the IPDL message name like IPC_MESSAGE_SIZE, but that needs to be explicit. Also it would be/would have been better to put this near the other IPC_MESSAGE* declarations instead of at the end. data-r=me if this indeed the IPDL message name and you fix the description. Otherwise please I'd like to see this again.
Attachment #8844686 -
Flags: feedback?(benjamin) → feedback+
Comment 11•4 years ago
|
||
Comment on attachment 8844687 [details] [diff] [review] Part 2: Add a telemetry probe for IPDL IPC serialzation time ditto commentary here.
Attachment #8844687 -
Flags: feedback?(benjamin) → feedback+
| Assignee | ||
Comment 12•4 years ago
|
||
MozReview-Commit-ID: DaeS4NxJyUW
Comment 13•4 years ago
|
||
Pushed by michael@thelayzells.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/7f6c7d78dad3 Part 3: Update descrption of probes to mention meaning of key, r=bsmedberg
| Reporter | ||
Comment 14•4 years ago
|
||
These probes aren't main thread only either, are they? If not, can I be a pain and ask you to make them so? :-) Sorry, I thought I had mentioned it on the bug but apparently not...
Flags: needinfo?(michael)
Comment 15•4 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/c41ed10a2c05 https://hg.mozilla.org/mozilla-central/rev/2c2abaaf7529 https://hg.mozilla.org/mozilla-central/rev/7f6c7d78dad3
Status: NEW → RESOLVED
Closed: 4 years ago
status-firefox55:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
| Assignee | ||
Comment 16•4 years ago
|
||
Oops - I've filed bug 1346866 to fix that.
Flags: needinfo?(michael)
| Assignee | ||
Comment 17•4 years ago
|
||
Comment on attachment 8844686 [details] [diff] [review] Part 1: Add a telemetry probe for IPDL IPC deserialization time Approval Request Comment [Feature/Bug causing the regression]: N/A [User impact if declined]: Not collecting useful telemetry from beta/aurora [Is this code covered by automated tests?]: No [Has the fix been verified in Nightly?]: In nightly [Needs manual test from QE? If yes, steps to reproduce]: No [List of other uplifts needed for the feature/fix]: bug 1346866 must be uplifted after this bug [Is the change risky?]: No [Why is the change risky/not risky?]: Just adds a telemetry probe [String changes made/needed]: None
Attachment #8844686 -
Flags: approval-mozilla-beta?
Attachment #8844686 -
Flags: approval-mozilla-aurora?
Comment 18•4 years ago
|
||
Hi :mystor, Just to be sure, is part1 the only patch you want uplift?
Flags: needinfo?(michael)
| Assignee | ||
Comment 19•4 years ago
|
||
(In reply to Gerry Chang [:gchang] from comment #18) > Hi :mystor, > Just to be sure, is part1 the only patch you want uplift? No, I was hoping to uplift all of the patches on this bug. In a previous bug someone complained about me adding too many flags to all of the patches on the bug so I tried to avoid doing this this time around. Sorry that wasn't clear.
Flags: needinfo?(michael)
Comment 20•4 years ago
|
||
Are you sure it applies correctly, I am getting in the uplift simulation ? Merge failed for commit c41ed10a2c05 (parent 77fdb54e3df6) grafting 385104:c41ed10a2c05 "Bug 1342635 - Part 1: Add a telemetry probe for IPDL IPC deserialization time, r=billm" merging ipc/chromium/src/base/pickle.cc merging toolkit/components/telemetry/Histograms.json warning: conflicts while merging toolkit/components/telemetry/Histograms.json! (edit, then use 'hg resolve --mark') abort: unresolved conflicts, can't continue (use 'hg resolve' and 'hg graft --continue')
Flags: needinfo?(michael)
| Assignee | ||
Comment 21•4 years ago
|
||
MozReview-Commit-ID: 8XWFWoRECrC
| Assignee | ||
Comment 22•4 years ago
|
||
MozReview-Commit-ID: Gyx4QO8f5yx
| Assignee | ||
Comment 23•4 years ago
|
||
MozReview-Commit-ID: DaeS4NxJyUW
| Assignee | ||
Comment 24•4 years ago
|
||
MozReview-Commit-ID: 8XWFWoRECrC
| Assignee | ||
Comment 25•4 years ago
|
||
MozReview-Commit-ID: Gyx4QO8f5yx
| Assignee | ||
Comment 26•4 years ago
|
||
MozReview-Commit-ID: DaeS4NxJyUW
| Assignee | ||
Updated•4 years ago
|
Flags: needinfo?(michael)
Attachment #8844686 -
Flags: approval-mozilla-beta?
Attachment #8844686 -
Flags: approval-mozilla-aurora?
| Assignee | ||
Updated•4 years ago
|
Attachment #8848162 -
Flags: approval-mozilla-aurora?
| Assignee | ||
Updated•4 years ago
|
Attachment #8848163 -
Flags: approval-mozilla-aurora?
| Assignee | ||
Updated•4 years ago
|
Attachment #8848164 -
Flags: approval-mozilla-aurora?
| Assignee | ||
Updated•4 years ago
|
Attachment #8848166 -
Flags: approval-mozilla-beta?
| Assignee | ||
Updated•4 years ago
|
Attachment #8848167 -
Flags: approval-mozilla-beta?
| Assignee | ||
Updated•4 years ago
|
Attachment #8848168 -
Flags: approval-mozilla-beta?
| Assignee | ||
Comment 27•4 years ago
|
||
The rebase was very simple (I was just adding histograms to Histograms.json, and the set of histograms in aurora/beta is different than nightly). I've attached and flagged branch specific versions of each commit.
Updated•4 years ago
|
status-firefox53:
--- → affected
status-firefox54:
--- → affected
Comment 28•4 years ago
|
||
Comment on attachment 8848162 [details] [diff] [review] AURORA Part 1: Add a telemetry probe for IPDL IPC deserialization time For better collecting telemetry data. Aurora54+.
Attachment #8848162 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Updated•4 years ago
|
Attachment #8848163 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Updated•4 years ago
|
Attachment #8848164 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 29•4 years ago
|
||
| bugherderuplift | ||
https://hg.mozilla.org/releases/mozilla-aurora/rev/b89e465af4d1 https://hg.mozilla.org/releases/mozilla-aurora/rev/93684501abf2 https://hg.mozilla.org/releases/mozilla-aurora/rev/cc3b9a4c673e
Comment on attachment 8848166 [details] [diff] [review] BETA Part 1: Add a telemetry probe for IPDL IPC deserialization time Sounds useful for diagnosing perf or other issues. Has data review. OK to uplift for the beta 6 build.
Attachment #8848166 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #8848167 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #8848168 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 31•4 years ago
|
||
| bugherderuplift | ||
https://hg.mozilla.org/releases/mozilla-beta/rev/129cd2f7ede3 https://hg.mozilla.org/releases/mozilla-beta/rev/d2e02635c4b7 https://hg.mozilla.org/releases/mozilla-beta/rev/8710cce7e0b8
You need to log in
before you can comment on or make changes to this bug.
Description
•