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 /Bugzilla/Instrument.pm | |
parent | 9193214274889f2b7636146e72d8200e9bfaeb7b (diff) | |
download | bugzilla-faf2fc5dbead69f0de0df51af85561f1203dee45.tar.gz bugzilla-faf2fc5dbead69f0de0df51af85561f1203dee45.tar.xz |
Bug 956230: improve instrumentation of bugzilla's internals
Diffstat (limited to 'Bugzilla/Instrument.pm')
-rw-r--r-- | Bugzilla/Instrument.pm | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/Bugzilla/Instrument.pm b/Bugzilla/Instrument.pm deleted file mode 100644 index 4ab74ff8e..000000000 --- a/Bugzilla/Instrument.pm +++ /dev/null @@ -1,68 +0,0 @@ -# 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. - -package Bugzilla::Instrument; - -use strict; -use warnings; - -use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC); -use Encode qw(encode_utf8); -use Sys::Syslog qw(:DEFAULT); - -sub new { - my ($class, $label) = @_; - my $self = bless({ times => [], labels => [], values => [] }, $class); - $self->label($label); - $self->time('start_time'); - return $self; -} - -sub time { - my ($self, $name) = @_; - # for now $name isn't used - push @{ $self->{times} }, clock_gettime(CLOCK_MONOTONIC); -} - -sub label { - my ($self, $value) = @_; - push @{ $self->{labels} }, $value; -} - -sub value { - my ($self, $name, $value) = @_; - # for now $name isn't used - push @{ $self->{values} }, $value; -} - -sub log { - my $self = shift; - - my @times = @{ $self->{times} }; - return unless scalar(@times) >= 2; - my @labels = @{ $self->{labels} }; - my @values = @{ $self->{values} }; - - # calculate diffs - my @diffs = ($times[$#times] - $times[0]); - while (1) { - my $start = shift(@times); - last unless scalar(@times); - push @diffs, $times[0] - $start; - } - - # build syslog string - my $format = '[timing]' . (' %s' x scalar(@labels)) . (' %.6f' x scalar(@diffs)) . (' %s' x scalar(@values)); - my $entry = sprintf($format, @labels, @diffs, @values); - - # and log - openlog('apache', 'cons,pid', 'local4'); - syslog('notice', encode_utf8($entry)); - closelog(); -} - -1; |