[ninux-research] [ninux-roma] Analisi fra correlazione di etx e RTT

Saverio Proto zioproto at gmail.com
Wed Jun 11 17:23:47 UTC 2014


Allegare il codice non favorisce l'integrazione delle patch da parte di altri.

Il codice è pubblicato qui:
https://github.com/ninuxorg/misc_tools/tree/master/find_olsr_path

Saverio


Il 11 giugno 2014 19:06, Alessandro Gnagni <alessandro at gnagni.it> ha scritto:
> Ok, essenzialmente io ho tutti dati divisi in 3 categorie:
> - i ping sono uno per ogni test raggruppati nelle cartelle per
> destinazione annidate in quelle per sorgente
> - ho i traceroute ma per ora non li ho ancora utilizzati
> - ho i file topologia di olsrd presi dal jsoninfo.
>
> Ognuno di questi test viene eseguito e poi salvato ogni minuto, quindi
> ho i file tutti "ammucchiati" nelle singole cartelle.
>
> ecco lo script che lancio per ogni sorgente:
>
> #!/bin/bash
>
> # ./exec_scripts.sh ip_s
>
> mkdir -p ../path_sum/$1/
> mkdir -p ../ping/$1/
> mkdir -p ../timestamp/$1/
>
> for i in $(ls -d */ | grep -v -i "olsr" | rev | cut -c 2- | rev); do
>  ../ping_sum_minimum_rtt.sh "$i/ping"  > ../ping/$1/"$1-$i.ping"
>
>  ../path_cost.sh olsr $1 $i > ../path_sum/$1/"$1-$i.path_sum"
>
>  ../timestamp_extract.sh ../path/$1 > ../timestamp/$1/"$1-$i.timestamp"
> done
>
>
> gli script che eseguo sono 3 per generare i dati per plottare:
> ping_sum_minimum_rtt.sh
>
> - uno mi genera i valori dei ping:
> #!/bin/sh
>
> for f in $1/*.log; do
> EPOCH=$(cat $f | awk --re-interval '/^[0-9]{5,}/ {print $NF}')
> pinglog="$pinglog$(cat $f | nawk -F'[ =]' -v e=$EPOCH '/64 bytes/
> {s=$6+e; print s " " $10}')"
> done
>
> echo "$pinglog"  | awk 'BEGIN {min_timestamp=0; last_timestamp=0;
> min_value=99999} {if ($1-last_timestamp > 30) {if (min_value != 99999)
> {print min_timestamp, min_value}; min_value=$2; min_timestamp=$1}; if
> ($2 < min_value) {min_timestamp=$1; min_value=$2}; last_timestamp=$1}'
>
>
> - uno il costo in etx sfruttando uno script in python:
> ping_sum_minimum_rtt.sh
>
> #!/bin/bash
> # usage: path_compare.sh path/ source destination > ........
>
> for f in $1/*.log; do
>         echo -n "." 1>&2
>         pathcost=$(python2.7 ./find_olsr4_path.py $f $2 $3 | awk
> 'function isnum(x){return(x==x+0)} {if (isnum($1)) {pathcost += $1}} END
> {print pathcost}')
>         echo "$(basename $f | cut -d "-" -f3 | cut -d "." -f1) $pathcost"
> done
>
>
> - il terzo mi dovrebbe generare dei timestamp quando viene rilevata una
> variazione nei traceroute, ci sto ancora lavorando.
>
>
> Ti ho allegato il file in python, č stato fatto da clauz.
>
> Il 11/06/2014 17:08, Alessandro Gnagni ha scritto:
>> Ecco, appena ho un attimo di tempo ti scrivo qualcosa.
>> In questo momento sono un attimo impicciato a casa.
>>
>>
>> Il 11/06/2014 16:39, Leonardo ha scritto:
>>> On 06/11/2014 04:32 PM, Alessandro Gnagni wrote:
>>>> Il 11/06/2014 16:30, Leonardo ha scritto:
>>>>
>>>>> ma figurati. se ti metti ora a fare lo stesso algorithmo in python,
>>>>> senza averci mai programmato, tra mezz'ora hai finito. Un'ora tič..  :-)
>>>>>
>>>>> poi perň il tmepo lo riguadagni in esecuzione...
>>>>>
>>>>> ciao,
>>>>> leonardo.
>>>>>
>>>>
>>>> Non saprei neanche da dove cominciare. Python mi aiuterebbe anche perchč
>>>> una parte dello script č in python, quello per il calcolo dell'etx
>>>>
>>>
>>> se mi scrivi un algoritmo a parole ti aiuto... ci spostiamo su
>>> ninux-research?
>>>
>>
>
>
> _______________________________________________
> Research mailing list
> Research at ml.ninux.org
> http://ml.ninux.org/mailman/listinfo/research
>


More information about the Research mailing list