YahooArchive / boomerang

End user oriented web performance testing and beaconing
http://lognormal.github.com/boomerang/doc/
Other
1.18k stars 448 forks source link

t_done not send if navapi enabled, BW enabled, HTTPS, and no perf API #18

Closed abrahamNevado closed 12 years ago

abrahamNevado commented 13 years ago

Hi, just to let you know after several testings that in case you are navigating using HTTPS, you have including navapi, and the browser you use does not super WebPerfAPI, then the performance is not measured.

If you comment out the if clause where BW monitor control checks if running https, then it works.

Does it make sense to you?

Thank and regards.

bluesmoon commented 13 years ago

I'll investigate the issue. I think I might know what causes it.

shapeshifta78 commented 12 years ago

Got a similar issue with Firefox 8. I haven't included the navapi plugin (is this still necessary?). The bw test is skipped, but the beacon never gets called.

bluesmoon commented 12 years ago

The problem, is a matter of timing...

When the page_ready event fires, all event subscribers are called in order. By default, the order is:

each is supposed to call BOOMR.sendBeacon() when done.

The bug in the https flow is that the BW plugin never calls BOOMR.sendBeacon() in that block.

shapeshifta78 commented 12 years ago

Thanks for the fast response, I assumed the same investigating boomerang yesterday. I wonder why noone else like abrahamNevado and me had the problem until now. So just adding sendBeacon() in the run() method of BW plugin like this would be enough?

if(w.location.protocol === 'https:') {
            // we don't run the test for https because SSL stuff will mess up b/w
            // calculations we could run the test itself over HTTP, but then IE
            // will complain about insecure resources, so the best is to just bail
            // and hope that the user gets the cookie from some other page

            BOOMR.info("HTTPS detected, skipping bandwidth test", "bw");
            impl.complete = true;

            //added
            BOOMR.sendBeacon();

            return this;
}
shapeshifta78 commented 12 years ago

Ah ok, found the pull-request. Thanks!

bluesmoon commented 12 years ago

yeah, my guess is that no one really runs it over HTTPS. There was a similar bug someone emailed me about but regarding their own plugin.

casutherland commented 12 years ago

@bluesmoon I would like to run the boomerang beacon over HTTPS, especially including bandwidth/latency tests. Also, the image GETs really need to run over HTTPS as well for my test scenario.

Before I look into this further, is this something that just needs some attention and testing, or are there significant issues blocking this (i.e., "SSL stuff will mess up b/w calculations").

Update: Posted this follow-up question as a new issue as this issue is closed. See: Issue #46.