--- loncom/debugging_tools/login_count.pl 2004/09/03 19:51:58 1.1 +++ loncom/debugging_tools/login_count.pl 2004/09/03 20:10:39 1.2 @@ -1,25 +1,19 @@ +use strict; use File::Find; use POSIX qw(strftime); use lib '/home/httpd/lib/perl/'; use LONCAPA::Configuration; use Date::Manip; -my $perlvar=LONCAPA::Configuration::read_conf('loncapa.conf'); -$|=1; -find( - { -# preprocess => \&only_user_activitylog_files, -# wanted => \&print_filename, -# wanted => \&log_metadata, - wanted => \&process_activitylog_file, - }, - $perlvar->{'lonUsersDir'}.'/'.$perlvar->{'lonDefDomain'}); -&print_data(); + +my $start_time=&UnixDate("Aug 30th 00:00:00 2004","%s"); +my @counts=('1','10','100','1000','10000','100000','250000'); + + sub only_user_activitylog_files { print (join("\n",@_)); return 1; } -my $start_time=&UnixDate("Aug 30th 00:00:00 2004","%s"); my %data; my $numusers; sub process_activitylog_file { @@ -37,6 +31,7 @@ sub process_activitylog_file { print "\b\b\b\b\b\b\b\b\b\b\b\b\b\bDid $user"; } } + sub print_data { my $total_login=0; my %byday; @@ -46,6 +41,12 @@ sub print_data { $total_login+=scalar(@{$data{$key}}); my $day=strftime('%F',localtime($key)); $byday{$day}+=scalar(@{$data{$key}}); + while ($total_login >= $counts[0]) { + print("The $counts[0] ($total_login) login was ". + join(', ',@{$data{$key}})."\n"); + shift(@counts); + } + } foreach my $key (sort(keys(%byday))) { print("$key -> $byday{$key}\n"); @@ -53,3 +54,18 @@ sub print_data { print("total -> $total_login\n"); } +$|=1; +sub main { + my $perlvar=LONCAPA::Configuration::read_conf('loncapa.conf'); + find( + { +# preprocess => \&only_user_activitylog_files, +# wanted => \&print_filename, +# wanted => \&log_metadata, + wanted => \&process_activitylog_file, + }, + $perlvar->{'lonUsersDir'}.'/'.$perlvar->{'lonDefDomain'}); + &print_data(); +} +&main(); +