#!/usr/bin/perl -w use strict; my $dbName = "steve_track"; my $mostUse = "./mostuse.sql"; my $getPro = "./getprocess.sql"; my $getTab = "./gettable.sql"; my $proOut = "./processOut"; my $tabOut = "./tableOut"; my @files = qw{./mostuse.sql ./getprocess.sql ./gettable.sql ./processOut ./tableOut}; foreach (@files) { if(-e $_) { unlink $_; } } open(FOUT, ">> $mostUse"); print(FOUT "use " . $dbName . ";\n"); print(FOUT "SELECT process.processKey,user,cmd, \ MAX(readHeld+writeHeld)-MAX(readWait+writeWait) AS compute \ FROM tableUse JOIN process USING (processKey) \ GROUP BY tableUse.processKey \ ORDER BY compute DESC LIMIT 10;"); my @processes = `mysql < mostuse.sql`; my ($process,$user,$cmd,$compute) =("","","",""); open(OUT, ">> $getPro"); open(OUT2, ">> $getTab"); print(OUT "use " . $dbName . ";\n"); print(OUT2 "use " . $dbName . ";\n"); foreach (@processes) { chomp; ($process,$user,$cmd,$compute) = split /\t/; if(/^\d+/) { print (OUT "SELECT * FROM process WHERE processKey=$process;\n"); print (OUT2 "SELECT * FROM tableUse WHERE processKey=$process;\n"); } } close(OUT); close(OUT2); open(OUTF, ">> $proOut"); my @eachprocess = `mysql < getprocess.sql`; foreach (@eachprocess) { chomp; print OUTF join("\t", split(/\t/)); print OUTF "\n"; } close(OUTF); open(OUTF2, ">> $tabOut"); my @eachtable = `mysql < gettable.sql`; foreach (@eachtable) { chomp; print OUTF2 join("\t", split(/\t/)); print OUTF2 "\n"; } close(OUT2);