Re: [Cerowrt-devel] [Bloat] blip: a tool for seeing internet latency with javascript
This is indeed a cool hack. I was astonished for a moment, because it was a bedrock belief that you can't send pings from Javascript. And in fact, that is still true. Apenwarr's code sends short HTTP queries of the format shown below to each of two hosts: http://gstatic.com/generate_204 http://apenwarr.ca/blip/ The Blip tool shows ~60-70ms for the gstatic host, and ~130 msec for the latter. Ping times are ~52 msec and 125msec, respectively. These times seem to track response times by my eye (no serious analysis) to load both on my primary (bloated) router and CeroWrt. Still a cool hack. Rich - HTTP Request Response for typical blip ping OPTIONS /generate_204 HTTP/1.1 Host: gstatic.com Connection: keep-alive Access-Control-Request-Method: GET Origin: http://gfblip.appspot.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31 Access-Control-Request-Headers: accept, origin, x-requested-with Accept: */* Referer: http://gfblip.appspot.com/ Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 HTTP/1.1 204 No Content Content-Length: 0 Content-Type: text/html; charset=UTF-8 Date: Sun, 28 Apr 2013 12:37:17 GMT Server: GFE/2.0 On Apr 26, 2013, at 7:04 PM, Dave Taht dave.t...@gmail.com wrote: Apenwarr has developed a really unique tool for seeing latency and packet loss via javascript. I had no idea this was possible: http://apenwarr.ca/log/?m=201304#26 -- Dave Täht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html ___ Bloat mailing list bl...@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/bloat ___ Cerowrt-devel mailing list Cerowrt-devel@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cerowrt-devel
Re: [Cerowrt-devel] [Bloat] blip: a tool for seeing internet latency with javascript
At home with latest cero, I'm getting results similar to Rich. I'm wondering how this will look tomorrow when I run it at company network, which is incredibly complex WAN path, proxied, with things like riverbed and checkpoint along the way. Maciej On Sun, Apr 28, 2013 at 4:56 PM, Rich Brown richb.hano...@gmail.com wrote: This is indeed a cool hack. I was astonished for a moment, because it was a bedrock belief that you can't send pings from Javascript. And in fact, that is still true. Apenwarr's code sends short HTTP queries of the format shown below to each of two hosts: http://gstatic.com/generate_204 http://apenwarr.ca/blip/ The Blip tool shows ~60-70ms for the gstatic host, and ~130 msec for the latter. Ping times are ~52 msec and 125msec, respectively. These times seem to track response times by my eye (no serious analysis) to load both on my primary (bloated) router and CeroWrt. Still a cool hack. Rich - HTTP Request Response for typical blip ping OPTIONS /generate_204 HTTP/1.1 Host: gstatic.com Connection: keep-alive Access-Control-Request-Method: GET Origin: http://gfblip.appspot.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31 Access-Control-Request-Headers: accept, origin, x-requested-with Accept: */* Referer: http://gfblip.appspot.com/ Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 HTTP/1.1 204 No Content Content-Length: 0 Content-Type: text/html; charset=UTF-8 Date: Sun, 28 Apr 2013 12:37:17 GMT Server: GFE/2.0 On Apr 26, 2013, at 7:04 PM, Dave Taht dave.t...@gmail.com wrote: Apenwarr has developed a really unique tool for seeing latency and packet loss via javascript. I had no idea this was possible: http://apenwarr.ca/log/?m=201304#26 -- Dave Täht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html ___ Bloat mailing list bl...@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/bloat ___ Cerowrt-devel mailing list Cerowrt-devel@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cerowrt-devel ___ Cerowrt-devel mailing list Cerowrt-devel@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cerowrt-devel
Re: [Cerowrt-devel] [Bloat] blip: a tool for seeing internet latency with javascript
Actually, using HTTP 1.1 GET that generates a single packet in each direction for a ping is quite reasonable. In fact, it is better for measuring actual path latencies, since ICMP pings *could* be discriminated against in a router along the way (in the old days people in the routing community suggested that ICMP should be diverted off of the fast path to avoid degrading the user experience). I've been using this technique to measure bufferbloat-induced delays on Phones and Android phones for quite a while. I have a couple of servers that use nginx status handlers to generate a short GET response without touching files as my targets. Since it depends on HTTP 1.1's re-use of the underlying TCP connection for successive GET commands, it's a bit fragile. Javascript can be made to do a lot of performance testing - you can access both TCP and DNS protocols from the browser, so if you play cards right, you can cause single TCP exchanges and single UDP exchanges to happen with cooperative servers (web servers using HTTP 1.1 and DNS resolvers using uncacheable UDP name lookups). On Sunday, April 28, 2013 10:56am, Rich Brown richb.hano...@gmail.com said: This is indeed a cool hack. I was astonished for a moment, because it was a bedrock belief that you can't send pings from Javascript. And in fact, that is still true. Apenwarr's code sends short HTTP queries of the format shown below to each of two hosts: http://gstatic.com/generate_204 http://apenwarr.ca/blip/ The Blip tool shows ~60-70ms for the gstatic host, and ~130 msec for the latter. Ping times are ~52 msec and 125msec, respectively. These times seem to track response times by my eye (no serious analysis) to load both on my primary (bloated) router and CeroWrt. Still a cool hack. Rich - HTTP Request Response for typical blip ping OPTIONS /generate_204 HTTP/1.1 Host: gstatic.com Connection: keep-alive Access-Control-Request-Method: GET Origin: http://gfblip.appspot.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31 Access-Control-Request-Headers: accept, origin, x-requested-with Accept: */* Referer: http://gfblip.appspot.com/ Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 HTTP/1.1 204 No Content Content-Length: 0 Content-Type: text/html; charset=UTF-8 Date: Sun, 28 Apr 2013 12:37:17 GMT Server: GFE/2.0 On Apr 26, 2013, at 7:04 PM, Dave Taht dave.t...@gmail.com wrote: Apenwarr has developed a really unique tool for seeing latency and packet loss via javascript. I had no idea this was possible: http://apenwarr.ca/log/?m=201304#26 -- Dave Täht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html ___ Bloat mailing list bl...@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/bloat ___ Cerowrt-devel mailing list Cerowrt-devel@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cerowrt-devel ___ Cerowrt-devel mailing list Cerowrt-devel@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/cerowrt-devel