Re: [ns] cbr packet loss & or packet count scripts in perl>>>>

2007-09-06 Thread Mohammad Haseeb Zafar

just add following in your tcl script to generate new trace format
# use new trace file format
$ns_ use-newtrace 



-Original Message-
From: uknown noname [mailto:[EMAIL PROTECTED]
Sent: Thu 06/09/2007 1:15 PM
To: uknown noname; Mohammad Haseeb Zafar; Sayeed Ahmed; JEHD MAHDI; ns2 mailing
Subject: Re: [ns] cbr packet loss & or packet count scripts in perl>>>>
 
Hi.. probably i have using a wrong out.tr file where currently im using 
/tcl/ex/wireless.tcl. i'm notice this will generated out.tr with old trace 
format. is there any out.tr with new trace format for dsr that i can used with 
this cript?
many thanks..

uknown noname <[EMAIL PROTECTED]> wrote: 
hello...
i try to implement this script but i've got an error
(FILENAME=../out.tr FNR=24960) fatal: division by zero attempted

looks like this line
delay=sum/recvnum
give an error when 'recvnum' is 0, where recvnum++ are not functioning. any 
idea?

Mohammad Haseeb Zafar  wrote: 
Plz see the following awk scripts that calcualate the following
 Performance Metrics Used
 Routing Overhead
 Normalize Routing Load
 Packet Delivery Fraction
 Average End to End delay
 Jitter
 Drop Packets
 Drop Bytes
 Throughput

These scripts work with new trace format and DSR protocol. Make changes for 
other protocols.

As an example, if you want to calculate throughput,

awk -f throughput.awk output.tr

  
 # ==throughput.awk 
  BEGIN {
 recvdSize = 0
 startTime = 1e6
 stopTime = 0
}
  {
 # Trace line format: normal
 if ($2 != "-t") {
  event = $1
  time = $2
  if (event == "+" || event == "-") node_id = $3
  if (event == "r" || event == "d") node_id = $4
  flow_id = $8
  pkt_id = $12
  pkt_size = $6
  flow_t = $5
  level = "AGT"
 }
 # Trace line format: new
 if ($2 == "-t") {
  event = $1
  time = $3
  node_id = $5
  flow_id = $39
  pkt_id = $41
  pkt_size = $37
  flow_t = $45
  level = $19
 }
   # Store start time
 if (level == "AGT" && (event == "+" || event == "s") && pkt_size >= 512) {
  if (time < startTime) {
   startTime = time
  }
 }
   # Update total received packets' size and store packets arrival time
 if (level == "AGT" && event == "r" && pkt_size >= 512) {
  if (time > stopTime) {
   stopTime = time
  }
  # Rip off the header
  hdr_size = pkt_size % 512
  pkt_size -= hdr_size
  # Store received packet's size
  recvdSize += pkt_size
 }
  }
  END {
 printf("Average Throughput[kbps] = %.2f\t\t 
StartTime=%.2f\tStopTime=%.2f\n",(recvdSize/(stopTime-startTime))*(8/1000),startTime,stopTime)
}
  
  
  
#  = parameters.awk 
  BEGIN {
 sends=0;
 recvs=0;
 routing_packets=0.0;
 droppedBytes=0;
 droppedPackets=0;
 highest_packet_id =0;
 sum=0;
 recvnum=0;
   }
  {
 time = $3;
 packet_id = $41;
   #= CALCULATE PACKET DELIVERY  FRACTION=
 if (( $1 == "s") &&  ( $35 == "cbr" ) && ( $19=="AGT" ))   {  sends++; }
 if (( $1 == "r") &&  ( $35 == "cbr" ) && ( $19=="AGT" ))   {  recvs++; }
   #= CALCULATE DELAY 
 if ( start_time[packet_id] == 0 )  start_time[packet_id] = time;
 if (( $1 == "r") &&  ( $35 == "cbr" ) && ( $19=="AGT" )) {  
end_time[packet_id] = time;  }
 else {  end_time[packet_id] = -1;  }
   #= TOTAL DSR OVERHEAD  
 if (($1 == "s" || $1 == "f") && $19 == "RTR" && $35 =="DSR") routing_packets++;
   #= DROPPED DSR PACKETS 
 if (( $1 == "d" ) && ( $35 == "cbr" )  && ( $3 > 0 ))
 {
  droppedBytes=droppedBytes+$37;
  droppedPackets=droppedPackets+1;
 }
#find the number of packets in the simulation
if (packet_id > highest_packet_id)
  highest_packet_id = packet_id;
}
  END {
  for ( i in end_time )
 {
 start = start_time[i];
 end = end_time[i];
 packet_duration = end - start;
 if ( packet_duration > 0 )  { sum += packet_duration; recvnum++; }
 }
 delay=sum/recvnum;
   NRL = routing_packets/recvs; #normalized routing load = routing load but 
it differ from routing overhead
   PDF = (recvs/sends)*100; #packet delivery ratio[fraction]
   printf("send = %.2f\n",sends);
   printf("recv = %.2f\n",recvs);
   printf("routingpkts = %.2f\n",routing_packets++);
   printf("PDF = %.2f\n",PDF);
   printf("NRL = %.2f\n",NRL);
   printf("Average e-e delay(ms)= %.2f\n",delay*1000);
   printf("No. of dropped data (packets) = %d\n",droppedPackets);
   printf(&q

Re: [ns] cbr packet loss & or packet count scripts in perl>>>>

2007-09-06 Thread uknown noname
event == "-") node_id = $3
  if (event == "r" || event == "d") node_id = $4
  flow_id = $8
  pkt_id = $12
  pkt_size = $6
  flow_t = $5
  level = "AGT"
 }
 # Trace line format: new
 if ($2 == "-t") {
  event = $1
  time = $3
  node_id = $5
  flow_id = $39
  pkt_id = $41
  pkt_size = $37
  flow_t = $45
  level = $19
 }
   # Store packets send time
 if (level == "AGT" && sendTime[pkt_id] == 0 && (event == "+" || event == "s") 
&& pkt_size >= 512) {
  sendTime[pkt_id] = time
 }
   # Store packets arrival time
 if (level == "AGT" && event == "r" && pkt_size >= 512) {
  recvTime[pkt_id] = time
  num_recv++
 }
}
  END {
 # Compute average jitter
 jitter1 = jitter2 = tmp_recv = 0
 prev_time = delay = prev_delay = processed = 0
 prev_delay = -1
 for (i=0; processed
  if(recvTime[i] != 0) {
  tmp_recv++
   if(prev_time != 0) {
delay = recvTime[i] - prev_time
    e2eDelay = recvTime[i] - sendTime[i]
    if(delay < 0) delay = 0
if(prev_delay != -1) {
 jitter1 += abs(e2eDelay - prev_e2eDelay)
 jitter2 += abs(delay-prev_delay)
}
prev_delay = delay
prev_e2eDelay = e2eDelay
   }
   prev_time = recvTime[i]
  }
  processed++
 }
}
  END {
   
   printf("Jitter1 = %.2f\n",jitter1*1000/tmp_recv);
   printf("Jitter2 = %.2f\n",jitter2*1000/tmp_recv);
}
  function abs(value) {
 if (value < 0) value = 0-value
 return value
}


# === end 


-Original Message-
From: [EMAIL PROTECTED] on behalf of Sayeed Ahmed
Sent: Tue 04/09/2007 4:56 PM
To: JEHD MAHDI; ns2 mailing
Subject: Re: [ns] cbr packet loss & or packet count scripts in perl>>>>
 

Hi,
   
  >Hi there I've got a script to analyse packets awk file>>>
   
  Can you please tell from where you get the awk script example I will help 
me a lot.
   
  Thanking you,
   
  Sayeed.
  

JEHD MAHDI  wrote:
  




J Mahdi
Newcastle Upon Tyne
**
My favourite sites:
www.al-islam.com
www.islamspirit.com 
www.troid.org 



From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: cbr packet loss & or packet count 
scripts in perl>>>>Date: Sun, 2 Sep 2007 17:36:47 +


Hi there I've got a script to analyse packets awk file, but it doesn't work, 
but i know that perl scripts would work, any one could help with a similar one 
in perl...cheers


J Mahdi
Newcastle Upon Tyne
**


Are you the Quizmaster? Play BrainBattle with a friend now! 
_
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE


   
-
Shape Yahoo! in your own image.  Join our Network Research Panel today!






My system :
FC 6
2.6.18-1.2869.fc6
ns2.30
   
-
Need a vacation? Get great deals to amazing places on Yahoo! Travel. 



My system :
FC 6
2.6.18-1.2869.fc6
ns2.30
   
-
Choose the right car based on your needs.  Check out Yahoo! Autos new Car 
Finder tool.


Re: [ns] cbr packet loss & or packet count scripts in perl>>>>

2007-09-06 Thread uknown noname
e_id = $5
  flow_id = $39
  pkt_id = $41
  pkt_size = $37
  flow_t = $45
  level = $19
 }
   # Store packets send time
 if (level == "AGT" && sendTime[pkt_id] == 0 && (event == "+" || event == "s") 
&& pkt_size >= 512) {
  sendTime[pkt_id] = time
 }
   # Store packets arrival time
 if (level == "AGT" && event == "r" && pkt_size >= 512) {
  recvTime[pkt_id] = time
  num_recv++
 }
}
  END {
 # Compute average jitter
 jitter1 = jitter2 = tmp_recv = 0
 prev_time = delay = prev_delay = processed = 0
 prev_delay = -1
 for (i=0; processed
  if(recvTime[i] != 0) {
  tmp_recv++
   if(prev_time != 0) {
delay = recvTime[i] - prev_time
e2eDelay = recvTime[i] - sendTime[i]
    if(delay < 0) delay = 0
if(prev_delay != -1) {
 jitter1 += abs(e2eDelay - prev_e2eDelay)
 jitter2 += abs(delay-prev_delay)
}
prev_delay = delay
prev_e2eDelay = e2eDelay
   }
   prev_time = recvTime[i]
  }
  processed++
 }
}
  END {
   
   printf("Jitter1 = %.2f\n",jitter1*1000/tmp_recv);
   printf("Jitter2 = %.2f\n",jitter2*1000/tmp_recv);
}
  function abs(value) {
 if (value < 0) value = 0-value
 return value
}


# === end 


-Original Message-
From: [EMAIL PROTECTED] on behalf of Sayeed Ahmed
Sent: Tue 04/09/2007 4:56 PM
To: JEHD MAHDI; ns2 mailing
Subject: Re: [ns] cbr packet loss & or packet count scripts in perl>>>>
 

Hi,
   
  >Hi there I've got a script to analyse packets awk file>>>
   
  Can you please tell from where you get the awk script example I will help 
me a lot.
   
  Thanking you,
   
  Sayeed.
  

JEHD MAHDI  wrote:
  




J Mahdi
Newcastle Upon Tyne
**
My favourite sites:
www.al-islam.com
www.islamspirit.com 
www.troid.org 



From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: cbr packet loss & or packet count 
scripts in perl>>>>Date: Sun, 2 Sep 2007 17:36:47 +


Hi there I've got a script to analyse packets awk file, but it doesn't work, 
but i know that perl scripts would work, any one could help with a similar one 
in perl...cheers


J Mahdi
Newcastle Upon Tyne
**


Are you the Quizmaster? Play BrainBattle with a friend now! 
_
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE


   
-
Shape Yahoo! in your own image.  Join our Network Research Panel today!






My system :
FC 6
2.6.18-1.2869.fc6
ns2.30
   
-
Need a vacation? Get great deals to amazing places on Yahoo! Travel. 


Re: [ns] cbr packet loss & or packet count scripts in perl>>>>

2007-09-04 Thread Julian Monteiro

ops, the link was splitted, here it goes again:

http://fly.ath.cx/mobidyn/software

On Sep 5, 2007, at 1:12 AM, Julian Monteiro wrote:

>
> Hello Sayeed,
>
> I've another awk NS2 trace file analyzer here:  http://fly.ath.cx/
> mobidyn
> (download the genstats11.awk)
>
> Best regards,
> Julian
>
> On Sep 4, 2007, at 12:56 PM, Sayeed Ahmed wrote:
>
>>
>> Hi,
>>
>>> Hi there I've got a script to analyse packets awk file>>>
>>
>>   Can you please tell from where you get the awk script example
>> I will help me a lot.
>>
>>   Thanking you,
>>
>>   Sayeed.
>>
>>
>> JEHD MAHDI <[EMAIL PROTECTED]> wrote:
>>
>>
>>
>>
>>
>> J Mahdi
>> Newcastle Upon Tyne
>> **
>> My favourite sites:
>> www.al-islam.com
>> www.islamspirit.com
>> www.troid.org
>>
>>
>>
>> From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: cbr packet
>> loss & or packet count scripts in perlDate: Sun, 2 Sep 2007
>> 17:36:47 +
>>
>>
>> Hi there I've got a script to analyse packets awk file, but it
>> doesn't work, but i know that perl scripts would work, any one
>> could help with a similar one in perl...cheers
>>
>>
>> J Mahdi
>> Newcastle Upon Tyne
>> **
>>
>>
>> Are you the Quizmaster? Play BrainBattle with a friend now!
>> _
>> Discover the new Windows Vista
>> http://search.msn.com/results.aspx?q=windows+vista&mkt=en- 
>> US&form=QBRE
>>
>>
>>
>> -
>> Shape Yahoo! in your own image.  Join our Network Research Panel
>> today!
>



Re: [ns] cbr packet loss & or packet count scripts in perl>>>>

2007-09-04 Thread Julian Monteiro

Hello Sayeed,

I've another awk NS2 trace file analyzer here:  http://fly.ath.cx/ 
mobidyn
(download the genstats11.awk)

Best regards,
Julian

On Sep 4, 2007, at 12:56 PM, Sayeed Ahmed wrote:

>
> Hi,
>
>> Hi there I've got a script to analyse packets awk file>>>
>
>   Can you please tell from where you get the awk script example  
> I will help me a lot.
>
>   Thanking you,
>
>   Sayeed.
>
>
> JEHD MAHDI <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> J Mahdi
> Newcastle Upon Tyne
> **
> My favourite sites:
> www.al-islam.com
> www.islamspirit.com
> www.troid.org
>
>
>
> From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: cbr packet  
> loss & or packet count scripts in perlDate: Sun, 2 Sep 2007  
> 17:36:47 +
>
>
> Hi there I've got a script to analyse packets awk file, but it  
> doesn't work, but i know that perl scripts would work, any one  
> could help with a similar one in perl...cheers
>
>
> J Mahdi
> Newcastle Upon Tyne
> **
>
>
> Are you the Quizmaster? Play BrainBattle with a friend now!
> _
> Discover the new Windows Vista
> http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
>
>
>
> -
> Shape Yahoo! in your own image.  Join our Network Research Panel  
> today!



Re: [ns] cbr packet loss & or packet count scripts in perl>>>>

2007-09-04 Thread Mohammad Haseeb Zafar

Plz see the following awk scripts that calcualate the following
 Performance Metrics Used
 Routing Overhead
 Normalize Routing Load
 Packet Delivery Fraction
 Average End to End delay
 Jitter
 Drop Packets
 Drop Bytes
 Throughput

These scripts work with new trace format and DSR protocol. Make changes for 
other protocols.

As an example, if you want to calculate throughput,

awk -f throughput.awk output.tr

  
 # ==throughput.awk 
  BEGIN {
 recvdSize = 0
 startTime = 1e6
 stopTime = 0
}
  {
 # Trace line format: normal
 if ($2 != "-t") {
  event = $1
  time = $2
  if (event == "+" || event == "-") node_id = $3
  if (event == "r" || event == "d") node_id = $4
  flow_id = $8
  pkt_id = $12
  pkt_size = $6
  flow_t = $5
  level = "AGT"
 }
 # Trace line format: new
 if ($2 == "-t") {
  event = $1
  time = $3
  node_id = $5
  flow_id = $39
  pkt_id = $41
  pkt_size = $37
  flow_t = $45
  level = $19
 }
   # Store start time
 if (level == "AGT" && (event == "+" || event == "s") && pkt_size >= 512) {
  if (time < startTime) {
   startTime = time
  }
 }
   # Update total received packets' size and store packets arrival time
 if (level == "AGT" && event == "r" && pkt_size >= 512) {
  if (time > stopTime) {
   stopTime = time
  }
  # Rip off the header
  hdr_size = pkt_size % 512
  pkt_size -= hdr_size
  # Store received packet's size
  recvdSize += pkt_size
 }
  }
  END {
 printf("Average Throughput[kbps] = %.2f\t\t 
StartTime=%.2f\tStopTime=%.2f\n",(recvdSize/(stopTime-startTime))*(8/1000),startTime,stopTime)
}
  
  
  
#  = parameters.awk 
  BEGIN {
 sends=0;
 recvs=0;
 routing_packets=0.0;
 droppedBytes=0;
 droppedPackets=0;
 highest_packet_id =0;
 sum=0;
 recvnum=0;
   }
  {
 time = $3;
 packet_id = $41;
   #= CALCULATE PACKET DELIVERY  FRACTION=
 if (( $1 == "s") &&  ( $35 == "cbr" ) && ( $19=="AGT" ))   {  sends++; }
 if (( $1 == "r") &&  ( $35 == "cbr" ) && ( $19=="AGT" ))   {  recvs++; }
   #= CALCULATE DELAY 
 if ( start_time[packet_id] == 0 )  start_time[packet_id] = time;
 if (( $1 == "r") &&  ( $35 == "cbr" ) && ( $19=="AGT" )) {  
end_time[packet_id] = time;  }
 else {  end_time[packet_id] = -1;  }
   #= TOTAL DSR OVERHEAD  
 if (($1 == "s" || $1 == "f") && $19 == "RTR" && $35 =="DSR") routing_packets++;
   #= DROPPED DSR PACKETS 
 if (( $1 == "d" ) && ( $35 == "cbr" )  && ( $3 > 0 ))
 {
  droppedBytes=droppedBytes+$37;
  droppedPackets=droppedPackets+1;
 }
#find the number of packets in the simulation
if (packet_id > highest_packet_id)
  highest_packet_id = packet_id;
}
  END {
  for ( i in end_time )
 {
 start = start_time[i];
 end = end_time[i];
 packet_duration = end - start;
 if ( packet_duration > 0 )  { sum += packet_duration; recvnum++; }
 }
 delay=sum/recvnum;
   NRL = routing_packets/recvs; #normalized routing load = routing load but 
it differ from routing overhead
   PDF = (recvs/sends)*100; #packet delivery ratio[fraction]
   printf("send = %.2f\n",sends);
   printf("recv = %.2f\n",recvs);
   printf("routingpkts = %.2f\n",routing_packets++);
   printf("PDF = %.2f\n",PDF);
   printf("NRL = %.2f\n",NRL);
   printf("Average e-e delay(ms)= %.2f\n",delay*1000);
   printf("No. of dropped data (packets) = %d\n",droppedPackets);
   printf("No. of dropped data (bytes)   = %d\n",droppedBytes);
   printf("Packet Loss [%]= %.2f  \n", 
(droppedPackets/(highest_packet_id+1))*100);
}

 

#  == jitter.awk 
  BEGIN {
   num_recv=0
 }
  {
 # Trace line format: normal
 if ($2 != "-t") {
  event = $1
  time = $2
  if (event == "+" || event == "-") node_id = $3
  if (event == "r" || event == "d") node_id = $4
  flow_id = $8
  pkt_id = $12
  pkt_size = $6
  flow_t = $5
  level = "AGT"
 }
 # Trace line format: new
 if ($2 == "-t") {
  event = $1
  time = $3
  node_id = $5
  flow_id = $39
  pkt_id = $41
  pkt_size = $37
  flow_t = $45
  level = $19
 }
   # Store packets send time
 if (level == "AGT" && sendTime[pkt_id] == 0 && (event == "+" || event == "s") 
&& pkt_size >= 512) {
  sendTime[pkt_id] = time
 }
   # Store packets arrival time
 if (level == "AGT" && event == "r" && pkt_size >= 512) {
  recvTime[pkt_id] = time
  num_recv++
 }
}
  END {
 # Compute average jitter
 jitter1 = jitter2 = tmp_recv = 0
 prev_time = delay = prev_delay = processed = 0
 prev_delay = -1
 for (i=0; processed>>>
 

Hi,
   
  >Hi there I've got a script to analyse packets awk file>>>
   
  Can you please tell from where you get the awk script example I will help 
me a lot.
   
  Thanking you,
   
  Sayeed.
  

JEHD MAHDI <[EMAIL PROTECTED]> wrote:
  




J Mahdi
Newcastle Upon Tyne
**
My favourite sites:
www.al-islam.com
www.islamspirit.com 
www.troid.org 

Re: [ns] cbr packet loss & or packet count scripts in perl>>>>

2007-09-04 Thread Sayeed Ahmed

Hi,
   
  >Hi there I've got a script to analyse packets awk file>>>
   
  Can you please tell from where you get the awk script example I will help 
me a lot.
   
  Thanking you,
   
  Sayeed.
  

JEHD MAHDI <[EMAIL PROTECTED]> wrote:
  




J Mahdi
Newcastle Upon Tyne
**
My favourite sites:
www.al-islam.com
www.islamspirit.com 
www.troid.org 



From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: cbr packet loss & or packet count 
scripts in perlDate: Sun, 2 Sep 2007 17:36:47 +


Hi there I've got a script to analyse packets awk file, but it doesn't work, 
but i know that perl scripts would work, any one could help with a similar one 
in perl...cheers


J Mahdi
Newcastle Upon Tyne
**


Are you the Quizmaster? Play BrainBattle with a friend now! 
_
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE


   
-
Shape Yahoo! in your own image.  Join our Network Research Panel today!


Re: [ns] cbr packet loss & or packet count scripts in perl>>>>

2007-09-03 Thread JEHD MAHDI





J Mahdi
Newcastle Upon Tyne
**
My favourite sites:
www.al-islam.com
www.islamspirit.com 
www.troid.org 
 


From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: cbr packet loss & or packet count 
scripts in perlDate: Sun, 2 Sep 2007 17:36:47 +


Hi there I've got a script to analyse packets awk file, but it doesn't work, 
but i know that perl scripts would work, any one could help with a similar one 
in perl...cheers


J Mahdi
Newcastle Upon Tyne
**
 

Are you the Quizmaster? Play BrainBattle with a friend now! 
_
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE


[ns] cbr packet loss & or packet count scripts in perl>>>>

2007-09-02 Thread JEHD MAHDI


Hi there I've got a script to analyse packets awk file, but it doesn't work, 
but i know that perl scripts would work, any one could help with a similar one 
in perl...cheers


J Mahdi
Newcastle Upon Tyne
**
 
_
Get free emoticon packs and customisation from Windows Live. 
http://www.pimpmylive.co.uk