mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-10 21:19:59 +00:00
Replace __BIN_DIR__ and __TRASH_FILE__. Init --spool/.trash.
This commit is contained in:
26
bin/pt-agent
26
bin/pt-agent
@@ -5398,7 +5398,7 @@ sub main {
|
|||||||
$logger->info("Done running $service, exit $exit_status");
|
$logger->info("Done running $service, exit $exit_status");
|
||||||
};
|
};
|
||||||
if ( $EVAL_ERROR ) {
|
if ( $EVAL_ERROR ) {
|
||||||
$logger->error("Error running pt-agent --service $service: $EVAL_ERROR");
|
$logger->fatal("Error running service $service: $EVAL_ERROR");
|
||||||
}
|
}
|
||||||
return $exit_status;
|
return $exit_status;
|
||||||
}
|
}
|
||||||
@@ -5418,7 +5418,7 @@ sub main {
|
|||||||
$logger->info("Done sending data for $service, exit $exit_status");
|
$logger->info("Done sending data for $service, exit $exit_status");
|
||||||
};
|
};
|
||||||
if ( $EVAL_ERROR ) {
|
if ( $EVAL_ERROR ) {
|
||||||
$logger->error("Error running pt-agent --send-data $service: $EVAL_ERROR");
|
$logger->fatal("Error running sending $service data: $EVAL_ERROR");
|
||||||
}
|
}
|
||||||
return $exit_status;
|
return $exit_status;
|
||||||
}
|
}
|
||||||
@@ -5487,7 +5487,7 @@ sub main {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
if ( $EVAL_ERROR ) {
|
if ( $EVAL_ERROR ) {
|
||||||
$logger->fatal("pt-agent crashed: $EVAL_ERROR");
|
$logger->fatal("Error running agent: $EVAL_ERROR");
|
||||||
}
|
}
|
||||||
|
|
||||||
$logger->info("pt-agent exit $exit_status, oktorun $oktorun");
|
$logger->info("pt-agent exit $exit_status, oktorun $oktorun");
|
||||||
@@ -6779,6 +6779,7 @@ sub run_service {
|
|||||||
my $cxn = $args{Cxn};
|
my $cxn = $args{Cxn};
|
||||||
|
|
||||||
# Optional args
|
# Optional args
|
||||||
|
my $bin_dir = defined $args{bin_dir} ? $args{bin_dir} : "$FindBin::Bin/";
|
||||||
my $agent = $args{agent}; # for testing
|
my $agent = $args{agent}; # for testing
|
||||||
my $client = $args{client}; # for testing
|
my $client = $args{client}; # for testing
|
||||||
my $json = $args{json}; # for testing
|
my $json = $args{json}; # for testing
|
||||||
@@ -6970,13 +6971,15 @@ sub run_service {
|
|||||||
if ( my $query = $task->query ) {
|
if ( my $query = $task->query ) {
|
||||||
$query = replace_special_vars(
|
$query = replace_special_vars(
|
||||||
cmd => $query,
|
cmd => $query,
|
||||||
|
spool_dir => $spool_dir,
|
||||||
output_files => \@output_files, # __RUN_n_OUTPUT__
|
output_files => \@output_files, # __RUN_n_OUTPUT__
|
||||||
service => $service->name, # __SERVICE__
|
service => $service->name, # __SERVICE__
|
||||||
lib_dir => $lib_dir, # __LIB__
|
lib_dir => $lib_dir, # __LIB__
|
||||||
meta_dir => "$lib_dir/meta", # __META__
|
meta_dir => "$lib_dir/meta", # __META__
|
||||||
stage_dir => $tmp_dir, # __STAGE__
|
stage_dir => $tmp_dir, # __STAGE__
|
||||||
store => $store, # __STORE_key__
|
store => $store, # __STORE_key__
|
||||||
ts => $prefix,
|
ts => $prefix, # __TS__
|
||||||
|
bin_dir => $bin_dir, # __BIN_DIR__
|
||||||
);
|
);
|
||||||
$logger->info("Task $taskno query: $query");
|
$logger->info("Task $taskno query: $query");
|
||||||
my $rows;
|
my $rows;
|
||||||
@@ -7033,13 +7036,15 @@ sub run_service {
|
|||||||
);
|
);
|
||||||
$cmd = replace_special_vars(
|
$cmd = replace_special_vars(
|
||||||
cmd => $cmd,
|
cmd => $cmd,
|
||||||
|
spool_dir => $spool_dir,
|
||||||
output_files => \@output_files, # __RUN_n_OUTPUT__
|
output_files => \@output_files, # __RUN_n_OUTPUT__
|
||||||
service => $service->name, # __SERVICE__
|
service => $service->name, # __SERVICE__
|
||||||
lib_dir => $lib_dir, # __LIB__
|
lib_dir => $lib_dir, # __LIB__
|
||||||
meta_dir => "$lib_dir/meta", # __META__
|
meta_dir => "$lib_dir/meta", # __META__
|
||||||
stage_dir => $tmp_dir, # __STAGE__
|
stage_dir => $tmp_dir, # __STAGE__
|
||||||
store => $store, # __STORE_key__
|
store => $store, # __STORE_key__
|
||||||
ts => $prefix,
|
ts => $prefix, # __TS__
|
||||||
|
bin_dir => $bin_dir, # __BIN_DIR__
|
||||||
);
|
);
|
||||||
$logger->info("Task $taskno command: $cmd");
|
$logger->info("Task $taskno command: $cmd");
|
||||||
|
|
||||||
@@ -7157,6 +7162,7 @@ sub replace_special_vars {
|
|||||||
|
|
||||||
have_required_args(\%args, qw(
|
have_required_args(\%args, qw(
|
||||||
cmd
|
cmd
|
||||||
|
spool_dir
|
||||||
output_files
|
output_files
|
||||||
service
|
service
|
||||||
lib_dir
|
lib_dir
|
||||||
@@ -7164,8 +7170,10 @@ sub replace_special_vars {
|
|||||||
stage_dir
|
stage_dir
|
||||||
store
|
store
|
||||||
ts
|
ts
|
||||||
|
bin_dir
|
||||||
)) or die;
|
)) or die;
|
||||||
my $cmd = $args{cmd};
|
my $cmd = $args{cmd};
|
||||||
|
my $spool_dir = $args{spool_dir};
|
||||||
my $output_files = $args{output_files};
|
my $output_files = $args{output_files};
|
||||||
my $service = $args{service};
|
my $service = $args{service};
|
||||||
my $lib_dir = $args{lib_dir};
|
my $lib_dir = $args{lib_dir};
|
||||||
@@ -7173,6 +7181,7 @@ sub replace_special_vars {
|
|||||||
my $stage_dir = $args{stage_dir};
|
my $stage_dir = $args{stage_dir};
|
||||||
my $store = $args{store};
|
my $store = $args{store};
|
||||||
my $ts = $args{ts};
|
my $ts = $args{ts};
|
||||||
|
my $bin_dir = $args{bin_dir};
|
||||||
|
|
||||||
my $new_cmd = join(' ',
|
my $new_cmd = join(' ',
|
||||||
map {
|
map {
|
||||||
@@ -7195,6 +7204,9 @@ sub replace_special_vars {
|
|||||||
$word =~ s/__SERVICE__/$service/g;
|
$word =~ s/__SERVICE__/$service/g;
|
||||||
$word =~ s/__STAGE_FILE_/$stage_dir\/$ts.$service/g;
|
$word =~ s/__STAGE_FILE_/$stage_dir\/$ts.$service/g;
|
||||||
$word =~ s/__META__FILE__/$meta_dir\/$service/g;
|
$word =~ s/__META__FILE__/$meta_dir\/$service/g;
|
||||||
|
$word =~ s/__BIN_DIR__/$bin_dir/g;
|
||||||
|
$word =~ s/__TRASH_FILE__/$spool_dir\/.trash\/$service/g;
|
||||||
|
|
||||||
$word;
|
$word;
|
||||||
}
|
}
|
||||||
split(/\s+/, $cmd)
|
split(/\s+/, $cmd)
|
||||||
@@ -7224,7 +7236,7 @@ sub init_spool_dir {
|
|||||||
die "$spool_dir is not writeable\n";
|
die "$spool_dir is not writeable\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach my $subdir ( $service, '.tmp' ) {
|
foreach my $subdir ( $service, '.tmp', '.trash' ) {
|
||||||
next unless $subdir; # service may be undef
|
next unless $subdir; # service may be undef
|
||||||
my $dir = "$spool_dir/$subdir";
|
my $dir = "$spool_dir/$subdir";
|
||||||
if ( ! -d $dir ) {
|
if ( ! -d $dir ) {
|
||||||
@@ -7316,7 +7328,7 @@ sub send_data {
|
|||||||
);
|
);
|
||||||
$daemon->run();
|
$daemon->run();
|
||||||
|
|
||||||
$logger->info("Sending $service service data");
|
$logger->info("Sending $service data");
|
||||||
|
|
||||||
# Connect to Percona, get entry links.
|
# Connect to Percona, get entry links.
|
||||||
my $entry_links;
|
my $entry_links;
|
||||||
|
Reference in New Issue
Block a user