Newer
Older
istex-api-harvester / bash / perf.sh
@perrin perrin on 2 Jul 2015 1 KB Commit -- 02/07/2015 @ 14:43:44
#!/usr/bin/env bash
#
# Lanceur de mesures de performances de téléchargement sur l'API
# 
#
CUR_DIR=$( cd "$( dirname "$0" )" && pwd )

# Arguments
SESSION="$1"

# Session (pour éviter le mélange de résultats) au cas où 
# pas renseigné
if [ -z $SESSION ]; then
  SESSION=$(date +'%Y-%m-%d-%H-%M-%S')
fi

# Stockage des résultats de mesure
# (et des téléchargements)
RESULT_DIR="$CUR_DIR/perfs/$SESSION"
if [ -d "$RESULT_DIR" ]; then
  rm -Rf "$RESULT_DIR"
fi
CORPUS_DIR="$CUR_DIR/perfs/$SESSION/CORPUS"
mkdir -p "$RESULT_DIR"
mkdir -p "$CORPUS_DIR"

# Fichier où on stocke le temps d'execution
TIMEFILE="/tmp/exectime"

# Commandes
TIME="/usr/bin/time --output "$TIMEFILE" --format %e"
HARVEST="$CUR_DIR/harvest-perf.sh"
NET=""

cd "$CORPUS_DIR"
$TIME $HARVEST

# Compilation des résultats
NB_PDF=$(find "$CORPUS_DIR" -type f -name "*.pdf"| wc -l)
NB_XML=$(find "$CORPUS_DIR" -type f -name "*.xml"| wc -l)
NB_JSON=$(find "$CORPUS_DIR" -type f -name "*.json"| wc -l)
NB_ZIP=$(find "$CORPUS_DIR" -type f -name "*.zip"| wc -l)
NB_TEI=$(find "$CORPUS_DIR" -type f -name "*.tei"| wc -l)
NB_MODS=$(find "$CORPUS_DIR" -type f -name "*.mods"| wc -l)
NB_TXT=$(find "$CORPUS_DIR" -type f -name "*.txt"| wc -l)
NB_TOTAL=$(find "$CORPUS_DIR" -type f | wc -l)
SIZE_TOTAL=$(du -s "$CORPUS_DIR" | cut -f 1)
EXEC_TIME=$(cat "$TIMEFILE")

echo "$SESSION;$NB_PDF;$NB_XML;$NB_JSON;$NB_ZIP;$NB_TEI;$NB_MODS;$NB_TXT;$NB_TOTAL;$SIZE_TOTAL;$EXEC_TIME" > "$RESULT_DIR/collecte.csv"