From faf2fc5dbead69f0de0df51af85561f1203dee45 Mon Sep 17 00:00:00 2001 From: Byron Jones Date: Tue, 4 Mar 2014 16:38:49 +0800 Subject: Bug 956230: improve instrumentation of bugzilla's internals --- metrics.pl | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 metrics.pl (limited to 'metrics.pl') 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(STDERR, '>/dev/null'); + setsid(); +} + +# report +exit(1) unless my $reporter = $reporter_class->new({ json_filename => $filename }); +$reporter->report(); -- cgit v1.2.3-24-g4f1b