Forum Discussion
Sam_12987
Nimbostratus
Apr 03, 2008Firebug for Firefox a scale down tool
Firebug addon for Firefox is a quick tool to measure performance, do you guys think its any way close to http watch?
7 Replies
- Colin_Walker_12Historic F5 AccountI've not done any extensive testing, and certainly not side-by-side tests to compare the two, but from what I understand and my limited experience with the add-on, it seems pretty reliable.
What do you mean by "close to http watch"? I'm not quite sure in what way you're comparing the two.
Colin - Sam_12987
Nimbostratus
Http watch is currently used in two ways
1)Application Performance measuring tool with and without bigip in the field for Proof Of Concept(POC)
2)and as a Trouble shooting tool for web application when developing iRules
Http watch is not a free tool and hence most of the end users/partner SE cannot use this and relies on F5 FSE for the same
Where I wanted to check if firebug can be an alternative to HTTP watch - Mike_Lowell_108Historic F5 AccountI haven't tried Firebug. As an alternative for HttpWatch, "Live HTTP Headers" seems popular. My favorite is "Tamper Data" (I don't actually use it for tampering, simply for it's presentation of the data). Tamper Data has a mode to generate Gantt charts at least vaguely similar to Firebug.
IBM Page Detailer seems to still be available for download, too, if the charting stuff is all you're after.
On the general topic of measuring web page performance using FireFox, I suggest checking out iMacros (in particular the "Stopwatch" example), or for less formal performance measurement, Fasterfox includes a page load timer in the status bar which I've found to be handy.
Last but not least, if you find a customer that wants to keep a close eye on their performance in a more formal way, services like Gomez or Keynote can definitely generate some pretty reports. :) They also have 'on demand' modes where you just type in a URL for one-off testing (if you have an account with them...). - hoolio
Cirrostratus
Some additional ideas...
Fiddler (www.fiddlertool.com) is a free interception proxy which allows you to get pretty complete details on HTTP requests sent by the browser through it. You can get some performance stats as well. If you want to modify requests, you can use a free interception proxy like BURP (www.portswigger.net). BURP allows you to modify any component of an HTTP request, whereas TamperData only allows you to change POST parameters/values.
Aaron - Mike_Lowell_108Historic F5 AccountThese kind of tools are very nice for some things, but I don't use them very often. I guess I'm fortunate in that I tend to have more than 1 BIG-IP nearby so I can use another BIG-IP as the proxy to collect stats and modify traffic. :)
I have an iRule that logs essentially every major iRule parameter during the events I commonly use. It breaks out the traffic by protocol (Ethernet, IP, TCP, HTTP) so it can be somewhat vaguely readable while presenting a bunch of data. The primary use is for debugging so it outputs everything at every step -- more than just stats (the MAC addresses and IP's and ports at every stage...since they can definitely change if you're using tricky iRules!).
I've pasted a partial example of the output. This shows just the HTTP_RESPONSE event, but the same sort of stuff is printed in every event it's available
-------- START: rule_log_requests --------
client { 172.16.100.254:54622 -> 172.16.100.100:80 }
server { 172.16.200.250:54622 -> 172.16.200.1:80 }
ethernet { 00:50:56:c0:00:03 -> 00:50:56:83:0a:f4 tag 50 qos 0 }
*200 1.1 - REDIR 0, Content-Length 1456, Transfer-Encoding
*TCP MSS(1460) BW(0) RTT(2748) OFFSET(0)
*IP TOS 0, HOPS 0, TTL 64, PKTS_IN 3, PKTS_OUT 3, BYTES_IN 1654, BYTES_OUT 353
*HTTP HOST , KEEPALIVE 1, REQ_NUM 1
-------- END: rule_log_requests --------
For monitoring type stuff I tend to use time-conditional iRule log statements (i.e. "this request is taking too long") like the example in Code Share / forums. Or for counter-type stuff (like bucketizing stats) I've found the stats profile stuff to be pretty handy.
Below is an example with stats profiles that does buckets for file type (cached/not cached) and "visitors" based on a lame cookie check. The same sort of thing works for buckets of response time, size, etc.
----- START: my_stats_irule -----
profile stats my_stats_profile {
defaults from stats
field1 cfm
field2 htm
field3 asp
field4 img
field5 css
field6 js
field7 pdf
field8 swf
field9 other
field10 cache_cfm
field11 cache_htm
field12 cache_asp
field13 cache_img
field14 cache_css
field15 cache_js
field16 cache_pdf
field17 cache_swf
field18 cache_other
field19 visitors
}
rule my_stats_irule {
when HTTP_REQUEST {
switch -glob [HTTP::path] {
"*.cfm" { STATS::incr my_stats_profile cfm }
"*.html" -
"*.htm" { STATS::incr my_stats_profile htm }
"/" -
"*.aspx" -
"*.asp" { STATS::incr my_stats_profile asp }
"*.jpeg" -
"*.jpg" -
"*.gif" { STATS::incr my_stats_profile img }
"*.css" { STATS::incr my_stats_profile css }
"*.js" { STATS::incr my_stats_profile js }
"*.pdf" { STATS::incr my_stats_profile pdf }
"*.swf" { STATS::incr my_stats_profile swf }
default { STATS::incr my_stats_profile other }
}
set needs_cookie 1
if { [HTTP::cookie exists "myCNT"] } {
set needs_cookie 0
}
}
when HTTP_RESPONSE {
if { $needs_cookie == 1 } {
STATS::incr my_stats_profile visitors
HTTP::cookie insert name "myCNT" value "1"
}
}
when CACHE_REQUEST {
switch -glob [HTTP::uri] {
"*.cfm" { STATS::incr my_stats_profile cache_cfm }
"*.html" -
"*.htm" { STATS::incr my_stats_profile cache_htm }
"/" -
"*.aspx" -
"*.asp" { STATS::incr my_stats_profile cache_asp }
"*.jpeg" -
"*.jpg" -
"*.gif" { STATS::incr my_stats_profile cache_img }
"*.css" { STATS::incr my_stats_profile cache_css }
"*.js" { STATS::incr my_stats_profile cache_js }
"*.pdf" { STATS::incr my_stats_profile cache_pdf }
"*.swf" { STATS::incr my_stats_profile cache_swf }
default { STATS::incr my_stats_profile cache_other }
}
}
}
----- END: my_stats_irule -----
For everything else there's tcpdump with offline analysis through tcptrace. :) - Colin_Walker_12Historic F5 AccountVery nice. Thanks Mike, I'm sure that'll be handy to more than one person. Feel like adding it to the codeshare? If not, I will, if you don't mind. ;)
Colin - Colin_Walker_12Historic F5 AccountAdded a non-stats profile enabled version: http://devcentral.f5.com/wiki/default.aspx/iRules/In_Depth_Traffic_Analysis_via_iRule.html
Thanks much Mike. That's going to come in handy. ;)
Colin
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
