catchpoint / webpagetest Goto Github PK
View Code? Open in Web Editor NEWOfficial repository for WebPageTest
License: Other
Official repository for WebPageTest
License: Other
Migrate the legacy IE agent to the new agent platform (need to identify the remaining feature gaps).
Known gaps:
Each script command signals success or failure, and a user should see what failed on the results page.
Add support for IPV6 sockets/addresses
Add support for processing pipelined HTTP requests. It is on in Firefox by default and Coming in Chrome.
An HTTP parser: https://github.com/joyent/http-parser
Azure provides locations that largely do not overlap with EC2 so adding support for running on Azure will open up more geographic locations for testing. The main thing to investigate is if Azure has a similar concept for user data so the agents can self-configure.
http://www.webpagetest.org/forums/showthread.php?tid=11231
Probably some shared code in the optimization checking that is crashing.
Here's fresh URL with updated date params:
While the re-run option is very useful, a very common need (for me, at least) is to rerun the current test with a few modifications to the configuration.
Examples include:
It'll be great if there was a button from a test result that opened the "New Test" screen, but pre-populated all the fields with the details from the original test.
The waterfalls below are for the same page loaded with HTTP and SPDY.
The page contains several images that are lazyloaded using JS, they appear in the HTTP waterfall but not the SPDY one
HTTP
http://www.webpagetest.org/result/130517_BG_11df71dd27c2f03d6d5806f8de22ca7a/
SPDY
http://www.webpagetest.org/result/130517_3F_ee0485bff7680fdbb909c84995e136f2/
The latest wptdriver which included the change in end state reporting for user timing support appears to have broken the navigation timing reporting.
We harvest screen shots from WPT and then visually compare them. It would be nice if we could specify an arbitrary aspect ratio for the browser. We would then use this to be able to get full page screen shots so there is no "below the fold".
Similar to tracert
Allow for pcap files to be uploaded and automate converting them to HAR's
Increase the number of simultaneous videos from 9 to 25
(moved from Google Code - https://code.google.com/p/webpagetest/issues/detail?id=8 )
Could be related to http://code.google.com/p/webpagetest/issues/detail?id=56
So far there have been 2 (possibly 3) reports of tests completing without successful results on machines that have zlib and php 5.3 (the only expected possible conflicts). Possible that the zip code isn't working correctly on all platforms?
One user switched from centos to ubuntu and it started working.
Add a check to the expires check that sees when a resource was last modified relative to the expires.
From webperfdays London 2012 - http://www.stevesouders.com/blog/2012/10/09/webperfdays-performance-tools/
Particularly for scripts where known async snippets are available.
Suppose I ran webpagetest a month ago, and run it again today. I want to see what changed, so that I can fix any regressions.
Expose bulk testing on the public instance but have it require API keys for usage.
Create a Chrome extension for interactively testing WPT scripts (mostly just the navigation and form filling commands).
Add support for tracking socket-level connection errors to wptdriver. Right now only requests that make it far enough to send the http request out are being tracked.
HTTP Auth is behaving inconsistently - http://www.webpagetest.org/forums/showthread.php?tid=12358
http://bigqueri.es/t/whats-the-web-page-speed-in-kbps/42/9
The flv request for http://www.infinitydownline.com/ continues for 60 seconds but the fully loaded is reported as 11 seconds. See if it has something to do with the code that caps the stored data to no more than 1MB (activity should continue to be tracked).
http://www.webpagetest.org/forums/showthread.php?tid=11003
Looks like the current method may not work for Ajax requests.
Chrome and Firefox script commands will not follow an href if clicked because the click event itself is not enough to trigger it. It works in IE because we use a different mechanism for triggering the click.
First time I have seen it but the chrome agent appears to have started measurement a full 20 seconds before actually navigating: http://www.webpagetest.org/result/120330_GT_3SFPT/
Forum thread : http://www.webpagetest.org/forums/showthread.php?tid=10949
(reported by leizlmae on Google Code)
What steps will reproduce the problem?
Run test on http://www.trutv.com/video/most-shocking/worst-burglar-ever.html
What is the expected output? What do you see instead?
Occasionally the test runs as expected, but more often than not the test finishes and only has the first view data displayed.
What version of the product are you using? On what operating system?
I'm using the instance on WebPageTest.org
Please provide any additional information below.
I've re-run the test multiple times, probably 6 or 7 at this point, and only twice did I come up with the expected first and repeat view results.
After we support HAR files natively, add support for importing existing HAR files through the UI and API.
When resources are blocked by pagetest it would be helpful to be able to see what resources were blocked instead of them just disappearing from the waterfall.
(migrated from Google Code - https://code.google.com/p/webpagetest/issues/detail?id=5)
Generate a document that explains what is done right and what can be improved based on a webpagetest run. The report should be comprehendible to management, so that someone improving performance can easily show the result of their work to their boss.
Deciding what to say in this report is tricky. Might test by showing a report to a project manager who understands the web, but is not a coder.
Where possible, keep track of the time a request was waiting for an available connection before being issued.
Add support for decoding SPDY streams into individual requests. Optimally this will also include enhancing the connection view to support concurrent streams on a given connection (possibly using connection.stream for the connection ID's)
Request data is missing for HTTPS requests for steps other than the first step in a multi-step test. http://www.webpagetest.org/forums/showthread.php?tid=12298
Migrate from the tab-delimited results files to HAR files for the test results (with all data from all of the runs in a single compressed HAR file).
This will significantly reduce the number of files for storing the results and should also reduce the disk space required.
Once we can natively operate on HAR files then importing them will also be trivial.
This will require extending the HAR spec to support the data that we capture that is not already part of the spec.
From the perspective of the code for loading the results, the loader routines are already centralized so we can make them capable of dealing with both file types.
Right now videos are rendered on client machines using a combination of avisynth and x264. This allows for a lot of flexibility in creating video templates but it is largely unused. Instead, we can render the individual video frames as png files on the server and use ffmpeg (or x264) directly and render the videos 100% on the server.
Would probably make sense to spawn it as a background process that writes progress information so that the UI could update the user as the video is rendered.
http://www.webpagetest.org/forums/showthread.php?tid=11141
Possibly a problem when the there is no top-level navigation.
Apache provides an option to control gzip compression level:
http://httpd.apache.org/docs/2.0/mod/mod_deflate.html#deflatecompressionlevel
DeflateCompressionLevel 1 (fastest compression) - 9 (best compression) - default is 6.
I think we could add a test to check if resources are gzip using highest possible level. Believe or not, but someone in my team changed the config to 1 and this issue existed not noticed for around 2 years!
The different for an example javascript file minified using yui is:
478969 original.js
182607 original.js-fast.gz
157171 original.js-6.gz
156894 original.js-best.gz
So the diff between 6 and 9 is not much (277b, 0.2%), the diff between 1 and 9 is significant (25k, 14%).
Elipsis are missing from the middle of a waterfall if requests are omitted from the middle.
Test labels are very useful, but it's very common that you either forget to set them when submitting a test or only realize you want one after the fact.
It'll be great to allow users to edit the labels of tests submitted by them after the test is done, even multiple times.
WPT has a great feature that automatically hides devices that haven't connected in a while, to keep them from accumulating a large backlog and frustrate users.
Relayed locations don't benefit from that, and will show as live even if they've been dead for a while.
The auto-hide functionality should be expanded to include relayed locations.
On a similar note, the "time since last check" for relayed locations should also be available through the checklocations.php and other scripts to allow users of the API identify a location is inactive too.
Implementation note: Periodically in the getwork.php cron support we should connect to all remote locations and fetch the "last check" information and populate the local .tm files. Everything else should automatically work once that is in place.
Update frequency does not need to be more than every 15 minutes since the threshold is 30-60 minutes but it wouldn't be a bad idea to do it a little more frequently (say every 5 minutes). We could potentially grab the backlog at the same time so we can provide some feedback on overloaded locations.
I was playing with server-push while doing some SPDY experiments and noticed that the pushed resources don't appear in the waterfall.
Waterfall without pushed resources:
http://www.webpagetest.org/result/130517_3F_ee0485bff7680fdbb909c84995e136f2/
Waterfall with CSS resources pushed
http://www.webpagetest.org/result/130518_6H_03bfb4a119d760d564519705b425feb8/
Unclear whether this is due to Chrome Debugger API or WPT but will dig into it a bit more.
FYI if you want to extend your ability to collect js-errors to firefox there is and extentsion to do so.
http://mguillem.wordpress.com/2011/10/11/webdriver-capture-js-errors-while-running-tests/
https://github.com/mguillem/JSErrorCollector
Crawl full site looking for resources and provide aggregate report that focuses on biggest wins across pages.
Probably limited to private instances
Allow logged-in users to store some customizations:
Somewhere after Firefox 18 the ability to inspect HTTPS traffic stopped working (looks like nspr is no longer being used)
Add support for validating the returned document by running a regex against the HTML of the constructed DOM
Cancel requests are not currently relayed to the remote server.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.