From 91b09f53027e79e0e9d771f3cb94763c96a26ef7 Mon Sep 17 00:00:00 2001 From: ale Date: Sat, 1 Nov 2025 17:54:31 +0100 Subject: [PATCH] counter Signed-off-by: ale --- topdir.sh | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/topdir.sh b/topdir.sh index dfd753f..54c7b86 100755 --- a/topdir.sh +++ b/topdir.sh @@ -108,6 +108,9 @@ if [[ ! -d "$TARGET_DIR" ]]; then exit 2 fi +# Iniciar temporizador (milisegundos desde epoch) +START_TIME=$(date +%s%3N) + TMP_NEW=$(mktemp) TMP_OLD=$(mktemp) @@ -211,12 +214,19 @@ if [[ ! -f "$SNAPSHOT_FILE" ]]; then case "$OUTPUT_FORMAT" in text) + END_TIME=$(date +%s%3N) + ELAPSED_MS=$((END_TIME - START_TIME)) + ELAPSED_S=$(LC_NUMERIC=C awk "BEGIN {printf \"%.3f\", $ELAPSED_MS/1000}") echo "[topdir] ✓ Snapshot creado en '$SNAPSHOT_FILE'" echo "[topdir] ✓ $file_count archivos registrados" + echo "[topdir] ⏱ Tiempo de ejecución: ${ELAPSED_S}s" echo "[topdir] Primera ejecución completada. Ejecuta nuevamente para detectar cambios." ;; json) - echo '{"status":"snapshot_created","snapshot_file":"'"$SNAPSHOT_FILE"'","files_tracked":'"$file_count"',"new":[],"modified":[],"deleted":[]}' + END_TIME=$(date +%s%3N) + ELAPSED_MS=$((END_TIME - START_TIME)) + ELAPSED_S=$(LC_NUMERIC=C awk "BEGIN {printf \"%.3f\", $ELAPSED_MS/1000}") + echo '{"status":"snapshot_created","snapshot_file":"'"$SNAPSHOT_FILE"'","files_tracked":'"$file_count"',"elapsed_seconds":'"$ELAPSED_S"',"new":[],"modified":[],"deleted":[]}' ;; csv) echo "status,path" @@ -300,6 +310,10 @@ case "$OUTPUT_FORMAT" in fi fi echo "═══════════════════════════════════════════════════════════════" + END_TIME=$(date +%s%3N) + ELAPSED_MS=$((END_TIME - START_TIME)) + ELAPSED_S=$(LC_NUMERIC=C awk "BEGIN {printf \"%.3f\", $ELAPSED_MS/1000}") + echo "⏱ Tiempo de ejecución: ${ELAPSED_S}s" ;; json) @@ -330,7 +344,10 @@ case "$OUTPUT_FORMAT" in del_json+="]" total_changes=$((${#new_files[@]} + ${#modified_files[@]} + ${#delete_files[@]})) - echo "{\"status\":\"ok\",\"directory\":\"$TARGET_DIR\",\"hash\":\"$HASH_ALGO\",\"files_scanned\":$file_count,\"total_changes\":$total_changes,\"new\":$new_json,\"modified\":$mod_json,\"deleted\":$del_json}" + END_TIME=$(date +%s%3N) + ELAPSED_MS=$((END_TIME - START_TIME)) + ELAPSED_S=$(LC_NUMERIC=C awk "BEGIN {printf \"%.3f\", $ELAPSED_MS/1000}") + echo "{\"status\":\"ok\",\"directory\":\"$TARGET_DIR\",\"hash\":\"$HASH_ALGO\",\"files_scanned\":$file_count,\"total_changes\":$total_changes,\"elapsed_seconds\":$ELAPSED_S,\"new\":$new_json,\"modified\":$mod_json,\"deleted\":$del_json}" ;; csv)