Closed Bug 1671472 Opened 4 years ago Closed 4 years ago

Implement dispatcher & IPC for Timing Distributions in FOG

Categories

(Toolkit :: Telemetry, task, P1)

task

Tracking

()

RESOLVED FIXED
84 Branch
Tracking Status
firefox84 --- fixed

People

(Reporter: chutten, Assigned: chutten)

References

Details

(Whiteboard: [telemetry:fog:m6])

Attachments

(1 file)

Docs for IPC and Dispatcher stuff can be found here.

Timing Distribution samples need to be sent across IPC from non-main processes and dispatched off the instrumenting thread in the main process.

Since the sample calculations are done in the core this'll probably need to be more of an ordered command stream of {Start|Stop|Cancel, TimerId, Instant} structs.

Assignee: nobody → chutten
Status: NEW → ASSIGNED
Priority: P3 → P1

We have to generate TimerIds in child processes because they're returned
synchronously from start(). This means each TimerId has to be process-local,
unless we go to some serious effort coordinating which TimerIds can be assigned
by which processes (let's not do that).

If the TimerId is process-local then we need not send a command stream of
start(), stop_and_accumulate(), and cancel() commands each with their Instant
of execution... we can calculate the durations ourselves, process-locally.

(( We could use std::time::Instant for this since we're process-local and not
trying to Send or Serialize them anywhere, but I opted for fog::private::Instant
for consistency's sake. ))

Pushed by chutten@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1a292b7fdbdc Implement Dispatcher and IPC support for FOG Timing Distributions r=janerik
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 84 Branch
Regressions: 1683509
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: