summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan William Hardison <dylan@hardison.net>2018-03-01 21:13:01 +0100
committerGitHub <noreply@github.com>2018-03-01 21:13:01 +0100
commitee53f368cbdab939fbc70e82bf135967b796f5c0 (patch)
treedaaf6769a7b30793b3ed6522332a6dbc039201d3
parentfb85881651195cd97ef1499136e947dd56c3b4f3 (diff)
downloadbugzilla-ee53f368cbdab939fbc70e82bf135967b796f5c0.tar.gz
bugzilla-ee53f368cbdab939fbc70e82bf135967b796f5c0.tar.xz
Bug 1442099 - Add memcached tracing to help debug weirdness in cloud env
-rw-r--r--Bugzilla/Memcached.pm21
1 files changed, 14 insertions, 7 deletions
diff --git a/Bugzilla/Memcached.pm b/Bugzilla/Memcached.pm
index 1623296f8..0ceed97c0 100644
--- a/Bugzilla/Memcached.pm
+++ b/Bugzilla/Memcached.pm
@@ -11,6 +11,8 @@ use 5.10.1;
use strict;
use warnings;
+use Bugzilla::Logging;
+use Log::Log4perl qw(:easy);
use Bugzilla::Error;
use Scalar::Util qw(blessed);
use List::Util qw(sum);
@@ -33,12 +35,16 @@ sub _new {
my $servers = Bugzilla->localconfig->{memcached_servers};
if (Bugzilla->feature('memcached') && $servers) {
$self->{namespace} = Bugzilla->localconfig->{memcached_namespace};
+ TRACE("connecting servers: $servers, namespace: $self->{namespace}");
$self->{memcached} = Cache::Memcached::Fast->new({
servers => [ split(/[, ]+/, $servers) ],
namespace => $self->{namespace},
max_size => 1024 * 1024 * 4,
});
}
+ else {
+ TRACE("memcached feature is not enabled");
+ }
return bless($self, $class);
}
@@ -266,9 +272,7 @@ sub _inc_prefix {
delete Bugzilla->request_cache->{"memcached_prefix_$name"};
# BMO - log that we've wiped the cache
- openlog('apache', 'cons,pid', 'local4');
- syslog('notice', encode_utf8("[memcached] $name cache cleared"));
- closelog();
+ INFO("$name cache cleared");
}
sub _global_prefix {
@@ -300,17 +304,20 @@ sub _set {
param => "value" });
}
- $key = $self->_encode_key($key)
+ my $enc_key = $self->_encode_key($key)
or return;
- return $self->{memcached}->set($key, $value);
+ TRACE("set $enc_key");
+ return $self->{memcached}->set($enc_key, $value);
}
sub _get {
my ($self, $key) = @_;
- $key = $self->_encode_key($key)
+ my $enc_key = $self->_encode_key($key)
or return;
- return $self->{memcached}->get($key);
+ my $val = $self->{memcached}->get($key);
+ TRACE("get $enc_key: " . (defined $val ? "HIT" : "MISS"));
+ return $val;
}
sub _delete {