~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to utilities/page-performance-report-daily.sh

Daily report run updates

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/bin/sh
 
2
 
2
3
#TZ=UTC # trace logs are still BST - blech
3
4
 
4
 
logs=`find /x/launchpad.net-logs/production \
5
 
    -maxdepth 2 -ctime -14 -name launchpad-trace\* | xargs -x`
 
5
category_report() {
 
6
    max_log_age=$1
 
7
    type=$2
 
8
    from=$3
 
9
    until=$4
 
10
    category=$5
 
11
    log_root=$6
6
12
 
7
 
report () {
8
 
    type=$1
9
 
    from=$2
10
 
    until=$3
 
13
    local logs
 
14
    logs=`find ${log_root} \
 
15
        -maxdepth 2 -type f -mtime -${max_log_age} -name launchpad-trace\* \
 
16
        | sort | xargs -x`
11
17
 
12
18
    local root
13
 
    root=${HOME}/public_html/ppr/lpnet
 
19
    root=${HOME}/public_html/ppr/${category}
14
20
 
15
21
    local dir
16
 
    dir=${root}/${type}
17
 
 
18
 
    local repname
19
 
    repname="${from}_${until}.html"
20
 
 
21
 
    mkdir -p ${dir}/all
22
 
    mkdir -p ${dir}/categories
23
 
    mkdir -p ${dir}/pageids
24
 
 
25
 
    local ppr
26
 
    ppr="./page-performance-report.py -v --from=$from --until=$until"
27
 
 
28
 
    $ppr --no-pageids    $logs > ${dir}/categories/${repname}
29
 
    $ppr --no-categories $logs > ${dir}/pageids/${repname}
30
 
    $ppr                 $logs > ${dir}/all/${repname}
31
 
 
32
 
    ln -sf ${dir}/categories/${repname} ${root}/latest-${type}-categories.html
33
 
    ln -sf ${dir}/pageids/${repname} ${root}/latest-${type}-pageids.html
34
 
    ln -sf ${dir}/all/${repname} ${root}/latest-${type}-all.html
 
22
    dir=${root}/${type}_${from}_${until}
 
23
 
 
24
    mkdir -p ${dir}
 
25
 
 
26
    echo Generating report from $from until $until into $dir `date`
 
27
 
 
28
    ./page-performance-report.py -v --from=$from --until=$until \
 
29
        --directory=${dir} $logs
 
30
 
 
31
    ln -sf ${dir}/categories.html ${root}/latest-${type}-categories.html
 
32
    ln -sf ${dir}/pageids.html    ${root}/latest-${type}-pageids.html
 
33
    ln -sf ${dir}/combined.html   ${root}/latest-${type}-combined.html
35
34
 
36
35
    return 0
37
36
    }
38
37
 
 
38
report() {
 
39
    category_report $* edge /srv/launchpad.net-logs/edge
 
40
    category_report $* lpnet /srv/launchpad.net-logs/production
 
41
    return 0
 
42
}
 
43
 
39
44
fmt='+%Y-%m-%d'
40
45
 
41
 
# Store dates in case this takes a while.
42
 
# 'now' is actually 2 days ago, because we need to wait until the logs
43
 
# have been synced.
44
 
now=`date -d '2 days ago' $fmt`
45
 
yesterday=`date -d '3 days ago'  $fmt`
46
 
last_week=`date -d '9 days ago'  $fmt`
47
 
last_month=`date -d '32 days ago' $fmt`
48
 
 
49
 
report daily   $yesterday  $now
50
 
report weekly  $last_week  $now
51
 
## We don't seem to have a months worth of tracelogs. If we enable this,
52
 
## change the -ctime in the logs= find command.
53
 
##report monthly $last_month $now
 
46
now=`date $fmt`
 
47
 
 
48
report  3 daily `date -d yesterday $fmt` $now
 
49
 
 
50
if [ `date +%a` = 'Sat' ]; then
 
51
    report 9 weekly `date -d 'last week' $fmt` $now
 
52
fi
 
53
 
 
54
# We don't seem to have a months worth of tracelogs, but we will
 
55
# generate what we can.
 
56
if [ `date +%d` = '01' ]; then
 
57
    report 32 monthly `date -d 'last month' $fmt` $now
 
58
fi
 
59
 
 
60
# One off reports to populate history.
 
61
## report 40 monthly `date -d '1 june 2010' $fmt` `date -d '1 july 2010' $fmt`
 
62
## report 23 weekly `date -d '19 june 2010' $fmt` `date -d '26 june 2010' $fmt`
 
63
## report 16 weekly `date -d '26 june 2010' $fmt` `date -d '3 july 2010' $fmt`
54
64