Plugin initialization analysis

RESOLVED FIXED

Status

()

RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: rvitillo, Assigned: rvitillo)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Requested by Aaron:

I've recently added some new telemetry to Nightly and Aurora to measure main thread blockage due to plugin initialization. These measurements will be used to quantify the benefits of the async init patches.

In particular, we now have the following keyed histograms:

BLOCKED_ON_PLUGIN_MODULE_INIT_MS
BLOCKED_ON_PLUGIN_INSTANCE_INIT_MS
BLOCKED_ON_PLUGIN_STREAM_INIT_MS
BLOCKED_ON_PLUGIN_INSTANCE_DESTROY_MS

All of these histograms are keyed on the plugin name and version, concatenated together. For example, "Shockwave Flash16.0.0.235"

Vladan is looking for some summary statistics to verify that we are measuring everything correctly. He'd like to see the percentiles for each group, with the histograms being grouped together per-plugin and per-OS (e.g. flash 16.0.0.235 on Windows).
The analysis compares the above mentioned histograms with and without async initialization enabled for the top 5 plugins on Windows, OSX and Linux: http://nbviewer.ipython.org/gist/vitillo/38d1a95fa1fe654bb9e5
Flags: needinfo?(vdjeric)
Flags: needinfo?(aklotz)
Something here doesn't look right; the distribution in async histograms should significantly differ from the sync case (except for BLOCKED_ON_PLUGIN_INSTANCE_DESTROY_MS).

I wonder if there's a problem with the telemetry data in the async case...
Flags: needinfo?(aklotz)
Per discussion on IRC, in some cases the BLOCKED_ON_PLUGINASYNCSURROGATE_WAITFORINIT_MS histogram exists also when async initialization is not enabled.
= The BLOCKED_ON_PLUGIN_INSTANCE_DESTROY_MS measurement improved on Flash/WinNT and regressed on Flash/Linux and Flash/Darwin. It should not have been affected by this patch. I guess this is on account of the same issue pointed out in comment 3
- What is "Plugins PDK"? is it supposed to be PDF?
Flags: needinfo?(vdjeric)
I updated the analysis by ignoring the submissions with an existing but empty BLOCKED_ON_PLUGINASYNCSURROGATE_WAITFORINIT_MS histogram.
Flags: needinfo?(aklotz)
Thanks, Roberto. This version is in line with my expectations.

Some comments:

We have a very low sample size in the async init case at the moment, hence the differences on the plugin destruction histogram.

The other histograms are more or less in line with my expectations. Note that on Windows we can improve BLOCKED_ON_PLUGIN_MODULE_INIT_MS significantly by landing bug 1115438.
Flags: needinfo?(aklotz)
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.