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

Alessandro Gnagni alessandro at gnagni.it
Wed Jun 11 19:28:48 CEST 2014


Non so se clauz ha pushato un ultima modifica che aveva fatto, l'ha
fatta verso marzo e l'ultima modifica è a gennaio.
Correggeva un problema nel calcolo della rotta quando la sorgente era la
stessa macchina da cui veniva preso il jsoinfo.
Fai tu il push claudio o mi scarico la repository e lo faccio io?


Il 11/06/2014 19:23, Saverio Proto ha scritto:
> 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