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;
|
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' => (
|
has 'log_level' => (
|
||||||
is => 'ro',
|
is => 'ro',
|
||||||
isa => 'Int',
|
isa => 'Int',
|
||||||
@@ -4831,6 +4849,25 @@ has 'exit_status' => (
|
|||||||
required => 1,
|
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' => (
|
has '_message_queue' => (
|
||||||
is => 'rw',
|
is => 'rw',
|
||||||
isa => 'Object',
|
isa => 'Object',
|
||||||
@@ -4871,8 +4908,11 @@ sub enable_online_logging {
|
|||||||
{
|
{
|
||||||
if ( defined $entry->[0] ) {
|
if ( defined $entry->[0] ) {
|
||||||
push @log_entries, Percona::WebAPI::Resource::LogEntry->new(
|
push @log_entries, Percona::WebAPI::Resource::LogEntry->new(
|
||||||
log_level => $entry->[0],
|
entry_ts => $entry->[0],
|
||||||
message => $entry->[1],
|
log_level => $entry->[1],
|
||||||
|
message => $entry->[2],
|
||||||
|
($self->service ? (service => $self->service) : ()),
|
||||||
|
($self->data_ts ? (data_ts => $self->data_ts) : ()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -4894,7 +4934,7 @@ sub enable_online_logging {
|
|||||||
}
|
}
|
||||||
} # have log entries
|
} # have log entries
|
||||||
if ( $oktorun ) {
|
if ( $oktorun ) {
|
||||||
sleep ($self->_message_queue ? 3 : 5);
|
sleep $self->queue_wait;
|
||||||
}
|
}
|
||||||
} # QUEUE
|
} # QUEUE
|
||||||
} # threads::async
|
} # threads::async
|
||||||
@@ -4969,7 +5009,7 @@ sub _log {
|
|||||||
print "$ts $level $msg\n";
|
print "$ts $level $msg\n";
|
||||||
}
|
}
|
||||||
if ( $self->online_logging ) {
|
if ( $self->online_logging ) {
|
||||||
my @event :shared = ($level_number, $msg);
|
my @event :shared = ($ts, $level_number, $msg);
|
||||||
$self->_message_queue->enqueue(\@event);
|
$self->_message_queue->enqueue(\@event);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@@ -60,6 +60,25 @@ has 'exit_status' => (
|
|||||||
required => 1,
|
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' => (
|
has '_message_queue' => (
|
||||||
is => 'rw',
|
is => 'rw',
|
||||||
isa => 'Object',
|
isa => 'Object',
|
||||||
@@ -101,8 +120,11 @@ sub enable_online_logging {
|
|||||||
# $entry = [ level, "message" ]
|
# $entry = [ level, "message" ]
|
||||||
if ( defined $entry->[0] ) {
|
if ( defined $entry->[0] ) {
|
||||||
push @log_entries, Percona::WebAPI::Resource::LogEntry->new(
|
push @log_entries, Percona::WebAPI::Resource::LogEntry->new(
|
||||||
log_level => $entry->[0],
|
entry_ts => $entry->[0],
|
||||||
message => $entry->[1],
|
log_level => $entry->[1],
|
||||||
|
message => $entry->[2],
|
||||||
|
($self->service ? (service => $self->service) : ()),
|
||||||
|
($self->data_ts ? (data_ts => $self->data_ts) : ()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -125,7 +147,7 @@ sub enable_online_logging {
|
|||||||
}
|
}
|
||||||
} # have log entries
|
} # have log entries
|
||||||
if ( $oktorun ) {
|
if ( $oktorun ) {
|
||||||
sleep ($self->_message_queue ? 3 : 5);
|
sleep $self->queue_wait;
|
||||||
}
|
}
|
||||||
} # QUEUE
|
} # QUEUE
|
||||||
} # threads::async
|
} # threads::async
|
||||||
@@ -201,7 +223,7 @@ sub _log {
|
|||||||
print "$ts $level $msg\n";
|
print "$ts $level $msg\n";
|
||||||
}
|
}
|
||||||
if ( $self->online_logging ) {
|
if ( $self->online_logging ) {
|
||||||
my @event :shared = ($level_number, $msg);
|
my @event :shared = ($ts, $level_number, $msg);
|
||||||
$self->_message_queue->enqueue(\@event);
|
$self->_message_queue->enqueue(\@event);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@@ -22,6 +22,24 @@ package Percona::WebAPI::Resource::LogEntry;
|
|||||||
|
|
||||||
use Lmo;
|
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' => (
|
has 'log_level' => (
|
||||||
is => 'ro',
|
is => 'ro',
|
||||||
isa => 'Int',
|
isa => 'Int',
|
||||||
|
Reference in New Issue
Block a user