In a previous post, I showed how to insert timers between steps in an http request to do some basic profiling. Peter Bengtsson contacted me with some enhancements to the original code. I took his enhancements and added some more of my own to create a neat little web monitoring utility.
It uses Python's httplib to send a GET requests at regular intervals to a URL and adds some timing instrumentation between each step of the request/response. Results are printed to the console.
get it here:
http://code.google.com/p/corey-projects/source/browse/trunk/python2/url_timer.py
to use, give it a site and interval:
> python url_timer.py www.goldb.org 5
... or an https/ssl url and an interval:
> python url_timer.py https://ssl.sonic.net/ 5
sample output:
>python url_timer.py www.goldb.org 5 request sent response received content transferred size ------------ ----------------- ------------------- ---- 0.0040 (0.0040) 0.2830 (0.2830) 0.2846 (0.2846) 9810 bytes (0.010 MB total) 0.0009 (0.0024) 0.2790 (0.2810) 0.2803 (0.2825) 9810 bytes (0.020 MB total) 0.0009 (0.0019) 0.2841 (0.2821) 0.2854 (0.2834) 9810 bytes (0.029 MB total) 0.0010 (0.0017) 0.2775 (0.2809) 0.2789 (0.2823) 9810 bytes (0.039 MB total) 0.0008 (0.0015) 0.2794 (0.2806) 0.2820 (0.2822) 9810 bytes (0.049 MB total) 0.0009 (0.0014) 0.2845 (0.2813) 0.2859 (0.2828) 9810 bytes (0.059 MB total) 0.0010 (0.0013) 0.2796 (0.2810) 0.2809 (0.2826) 9810 bytes (0.069 MB total) 0.0009 (0.0013) 0.2798 (0.2809) 0.2808 (0.2823) 9810 bytes (0.078 MB total) 0.0009 (0.0012) 0.2791 (0.2807) 0.2803 (0.2821) 9810 bytes (0.088 MB total) ...
1 comment:
If your content download takes a long time, it may be python's fault, not your web server:
http://bugs.python.org/issue6838
Make sure you're using 2.6.3+
Post a Comment