WebPagetest Forums

Full Version: How to Programmatically Determine Big Blue Bars on a Waterfall
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I am wondering if anyone has any thoughts/pointers/scripts in the general direction of analysing waterfalls in a scripted fashion. Visually one knows how to debug a waterfall but programmatically are the any tools out there where I can specify my own rules like alert me on big fat pink bar in the middle or long big blue bars etc?

Sounds like one would get a HAR and analyse it but wanted to know the field before I write my own
It's something I've been thinking about doing statistically but only scratched the surface yet.

It's pretty easy to extract a HAR from WPT and then analyse it, the key is choosing which things to analyse e.g. slope might be interesting.
The way I do it is by reading the requestsData

$path = $xml->data->run->firstView->rawData->requestsData ;
$data = file_get_contents($path);

For each row in the CSV, I then, regarding transmission time (waterfall blue) calculate the transmission speed, gzip compression ratio, effective transmission speed and etc.

For each column I set the class to a color that indicates Good (Green) Bad (Red) and Not Good/ Not Bad (Yellow)

if ($rate2 < $parm['rate2'][0]){$class = 'class="red"';}
elseif ($rate2 < $parm['rate2'][1]){$class = 'class="yellow"';}
else {$class = 'class="green"';}

In the HTML I wrap each column with the class color
<span $class>$rate2 Bytes/Sec.</span>

I find this to be a very quick way to assess HTTP requests. The overall amount of red and green then if a particular column us all Red the problem is very obvious.

Oops, Misinterpreted the post, this is not relevant.

I do not believe the "big fat pink bar" would be necessary. Just by looking at when the amount of Green (pre-TTFB) and amount of Blue are not representative of a well designed page and or server configuration, a quick glance at the Request Results table and the reason is usually immediately apparent.
"big fat pink bar" is the DOM Content Loaded event (time for JS to execute). It should be available in the raw XML or JSON and should be easy enough to set a threshold on.
Reference URL's