Closed Bug 1246644 Opened 8 years ago Closed 8 years ago

Document childPayloads in the main ping

Categories

(Toolkit :: Telemetry, defect, P2)

defect
Points:
1

Tracking

()

RESOLVED FIXED
mozilla47
Tracking Status
firefox47 --- fixed

People

(Reporter: Dexter, Assigned: Dexter)

References

Details

(Whiteboard: [measurement:client])

Attachments

(1 file, 1 obsolete file)

(In reply to Georg Fritzsche [:gfritzsche] from bug 1244182 comment #3)

> I'd like to see more documentation on how childPayloads are collected etc. - maybe
> chutten can document this in a follow-up bug.
Chris, would you mind adding some details about the childPayloads? Thanks!
Blocks: 1216191
Points: --- → 1
Flags: needinfo?(chutten)
Priority: -- → P3
Whiteboard: [measurements:client]
Any histogram whose Accumulate call happens on a child process will be accumulated into a childPayload's histogram, not the parent's. As such, some histograms in childPayloads will contain different data (GC_MS will be much different in childPayloads, for instance, because the child GC needs to content with content scripts and parent doesn't) and some histograms will be absent (EVENTLOOP_UI_ACTIVITY is parent-process-only because it measures inter-event timings where the OS delivers the events in the parent).

...is that the sort of information you're after?
Flags: needinfo?(chutten)
Flags: needinfo?(gfritzsche)
(In reply to Chris H-C :chutten from comment #2)
> Any histogram whose Accumulate call happens on a child process will be
> accumulated into a childPayload's histogram, not the parent's. As such, some
> histograms in childPayloads will contain different data (GC_MS will be much
> different in childPayloads, for instance, because the child GC needs to
> content with content scripts and parent doesn't) and some histograms will be
> absent (EVENTLOOP_UI_ACTIVITY is parent-process-only because it measures
> inter-event timings where the OS delivers the events in the parent).
> 
> ...is that the sort of information you're after?

This is really useful to add. I would also love to see a basic summary of how/when we currently collect child payloads and what childPayload data we'd expect in what subsession.

Is this something you can summarize Chris? I haven't closely followed the recent child payload collection patches.
Flags: needinfo?(gfritzsche) → needinfo?(chutten)
That is unfortunately something I do not know (I think it was finalized just before I was hired).

Luckily, I'm a curious sort of person, so simply by you asking me about it you have mind-controlled me into wanting to know the answer :S

According to TelemetrySession.jsm, child telemetry payloads are recorded on child process shutdown (event "content-child-shutdown" observed) and whenever someone calls `TelemetrySession.requestChildPayloads()` (which is never, outside of tests).

So "when a child process terminates" appears to be the answer to "When?". About "How?" I'm not sure what you mean. As I stated above, anything that has an Accumulate call on the child process (so, in PresShell or below, not in hardly any chrome js, probably not plugin/addon stuff) will be in a histogram on the child payload. That's all there is to it, as far as I know.
Flags: needinfo?(chutten)
Priority: P3 → P2
Whiteboard: [measurements:client] → [measurement:client]
Attached patch bug1246644.patch (obsolete) — Splinter Review
Assignee: nobody → alessio.placitelli
Status: NEW → ASSIGNED
Attachment #8722423 - Flags: review?(gfritzsche)
Comment on attachment 8722423 [details] [diff] [review]
bug1246644.patch

Review of attachment 8722423 [details] [diff] [review]:
-----------------------------------------------------------------

::: toolkit/components/telemetry/docs/main-ping.rst
@@ +84,5 @@
>  If ``sessionLength`` is ``-1``, the monotonic clock is not working.
>  
>  childPayloads
>  -------------
> +The Telemetry payloads sent by child processes, recorded on child process shutdown (event ``content-child-shutdown`` observed) and whenever ``TelemetrySession.requestChildPayloads()`` is called (only inside the tests). They are reduced session payloads, only available with e10s. Among some other things, they don't report addon details, addon histograms or UI Telemetry.

Nit: "(currently only used in tests)"

@@ +86,5 @@
>  childPayloads
>  -------------
> +The Telemetry payloads sent by child processes, recorded on child process shutdown (event ``content-child-shutdown`` observed) and whenever ``TelemetrySession.requestChildPayloads()`` is called (only inside the tests). They are reduced session payloads, only available with e10s. Among some other things, they don't report addon details, addon histograms or UI Telemetry.
> +
> +Any histogram whose Accumulate call happens on a child process will be accumulated into a childPayload's histogram, not the parent's. As such, some histograms in childPayloads will contain different data (e.g. ``GC_MS`` will be much different in childPayloads, for instance, because the child GC needs to content with content scripts and parent doesn't) and some histograms will be absent (``EVENTLOOP_UI_ACTIVITY`` is parent-process-only because it measures inter-event timings where the OS delivers the events in the parent).

Let's add:
"Note: Child payloads are not collected and cleared with subsession splits, they are currently only meaningful when analysed from "saved-session" or "main" pings with "reason" set to "shutdown".
Attachment #8722423 - Flags: review?(gfritzsche) → review+
Attached patch bug1246644.patchSplinter Review
Attachment #8722423 - Attachment is obsolete: true
Attachment #8722496 - Flags: review+
https://hg.mozilla.org/mozilla-central/rev/e6af92fd715f
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla47
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: