examples/instance_statistics_evolution.sh
author Mikael Berthe <mikael@lilotux.net>
Thu, 11 May 2017 21:03:45 +0200
changeset 122 6f318b094b78
permissions -rwxr-xr-x
Update statistic examples
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
122
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
#! /bin/zsh
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
#
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
# Instance statistics for a given period (default: 4 last weeks)
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     4
#
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     5
# Usage: $0 [[--server INSTANCE] Number_of_weeks]
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     6
#
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     7
# Mikael
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     8
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     9
if [[ $1 == "--server" || $1 == "-i" ]]; then
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    10
    opt=("--server" "$2")
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    11
    shift 2
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    12
fi
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    13
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    14
w=${1:-4}
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    15
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    16
TMPL='({{(.date | fromunix).Format "2006-01-02"}}) {{.instance_name}}: {{printf "%.0f users, %.0f statuses\n" .users .statuses}}'
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    17
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    18
typeset -i wa="$w"
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    19
while (( wa >= 0 )); do
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    20
    when="$wa weeks ago"
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    21
    s=$(date +%s -d "$when")
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    22
    stats="$(madonctl instance ${opt[*]} --stats --template "$TMPL" \
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    23
            --start "$(( s-3600 ))" --end   "$s" | tail -1)"
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    24
    if [[ -n $stats ]]; then
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    25
        echo "$when $stats"
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    26
    fi
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    27
    (( wa-=1 ))
6f318b094b78 Update statistic examples
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    28
done