From b9ff5a9e047c894e13dbe91742be40fafe4f0ee6 Mon Sep 17 00:00:00 2001 From: poka Date: Fri, 18 Sep 2020 15:47:09 +0200 Subject: [PATCH] Debug mode --- functions.sh | 49 ++++++++++++++++++++++++++++++++++++------------- g1-stats.sh | 12 +++++++----- 2 files changed, 43 insertions(+), 18 deletions(-) diff --git a/functions.sh b/functions.sh index d647d13..c521f4a 100755 --- a/functions.sh +++ b/functions.sh @@ -3,7 +3,7 @@ loopWalletUp() { local REGEX_PUBKEYS="[a-zA-Z0-9]{42,44}" - # On vérifie le cache existant et on démarre dernier bloc en cache + # On vérifie le cache existant et on démarre au dernier bloc en cache if ls $SCRIPTPATH/cache/walletsUp-* > /dev/null 2>&1; then local startFile=$(ls $SCRIPTPATH/cache/walletsUp-* | tail -n1) local startIter=$(echo "$startFile" | awk -F '-' '{ print $NF }') @@ -19,22 +19,26 @@ loopWalletUp() { echo "[" > $SCRIPTPATH/db/recus.json fi - rm -f debug.log #kopa + mv debug.log bk-debug.log-$lastBloc 2>/dev/null #kopa + incExec=1 #kopa for i in ${!TXBLOCKS[*]}; do - [[ -z ${TXBLOCKS[$i]} ]] && break + set -x # kopa + startExec=$(($(date +%s%N)/1000000)) + bloc=${TXBLOCKS[$i]} + [[ -z $bloc ]] && break [[ $startIter != 0 && $i -le $startIter ]] && continue -# [[ ${TXBLOCKS[$i]} -lt 5243 ]] && continue #kopa Debug +# [[ $bloc -lt 5243 ]] && continue #kopa Debug sleep 0.05 # Récupère la date et l'objet transaction du bloc courant - blocFull=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]}) + blocFull=$(curl -s ${DUNITER}/blockchain/block/$bloc) + #blocFull=$(cat bloc-267) until blocBrut=$(echo $blocFull | jq -r '.medianTime, .transactions[]' 2>/dev/null); do [[ $isWeb != "web" ]] && echo -e "i: $i\n$blocFull" | tee -a debug.log sleep 2 - blocFull=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]}) + blocFull=$(curl -s ${DUNITER}/blockchain/block/$bloc) done [[ -z "$blocBrut" ]] && continue - bloc=${TXBLOCKS[$i]} # Récupération de la date du block blockDate=$(echo "$blocBrut" | head -n1) @@ -59,15 +63,19 @@ loopWalletUp() { unset recusJson startBloc=0 fi + set +x # Sélectionne les ligne SIG en retirant les issuers OIFS="$IFS" IFS='{' + echo -e "\n-----------------------------------------\nBloc: $bloc" >> debug.log for j in $walletsReceivedBloc; do [[ -z $j ]] && continue local wIssuers=$(echo "{$j" | jq -r '.issuers[0]') - local walletsReceivedTodayTmp+=$(echo "{$j" | jq -r '.outputs[]' | grep -v "$wIssuers")$'\n' + local walletsReceivedTodayTmp+=$(echo "{$j" | jq -r '.outputs[]' | grep -v "$wIssuers" | awk -F: '{print $3 "|" $1}' | sed 's/SIG(//g' | tr -d ')')$'\n' local sumRBloc=$(echo "{$j" | jq -r '.outputs[]' | grep -v "$wIssuers" | awk -F: '{ print $1 }' | awk '{s+=$1} END {print s}') [[ $sumRBloc ]] && local walletsSentTodayTmp+=$wIssuers'|'$sumRBloc'\n' + echo -e "R: $walletsReceivedTodayTmp\nS: $walletsSentTodayTmp" | grep . >> debug.log + echo "---" >> debug.log done IFS="$OIFS" local walletsSentToday=$(echo -e "$walletsSentTodayTmp" | head -n -1) @@ -92,6 +100,9 @@ loopWalletUp() { if [[ -n $blockDateLast && $blockDateLast != $blockDate ]]; then jsonify unset valueReceivedM valueReceivedW valueSentM valueSentW + echo -e "Date: $blockDate\n-----------------------------------------\n-----------------------------------------\n" >> debug.log + cp debug/xFullDebug.log debug/xFullDebug-$blockDate.log + echo "" > debug/xFullDebug.log fi # Sauvegarde la date de ce bloc pour l'itération suivante @@ -99,10 +110,10 @@ loopWalletUp() { # Ajoute la valeur des transactions reçus de ce bloc au reste de la journée for k in $walletsReceivedBloc; do - local pubkey=$(echo $k | awk -F '(' '{ print $2 }' | tr -d ')') - local value=$(echo $k | awk -F: '{ print $1 }') + local pubkey=$(echo $k | awk -F '|' '{ print $1 }') + local value=$(echo $k | awk -F '|' '{ print $2 }') - if [[ $(echo "$MEMBERS" | grep $pubkey) ]]; then + if [[ $(echo ${MEMBERS[*]} | grep $pubkey) ]]; then valueReceivedM=$(($valueReceivedM+$value)) pubkeyReceiveM+=${pubkey}\\n else @@ -116,7 +127,7 @@ loopWalletUp() { local pubkey=$(echo $k | awk -F '|' '{ print $1 }') local value=$(echo $k | awk -F '|' '{ print $2 }') - if [[ $(echo "$MEMBERS" | grep $pubkey) ]]; then + if [[ $(echo ${MEMBERS[*]} | grep $pubkey) ]]; then valueSentM=$(($valueSentM+$value)) pubkeySentM+=${pubkey}\\n else @@ -130,12 +141,22 @@ loopWalletUp() { # Affiche la progression de la boucle si on est pas en mode web progress=$(echo "scale=1; $bloc*100/$lastBloc/1" | bc) + endExec=$(($(date +%s%N)/1000000)) #kopa + timeExec=$(echo "scale=3; ($endExec-$startExec)/1000" | bc) + #[[ -z $midTimeExec ]] && midTimeExec=$timeExec + [[ $incExec9 == 50 || $incExec == 1 ]] && incExec=1 && midTimeExecCum=0 + midTimeExecCum=$(echo "scale=3; $midTimeExecCum+$timeExec" | bc) + midTimeExec=$(echo "scale=3; $midTimeExecCum/$incExec" | bc) + ((incExec++)) if [[ $isWeb != "web" ]]; then clear echo "Heure de début: $startTime" echo echo "Scan en cours: $progress% - $bloc/$lastBloc" echo "Date: $blockDate" + echo "Temps d'execution: $midTimeExec" #kopa + else + echo "Scan des blocs avec transactions en cours ..." fi # [[ $i -ge 10 ]] && break #kopa Debug @@ -166,6 +187,8 @@ for i in ${MEMBERS[*]}; do echo "Heure de début: $startTime" echo echo "Ajouts des comptes membres sans transaction reçus ... $progress%" + else + echo "Ajouts des comptes membres sans transaction reçus ..." fi fi @@ -227,7 +250,7 @@ web() { $SCRIPTPATH/transform_json.sh # chown www-data for nginx needs - chown -R www-data:www-data $WEBPATH + chown -R www-data:www-data $WEBPATH >/dev/null 2>&1 } sumSoldes() { diff --git a/g1-stats.sh b/g1-stats.sh index 4fbdc8b..5d5225e 100755 --- a/g1-stats.sh +++ b/g1-stats.sh @@ -18,11 +18,12 @@ indexhtml="$WEBPATH/index.html" echo -e "\n############# $day à $startTime #############\n" [[ -z $(which jq) || -z $(which bc) ]] && apt update && apt install jq bc echo "Initialisation ..." -TXBLOCKS=$(cat $SCRIPTPATH/db/txblocs) +TXBLOCKS=$(cat $SCRIPTPATH/db/txblocs) #kopa #TXBLOCKS=$(curl -s ${DUNITER}/blockchain/with/tx | jq '.result.blocks[]') TXBLOCKS=($(echo "$TXBLOCKS" | sort -hu | awk '{printf $1" "}')) unset 'TXBLOCKS[${#TXBLOCKS[@]}-1]' -MEMBERS=($(curl -s ${DUNITER}/wot/members | jq -r '.results[].pubkey')) +#MEMBERS=($(curl -s ${DUNITER}/wot/members | jq -r '.results[].pubkey')) +MEMBERS=($(cat db/membresPubkeys)) #kopa nbrMembers=${#MEMBERS[@]} lastBloc=${TXBLOCKS[-1]} isWeb=$1 @@ -90,14 +91,15 @@ pourcentSimpleWallet=$(echo "scale=1; $soldeWBrut*100/$monetaryMassBrut/1" | bc) echo -e " ---" echo -e "Masse Monétaire:\t $monetaryMass Ḡ1" -### Renseignement de l'index web et indexation de l'historique ### -[[ $isWeb == "web" ]] && web - # Analyse echo -e "\n ---\n Analyse\n ---" sleepyG1=$(echo -e "scale=1; 100-$sumSTBrut*100/$monetaryMassBrut" | bc | tr . ,) echo -e "$sleepyG1% des Ḡ1 n'ont jamais été utilisés." +### Renseignement de l'index web et indexation de l'historique ### +source $SCRIPTPATH/functions.sh # On source les fonctions de nouveau +[[ $isWeb == "web" ]] && web + ### Fin de programme ### day=$(date +'%d-%m-%y') echo -e " ---"