Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There

...

are

...

two

...

Raw

...

Data

...

Formats

...

for

...

the

...

data

...

produced

...

by

...

the

...

monitor,

...

the

...

early

...

one

...

(no

...

longer

...

created

...

but

...

still

...

in

...

the

...

archive):

...


Monitor_Host_

...

Name       Monitor_Addr   Remote__Name  Remote_Addr   Bytes Time      Xmt Rcv Min Avg Max
minos.slac.stanford.edu

...

134.79.196.100

...

www.lbl.

...

gov   128.3.7.

...

14    100   870393602 10  10  6   18  125
minos.slac.stanford.edu

...

134.79.196.100

...

ns1.cebaf.gov

...

129.57.32.100

...

100   870393602 10  10  74  93  125

Where the columns are separated by a single space.
The Bytes can be 100 or 1000 (sometimes it will be less than 100, in which case treat as 100), it is
the number of bytes in each ping packet.
Time is the Unix Epochal time.
Xmt is the number of ping packets sent.
Rcv is the number of ping packets received.
Min is the minimum response time for the packets sent (in milliseconds).
Avg is the average response time for the packets sent.
Max is the maximum response time for the packets sent.

There should always be > 7 tokens in the line.  If no response to the
pings were received then there will only be 8 tokens in the line
and Rcv (the 8th token) will be 0.

Early versions of the data collection program lost the Remote_Addr
when the remote site was not reachable.  In this case the data only
contains 6 tokens.  It should either be ignored or treated as
remote site unreachable.

The more recent one looks like:

# pinger.slac.stanford.edu

...

134.79.240.30

...

ping.slac.stanford.edu

...

134.79.18.21

...

100

...

1152489601

...

10

...

10

...

0.255

...

0.341

...

0.467

...

0

...

1

...

2

...

3

...

4

...

5

...

6

...

7

...

8

...

9

...

0.287

...

0.380

...

0.467

...

0.391

...

0.327

...

0.387

...

0.291

...

0.332

...

0.255

...

0.299

...

The

...

first

...

11

...

fields

...

are

...

the

...

same

...

as

...

before.

...

Then

...

for

...

each

...

ping

...

response

...

received

...

the

...

Sequence

...

number

...

is

...

recorded,

...

followed

...

by

...

the

...

RTT

...

for

...

each

...

ping

...

Note

...

that

...

though

...

one

...

normally

...

asks

...

for

...

10

...

pings

...

to

...

be

...

sent

...

since

...

it

...

uses

...

the

...

default

...

ping

...

on

...

Linux

...

the

...

deadline

...

feature

...

of

...

Linux

...

pings

...


means

...

up

...

to

...

30

...

pings

...

can

...

be

...

sent

...

while

...

it

...

awaits

...

to

...

hear

...

10

...

responses.

...

Also

...

funny

...

things

...

happen

...

when

...

the

...

pinged

...

host

...

returns

...

duplicated

...

ping

...

responses.

...

This

...

needs

...

to

...

be

...

documented.

...

Wiki Markup
Occasionally the data is mangled so it is a good idea to validate each line.  A typical piece of perl to do this is:
    my (@field)=split /\s+/, $line;   #line contains a line of ping data.
    #We choose to look at the validity of something that should be in the line as far down the line as possible.
    #A typical line appears as:
    #monitor.niit.edu.pk 203.99.50.204 www.carnet.hr 161.53.160.25 100 1171756802 10 10 223.323 224.978 226.805 1 2 3 4 5 6 7 8 9 10 226 223 226 223 223 226 223 224 226 225
    next unless(defined($field\[6\]) && $field\[6\]=~/\d/); #$field\[6\]=packets sent, skip line if not right
    #Also validate the rough correctness of the IP address
    if(\!defined($field\[1\]) \|\| $field\[1\]\!~/\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}\.\d\{1,3\}/ ) \{next;\}
    if(\!($field\[4\]=~/^\d+$/) \{next\}#Verify number of bytes is a number, else skip line
    #Kludge to allow default 56Byte pings to be treated as 100Byte pings
&nbsp;&nbsp;&nbsp; if($field\[4\] < 100) {$field\[4\]=100;}

...