Open Bug 1538815 Opened 5 years ago Updated 2 years ago

Take App, Prio, and Base64 encoding off of the main thread for GetEncodedOriginSnapshot

Categories

(Toolkit :: Telemetry, enhancement, P2)

enhancement
Points:
2

Tracking

()

People

(Reporter: chutten, Unassigned)

References

(Blocks 1 open bug)

Details

App-encoding (taking "these origins were blocked by Content Blocking" and turning them into boolean vectors for prio to encode), Prio encoding (turning a boolean vector into an encoded byte array), and Base64 encoding (turning that byte array into a base64 string for transmit) do not need to be on the main thread.

In fact, bug 1509511 and its friends might mean the impact of doing so on the main thread (especially on shutdown) is actively harmful to performance.

So let's take them off-thread.

This is noting that we'll still need to build the JS objects and stuff on the main thread before resolving the promise. Nothing we can do about that.

(( Take a look at FetchTelemetryData's split of work for ideas. And GetLoadedModules{Result}Runnable for a two-runnable variant with a more relevant "assemble result into JS" portion ))

See Also: → 1509511

Taking this out of the prototype (not needed now. Maybe later).

Blocks: 1522657
No longer blocks: 1536565
Priority: -- → P2
Blocks: 1511374
No longer blocks: 1522657
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.