summaryrefslogtreecommitdiffstats
path: root/metrics.pl
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2014-03-04 09:38:49 +0100
committerByron Jones <bjones@mozilla.com>2014-03-04 09:38:49 +0100
commitfaf2fc5dbead69f0de0df51af85561f1203dee45 (patch)
tree7e323a20361165348a3f8a564c9e1d22df820a1c /metrics.pl
parent9193214274889f2b7636146e72d8200e9bfaeb7b (diff)
downloadbugzilla-faf2fc5dbead69f0de0df51af85561f1203dee45.tar.gz
bugzilla-faf2fc5dbead69f0de0df51af85561f1203dee45.tar.xz
Bug 956230: improve instrumentation of bugzilla's internals
Diffstat (limited to 'metrics.pl')
-rw-r--r--metrics.pl47
1 files changed, 47 insertions, 0 deletions
diff --git a/metrics.pl b/metrics.pl
new file mode 100644
index 000000000..5d955fd88
--- /dev/null
+++ b/metrics.pl
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+use strict;
+use warnings;
+
+BEGIN {
+ delete $ENV{SERVER_SOFTWARE};
+}
+
+use FindBin qw($Bin);
+use lib $Bin;
+use lib "$Bin/lib";
+
+use Bugzilla;
+use Bugzilla::Constants;
+use File::Slurp;
+use POSIX qw(setsid nice);
+
+Bugzilla->metrics_enabled(0);
+Bugzilla->usage_mode(USAGE_MODE_CMDLINE);
+nice(19);
+
+# grab reporter class and filename
+exit(1) unless my $reporter_class = shift;
+exit(1) unless my $filename = shift;
+
+# create reporter object and report
+eval "use $reporter_class";
+
+# detach
+if ($reporter_class->DETACH) {
+ open(STDIN, '</dev/null');
+ open(STDOUT, '>/dev/null');
+ open(STDERR, '>/dev/null');
+ setsid();
+}
+
+# report
+exit(1) unless my $reporter = $reporter_class->new({ json_filename => $filename });
+$reporter->report();