diff options
author | Byron Jones <bjones@mozilla.com> | 2014-03-04 09:38:49 +0100 |
---|---|---|
committer | Byron Jones <bjones@mozilla.com> | 2014-03-04 09:38:49 +0100 |
commit | faf2fc5dbead69f0de0df51af85561f1203dee45 (patch) | |
tree | 7e323a20361165348a3f8a564c9e1d22df820a1c /metrics.pl | |
parent | 9193214274889f2b7636146e72d8200e9bfaeb7b (diff) | |
download | bugzilla-faf2fc5dbead69f0de0df51af85561f1203dee45.tar.gz bugzilla-faf2fc5dbead69f0de0df51af85561f1203dee45.tar.xz |
Bug 956230: improve instrumentation of bugzilla's internals
Diffstat (limited to 'metrics.pl')
-rw-r--r-- | metrics.pl | 47 |
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(); |