summaryrefslogtreecommitdiffstats
path: root/mod_perl.pl
diff options
context:
space:
mode:
authorDylan William Hardison <dylan@hardison.net>2018-02-16 02:49:33 +0100
committerGitHub <noreply@github.com>2018-02-16 02:49:33 +0100
commitc345cbc05311d8ecc51752c59b102d0323bcfb6c (patch)
tree417969289899fa6f561a1db3af0398639a4441b7 /mod_perl.pl
parentdacda12b6d8ab2802eaa562dd1267e3799673166 (diff)
downloadbugzilla-c345cbc05311d8ecc51752c59b102d0323bcfb6c.tar.gz
bugzilla-c345cbc05311d8ecc51752c59b102d0323bcfb6c.tar.xz
no bug - add USE_NYTPROF to PerlPassEnv (#395)
Diffstat (limited to 'mod_perl.pl')
-rw-r--r--mod_perl.pl11
1 files changed, 10 insertions, 1 deletions
diff --git a/mod_perl.pl b/mod_perl.pl
index f94b7f7d4..09fd80850 100644
--- a/mod_perl.pl
+++ b/mod_perl.pl
@@ -23,8 +23,14 @@ BEGIN {
}
use Bugzilla::ModPerl::StartupFix;
+use Taint::Util qw(untaint);
use constant USE_NYTPROF => !! $ENV{USE_NYTPROF};
+use constant NYTPROF_DIR => do {
+ my $dir = $ENV{NYTPROF_DIR};
+ untaint($dir);
+ $dir;
+};
BEGIN {
if (USE_NYTPROF) {
$ENV{NYTPROF} = "savesrc=0:start=no:addpid=1";
@@ -132,6 +138,7 @@ use base qw(ModPerl::Registry);
use Bugzilla;
use Bugzilla::Constants qw(USAGE_MODE_REST bz_locations);
use Time::HiRes;
+use Sys::Hostname;
sub handler : method {
my $class = shift;
@@ -150,9 +157,11 @@ sub handler : method {
if (Bugzilla::ModPerl::USE_NYTPROF) {
state $count = {};
+ state $dir = Bugzilla::ModPerl::NYTPROF_DIR // bz_locations()->{datadir};
+ state $host = (split(/\./, hostname()))[0];
my $script = File::Basename::basename($ENV{SCRIPT_FILENAME});
$script =~ s/\.cgi$//;
- my $file = bz_locations()->{datadir} . "/nytprof.$script." . ++$count->{$$};
+ my $file = $dir . "/nytprof.$host.$script." . ++$count->{$$};
DB::enable_profile($file);
}
Bugzilla::init_page();