Re: [ns] cbr packet loss & or packet count scripts in perl>>>>
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>>>>
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>>>>
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>>>>
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>>>>
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>>>>
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>>>>
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>>>>
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>>>>
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