Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

소개

wget(1)을 이용해서 웹페이지 응답시간을 측정하는 간단한 프로그램입니다. 이 프로그램은 zenoss(:12)에서 사용할 수 있도록 구성되어 있습니다.
  • -p 옵션을 이용하면, 페이지에 포함된, 이미지, 사운드 객체들까지 모두 읽어오게 된다.
  • wget 의 표준에러(:12)을 분석하기 위해서 표준입력(:12)으로 재지향(:12) 했다.
  • wget 메시지를 분석하기 위해서, 간단한 정규표현(:12)식을 사용했다.
  • gettimeofday 함수를 이용해서, 시간을 검사했다.
    #!/usr/bin/perl
    use Time::HiRes qw(gettimeofday);
    
    $argnum = $# + 1;
    if ($argnum < 1)
    {
      print "Usage : $0 [URL]\n";
      exit(0);
    }
    
    $URL = @ARGV[0];
    $MSG = @ARGV[1];
    
    my($sec, $msec) = gettimeofday();
    open(FD,"wget -p $URL -O /tmp/test.html 2>&1 |") || die "Error";
    
    $status = 1;
    while($line = <FD>)
    {
      if($line =~ m/failed:/)
      {
        $status = 0;
      }
      if ($line =~ m/ERROR/)
      {
        $status = 0;
      }
    }
    
    my($csec, $cmsec) = gettimeofday();
    if ($status)
    {
      print "HTTP GET OK|time=",($csec - $sec) + ($cmsec/1000000 - $msec/1000000),"\n";
    }
    else
    {
      print "HTTP GET FAILED <$MSG> |time=0\n";
    }