diff options
author | Niko Tyni <ntyni@iki.fi> | 2005-02-13 20:23:04 +0100 |
---|---|---|
committer | Niko Tyni <ntyni@iki.fi> | 2005-02-13 20:23:04 +0100 |
commit | 6d76521656e91daa160bc8019828f1b68d7aa5dc (patch) | |
tree | aaa27615a0702942fa1606d9a5c89f0a3547467c /lib/Smokeping/probes/EchoPingIcp.pm | |
parent | 6dba1afbe4b475a7d34f5ef867b7b37291cd1484 (diff) | |
download | smokeping-6d76521656e91daa160bc8019828f1b68d7aa5dc.tar.gz smokeping-6d76521656e91daa160bc8019828f1b68d7aa5dc.tar.xz |
Moved probes, matchers and ciscoRttMonMIB modules to lib/Smokeping.
Diffstat (limited to 'lib/Smokeping/probes/EchoPingIcp.pm')
-rw-r--r-- | lib/Smokeping/probes/EchoPingIcp.pm | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/lib/Smokeping/probes/EchoPingIcp.pm b/lib/Smokeping/probes/EchoPingIcp.pm new file mode 100644 index 0000000..0b781de --- /dev/null +++ b/lib/Smokeping/probes/EchoPingIcp.pm @@ -0,0 +1,88 @@ +package Smokeping::probes::EchoPingIcp; + +=head1 301 Moved Permanently + +This is a Smokeping probe module. Please use the command + +C<smokeping -man Smokeping::probes::EchoPingIcp> + +to view the documentation or the command + +C<smokeping -makepod Smokeping::probes::EchoPingIcp> + +to generate the POD document. + +=cut + +use strict; +use base qw(Smokeping::probes::EchoPing); +use Carp; + +sub pod_hash { + return { + name => <<DOC, +Smokeping::probes::EchoPingIcp - an echoping(1) probe for SmokePing +DOC + overview => <<DOC, +Measures ICP (Internet Cache Protocol, spoken by web caches) +roundtrip times for SmokePing. +DOC + notes => <<DOC, +The I<fill>, I<size> and I<udp> EchoPing variables are not valid. +DOC + authors => <<'DOC', +Niko Tyni <ntyni@iki.fi> +DOC + see_also => <<DOC, +EchoPing(3pm), EchoPingHttp(3pm) +DOC + } +} + +sub _init { + my $self = shift; + # Icp doesn't fit with filling or size + my $arghashref = $self->features; + delete $arghashref->{size}; + delete $arghashref->{fill}; +} + +sub proto_args { + my $self = shift; + my $target = shift; + my $url = $target->{vars}{url}; + + my @args = ("-i", $url); + + return @args; +} + +sub test_usage { + my $self = shift; + my $bin = $self->{properties}{binary}; + croak("Your echoping binary doesn't support ICP") + if `$bin -t1 -i/ 127.0.0.1 2>&1` =~ /not compiled|usage/i; + $self->SUPER::test_usage; + return; +} + +sub ProbeDesc($) { + return "ICP pings using echoping(1)"; +} + +sub targetvars { + my $class = shift; + my $h = $class->SUPER::targetvars; + delete $h->{udp}; + delete $h->{fill}; + delete $h->{size}; + return $class->_makevars($h, { + _mandatory => [ 'url' ], + url => { + _doc => "The URL to be requested from the web cache.", + _example => 'http://www.example.org/', + }, + }); +} + +1; |