mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-12 14:18:32 +00:00
Add service, data_ts, and entry_ts to LogEntry resource. Add corresponding attribs to Logger, as well as queue_wait.
This commit is contained in:
48
bin/pt-agent
48
bin/pt-agent
@@ -1493,6 +1493,24 @@ package Percona::WebAPI::Resource::LogEntry;
|
||||
|
||||
use Lmo;
|
||||
|
||||
has 'service' => (
|
||||
is => 'ro',
|
||||
isa => 'Str',
|
||||
required => 0,
|
||||
);
|
||||
|
||||
has 'data_ts' => (
|
||||
is => 'ro',
|
||||
isa => 'Int',
|
||||
required => 0,
|
||||
);
|
||||
|
||||
has 'entry_ts' => (
|
||||
is => 'ro',
|
||||
isa => 'Str',
|
||||
required => 1,
|
||||
);
|
||||
|
||||
has 'log_level' => (
|
||||
is => 'ro',
|
||||
isa => 'Int',
|
||||
@@ -4831,6 +4849,25 @@ has 'exit_status' => (
|
||||
required => 1,
|
||||
);
|
||||
|
||||
has 'queue_wait' => (
|
||||
is => 'rw',
|
||||
isa => 'Int',
|
||||
required => 0,
|
||||
default => sub { return 3; },
|
||||
);
|
||||
|
||||
has 'service' => (
|
||||
is => 'ro',
|
||||
isa => 'Str',
|
||||
required => 0,
|
||||
);
|
||||
|
||||
has 'data_ts' => (
|
||||
is => 'ro',
|
||||
isa => 'Int',
|
||||
required => 0,
|
||||
);
|
||||
|
||||
has '_message_queue' => (
|
||||
is => 'rw',
|
||||
isa => 'Object',
|
||||
@@ -4871,8 +4908,11 @@ sub enable_online_logging {
|
||||
{
|
||||
if ( defined $entry->[0] ) {
|
||||
push @log_entries, Percona::WebAPI::Resource::LogEntry->new(
|
||||
log_level => $entry->[0],
|
||||
message => $entry->[1],
|
||||
entry_ts => $entry->[0],
|
||||
log_level => $entry->[1],
|
||||
message => $entry->[2],
|
||||
($self->service ? (service => $self->service) : ()),
|
||||
($self->data_ts ? (data_ts => $self->data_ts) : ()),
|
||||
);
|
||||
}
|
||||
else {
|
||||
@@ -4894,7 +4934,7 @@ sub enable_online_logging {
|
||||
}
|
||||
} # have log entries
|
||||
if ( $oktorun ) {
|
||||
sleep ($self->_message_queue ? 3 : 5);
|
||||
sleep $self->queue_wait;
|
||||
}
|
||||
} # QUEUE
|
||||
} # threads::async
|
||||
@@ -4969,7 +5009,7 @@ sub _log {
|
||||
print "$ts $level $msg\n";
|
||||
}
|
||||
if ( $self->online_logging ) {
|
||||
my @event :shared = ($level_number, $msg);
|
||||
my @event :shared = ($ts, $level_number, $msg);
|
||||
$self->_message_queue->enqueue(\@event);
|
||||
}
|
||||
return;
|
||||
|
@@ -60,6 +60,25 @@ has 'exit_status' => (
|
||||
required => 1,
|
||||
);
|
||||
|
||||
has 'queue_wait' => (
|
||||
is => 'rw',
|
||||
isa => 'Int',
|
||||
required => 0,
|
||||
default => sub { return 3; },
|
||||
);
|
||||
|
||||
has 'service' => (
|
||||
is => 'ro',
|
||||
isa => 'Str',
|
||||
required => 0,
|
||||
);
|
||||
|
||||
has 'data_ts' => (
|
||||
is => 'ro',
|
||||
isa => 'Int',
|
||||
required => 0,
|
||||
);
|
||||
|
||||
has '_message_queue' => (
|
||||
is => 'rw',
|
||||
isa => 'Object',
|
||||
@@ -101,8 +120,11 @@ sub enable_online_logging {
|
||||
# $entry = [ level, "message" ]
|
||||
if ( defined $entry->[0] ) {
|
||||
push @log_entries, Percona::WebAPI::Resource::LogEntry->new(
|
||||
log_level => $entry->[0],
|
||||
message => $entry->[1],
|
||||
entry_ts => $entry->[0],
|
||||
log_level => $entry->[1],
|
||||
message => $entry->[2],
|
||||
($self->service ? (service => $self->service) : ()),
|
||||
($self->data_ts ? (data_ts => $self->data_ts) : ()),
|
||||
);
|
||||
}
|
||||
else {
|
||||
@@ -125,7 +147,7 @@ sub enable_online_logging {
|
||||
}
|
||||
} # have log entries
|
||||
if ( $oktorun ) {
|
||||
sleep ($self->_message_queue ? 3 : 5);
|
||||
sleep $self->queue_wait;
|
||||
}
|
||||
} # QUEUE
|
||||
} # threads::async
|
||||
@@ -201,7 +223,7 @@ sub _log {
|
||||
print "$ts $level $msg\n";
|
||||
}
|
||||
if ( $self->online_logging ) {
|
||||
my @event :shared = ($level_number, $msg);
|
||||
my @event :shared = ($ts, $level_number, $msg);
|
||||
$self->_message_queue->enqueue(\@event);
|
||||
}
|
||||
return;
|
||||
|
@@ -22,6 +22,24 @@ package Percona::WebAPI::Resource::LogEntry;
|
||||
|
||||
use Lmo;
|
||||
|
||||
has 'service' => (
|
||||
is => 'ro',
|
||||
isa => 'Str',
|
||||
required => 0,
|
||||
);
|
||||
|
||||
has 'data_ts' => (
|
||||
is => 'ro',
|
||||
isa => 'Int',
|
||||
required => 0,
|
||||
);
|
||||
|
||||
has 'entry_ts' => (
|
||||
is => 'ro',
|
||||
isa => 'Str',
|
||||
required => 1,
|
||||
);
|
||||
|
||||
has 'log_level' => (
|
||||
is => 'ro',
|
||||
isa => 'Int',
|
||||
|
Reference in New Issue
Block a user