summaryrefslogtreecommitdiffstats
path: root/collectstats.pl
diff options
context:
space:
mode:
authorgerv%gerv.net <>2001-03-10 10:47:30 +0100
committergerv%gerv.net <>2001-03-10 10:47:30 +0100
commit6ba10a1b6b1f5cc87ec8c885f6e61a0a77166abf (patch)
treef9089c6453da573c8ab6b9f69834e33055e28587 /collectstats.pl
parent70e7519ed53abf4636a4abe51e4b81140e26127f (diff)
downloadbugzilla-6ba10a1b6b1f5cc87ec8c885f6e61a0a77166abf.tar.gz
bugzilla-6ba10a1b6b1f5cc87ec8c885f6e61a0a77166abf.tar.xz
Whitespace changes only; removing tabs and reformatting my changes to match the rest of the file. Long overdue.
Diffstat (limited to 'collectstats.pl')
-rwxr-xr-xcollectstats.pl117
1 files changed, 56 insertions, 61 deletions
diff --git a/collectstats.pl b/collectstats.pl
index 66bbbfc19..e645165e1 100755
--- a/collectstats.pl
+++ b/collectstats.pl
@@ -20,7 +20,7 @@
#
# Contributor(s): Terry Weissman <terry@mozilla.org>,
# Harrison Page <harrison@netscape.com>
-# Gervase Markham <gerv@gerv.net>
+# Gervase Markham <gerv@gerv.net>
# Run me out of cron at midnight to collect Bugzilla statistics.
@@ -33,11 +33,11 @@ require "globals.pl";
# tidy up after graphing module
if (chdir("graphs")) {
- unlink <./*.gif>;
+ unlink <./*.gif>;
unlink <./*.png>;
chdir("..");
}
-
+
ConnectToDatabase(1);
GetVersionTable();
@@ -77,36 +77,38 @@ sub collect_stats {
if (open DATA, ">>$file") {
push my @row, &today;
- foreach my $status ('NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'RESOLVED', 'VERIFIED', 'CLOSED') {
- if( $product eq "-All-" ) {
- SendSQL("select count(bug_status) from bugs where bug_status='$status'");
- } else {
- SendSQL("select count(bug_status) from bugs where bug_status='$status' and product='$product'");
- }
-
- push @row, FetchOneColumn();
- }
-
- foreach my $resolution ('FIXED', 'INVALID', 'WONTFIX', 'LATER', 'REMIND', 'DUPLICATE', 'WORKSFORME', 'MOVED') {
- if( $product eq "-All-" ) {
- SendSQL("select count(resolution) from bugs where resolution='$resolution'");
- } else {
- SendSQL("select count(resolution) from bugs where resolution='$resolution' and product='$product'");
- }
- push @row, FetchOneColumn();
- }
-
- if (! $exists) {
- print DATA <<FIN;
+ foreach my $status ('NEW', 'ASSIGNED', 'REOPENED', 'UNCONFIRMED', 'RESOLVED', 'VERIFIED', 'CLOSED') {
+ if( $product eq "-All-" ) {
+ SendSQL("select count(bug_status) from bugs where bug_status='$status'");
+ } else {
+ SendSQL("select count(bug_status) from bugs where bug_status='$status' and product='$product'");
+ }
+
+ push @row, FetchOneColumn();
+ }
+
+ foreach my $resolution ('FIXED', 'INVALID', 'WONTFIX', 'LATER', 'REMIND', 'DUPLICATE', 'WORKSFORME', 'MOVED') {
+ if( $product eq "-All-" ) {
+ SendSQL("select count(resolution) from bugs where resolution='$resolution'");
+ } else {
+ SendSQL("select count(resolution) from bugs where resolution='$resolution' and product='$product'");
+ }
+
+ push @row, FetchOneColumn();
+ }
+
+ if (! $exists) {
+ print DATA <<FIN;
# Bugzilla Daily Bug Stats
#
# Do not edit me! This file is generated.
-#
+#
# fields: DATE|NEW|ASSIGNED|REOPENED|UNCONFIRMED|RESOLVED|VERIFIED|CLOSED|FIXED|INVALID|WONTFIX|LATER|REMIND|DUPLICATE|WORKSFORME|MOVED
# Product: $product
# Created: $when
FIN
- }
+ }
+
print DATA (join '|', @row) . "\n";
close DATA;
} else {
@@ -128,20 +130,18 @@ sub calculate_dupes {
# Save % count here in a date-named file
# so we can read it back in to do changed counters
# First, delete it if it exists, so we don't add to the contents of an old file
- if (-e "data/mining/dupes$today.db")
- {
- system("rm -f data/mining/dupes$today.db");
+ if (-e "data/mining/dupes$today.db") {
+ system("rm -f data/mining/dupes$today.db");
}
dbmopen(%count, "data/mining/dupes$today.db", 0644) || die "Can't open DBM dupes file: $!";
# Create a hash with key "a bug number", value "bug which that bug is a
# direct dupe of" - straight from the duplicates table.
- while (@row = FetchSQLData())
- {
- my $dupe_of = shift @row;
- my $dupe = shift @row;
- $dupes{$dupe} = $dupe_of;
+ while (@row = FetchSQLData()) {
+ my $dupe_of = shift @row;
+ my $dupe = shift @row;
+ $dupes{$dupe} = $dupe_of;
}
# Total up the number of bugs which are dupes of a given bug
@@ -149,46 +149,41 @@ sub calculate_dupes {
# value = "number of immediate dupes of that bug".
foreach $key (keys(%dupes))
{
- my $dupe_of = $dupes{$key};
+ my $dupe_of = $dupes{$key};
- if (!defined($count{$dupe_of}))
- {
- $count{$dupe_of} = 0;
- }
+ if (!defined($count{$dupe_of})) {
+ $count{$dupe_of} = 0;
+ }
- $count{$dupe_of}++;
+ $count{$dupe_of}++;
}
# Now we collapse the dupe tree by iterating over %count until
# there is no further change.
while ($changed == 1)
{
- $changed = 0;
- foreach $key (keys(%count))
- {
- # if this bug is actually itself a dupe, and has a count...
- if (defined($dupes{$key}) && $count{$key} > 0)
- {
- # add that count onto the bug it is a dupe of,
- # and zero the count; the check is to avoid
- # loops
- if ($count{$dupes{$key}} != 0)
- {
- $count{$dupes{$key}} += $count{$key};
- $count{$key} = 0;
- $changed = 1;
- }
- }
- }
+ $changed = 0;
+ foreach $key (keys(%count)) {
+ # if this bug is actually itself a dupe, and has a count...
+ if (defined($dupes{$key}) && $count{$key} > 0) {
+ # add that count onto the bug it is a dupe of,
+ # and zero the count; the check is to avoid
+ # loops
+ if ($count{$dupes{$key}} != 0) {
+ $count{$dupes{$key}} += $count{$key};
+ $count{$key} = 0;
+ $changed = 1;
+ }
+ }
+ }
}
# Remove the values for which the count is zero
foreach $key (keys(%count))
{
- if ($count{$key} == 0)
- {
- delete $count{$key};
- }
+ if ($count{$key} == 0) {
+ delete $count{$key};
+ }
}
dbmclose(%count);