GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
LWPx::TimedHTTP(3) User Contributed Perl Documentation LWPx::TimedHTTP(3)

LWPx::TimedHTTP - time the different stages of an HTTP request

    # do the work for you
    use LWP::UserAgent;                                                                                                                 
    use LWPx::TimedHTTP qw(:autoinstall);                                                                                     

    # now just continue as normal                                                                                                               
    my $ua = LWP::UserAgent->new;                                                                                                        
    my $response = $ua->get("http://thegestalt.org");                                                                                   
    # ... with optional retrieving of metrics (in seconds)
    printf  "%f\n", $response->header('Client-Request-Connect-Time');  


    # or if you don't like magic going on in the background
    use LWP::UserAgent;                                                                                                                 
    use LWP::Protocol;                                                                                                                  
    use LWPx::TimedHTTP;    

    LWP::Protocol::implementor('http',  'LWPx::TimedHTTP');                                                                   

    # or for https ....
    LWP::Protocol::implementor('https', 'LWPx::TimedHTTP::https');

    my $ua = LWP::UserAgent->new;                                                                                                            
    my $response = $ua->get("http://thegestalt.org");                                                                                       
    printf  "%f\n", $response->header('Client-Request-Connect-Time');

This module performs an HTTP request exactly the same as LWP does normally except for the fact that it times each stage of the request and then inserts the results as header.

It's useful for debugging where abouts in a connection slow downs are occuring.

All times returned are in seconds

The time it took to do a DNS lookup on the host.

NOTE: The value of this timing is NOT thread safe since it has to smuggle the data back via a global variable.

The time it took to connect to the remote server

The time it took to transmit the request

Time it took to respond to the request

Time it took to get the data back

Simon Wistow <simon@thegestalt.org>

Based entirely on work by David Carter - this module is a little light frobbing and some packaging of code he posted to the libwww-perl mailing list in response to one of my questions.

His code was, in turn, based on LWP::Protocol::http by Gisle Aas which is distributed as part of the libwww package.

(c)opyright 2002, Simon Wistow

Distributed under the same terms as Perl itself.

This software is under no warranty and will probably ruin your life, kill your friends, burn your house and bring about the apocalypse

None known

LWP::UserAgent, Time::HiRes
2022-04-08 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.