From eded6438f3b15eccc391525f653e03293a890d32 Mon Sep 17 00:00:00 2001 From: Julien Desfossez Date: Tue, 5 Jul 2016 10:54:33 -0400 Subject: [PATCH] Rename the "metadata regenerate" command to "regenerate metadata" MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Prepare the deprecation of the "metadata regenerate" command since we need to regenerate the statedump as well, so it is more convenient to have one command to regenerate various session's attributes. Signed-off-by: Julien Desfossez Signed-off-by: Jérémie Galarneau --- configure.ac | 2 +- doc/man/Makefile.am | 3 +- doc/man/lttng-metadata.1.txt | 17 +- doc/man/lttng-regenerate.1.txt | 63 +++++ include/lttng/lttng.h | 8 +- src/bin/lttng-sessiond/cmd.c | 15 +- src/bin/lttng-sessiond/cmd.h | 2 +- src/bin/lttng-sessiond/main.c | 6 +- src/bin/lttng/Makefile.am | 1 + src/bin/lttng/command.h | 1 + src/bin/lttng/commands/metadata.c | 2 +- src/bin/lttng/commands/regenerate.c | 266 ++++++++++++++++++ src/bin/lttng/lttng.c | 1 + src/common/kernel-ctl/kernel-ctl.c | 2 +- src/common/kernel-ctl/kernel-ctl.h | 2 +- src/common/mi-lttng.c | 2 + src/common/mi-lttng.h | 2 + src/common/sessiond-comm/sessiond-comm.h | 4 +- src/lib/lttng-ctl/lttng-ctl.c | 12 +- tests/destructive/metadata-regeneration | 8 +- tests/fast_regression | 2 +- tests/regression/Makefile.am | 2 +- tests/regression/tools/Makefile.am | 2 +- tests/regression/tools/mi/test_mi | 4 +- .../Makefile.am | 0 .../test_kernel | 4 +- .../test_ust | 8 +- tests/root_regression | 2 +- tests/utils/utils.sh | 14 +- 29 files changed, 397 insertions(+), 60 deletions(-) create mode 100644 doc/man/lttng-regenerate.1.txt create mode 100644 src/bin/lttng/commands/regenerate.c rename tests/regression/tools/{metadata-regen => regen-metadata}/Makefile.am (100%) rename tests/regression/tools/{metadata-regen => regen-metadata}/test_kernel (97%) rename tests/regression/tools/{metadata-regen => regen-metadata}/test_ust (97%) diff --git a/configure.ac b/configure.ac index fb2b0136f..89a785875 100644 --- a/configure.ac +++ b/configure.ac @@ -980,7 +980,7 @@ AC_CONFIG_FILES([ tests/regression/tools/mi/Makefile tests/regression/tools/wildcard/Makefile tests/regression/tools/crash/Makefile - tests/regression/tools/metadata-regen/Makefile + tests/regression/tools/regen-metadata/Makefile tests/regression/ust/Makefile tests/regression/ust/nprocesses/Makefile tests/regression/ust/high-throughput/Makefile diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am index 1090f1ac1..f75db6ed4 100644 --- a/doc/man/Makefile.am +++ b/doc/man/Makefile.am @@ -30,7 +30,8 @@ MAN1_NAMES = \ lttng-enable-event \ lttng-disable-event \ lttng-crash \ - lttng-metadata + lttng-metadata \ + lttng-regenerate MAN3_NAMES = MAN8_NAMES = lttng-sessiond lttng-relayd MAN1_NO_ASCIIDOC_NAMES = diff --git a/doc/man/lttng-metadata.1.txt b/doc/man/lttng-metadata.1.txt index 0fa240ede..534891632 100644 --- a/doc/man/lttng-metadata.1.txt +++ b/doc/man/lttng-metadata.1.txt @@ -15,21 +15,8 @@ SYNOPSIS DESCRIPTION ----------- -The `lttng metadata` command manages a tracing session's metadata -generation options. - -As of this version, only the `regenerate` command's action is available. -Regenerating a tracing session's metadata can be used to -resample the offset between the system's monotonic clock and -the wall-clock time. - -This command is meant to be used to resample the wall-clock time -following a major -link:https://en.wikipedia.org/wiki/Network_Time_Protocol[NTP] -correction. As such, a system booting with an incorrect wall time can be -traced before its wall time is NTP-corrected. Regenerating the tracing -session's metadata ensures that trace viewers can accurately determine -the events time relative to Unix Epoch. +WARNING: This command is **deprecated**; it has been replaced by the *lttng +regenerate metadata* command (see man:lttng-regenerate(1)). include::common-cmd-options-head.txt[] diff --git a/doc/man/lttng-regenerate.1.txt b/doc/man/lttng-regenerate.1.txt new file mode 100644 index 000000000..dbbfa4d1a --- /dev/null +++ b/doc/man/lttng-regenerate.1.txt @@ -0,0 +1,63 @@ +lttng-regenerate(1) +================= + + +NAME +---- +lttng-regenerate - Manage an LTTng tracing session's data regeneration + + +SYNOPSIS +-------- +Regenerate the metadata of a session + +[verse] +*lttng* ['linkgenoptions:(GENERAL OPTIONS)'] *regenerate metadata* [option:--session='SESSION'] + +DESCRIPTION +----------- +The `lttng regenerate` command manages a tracing session's data regeneration +options. + +As of this version, only the `metadata` command's action is available. +Regenerating a tracing session's metadata can be used to +resample the offset between the system's monotonic clock and +the wall-clock time. + +This command is meant to be used to resample the wall-clock time +following a major +link:https://en.wikipedia.org/wiki/Network_Time_Protocol[NTP] +correction. As such, a system booting with an incorrect wall time can be +traced before its wall time is NTP-corrected. Regenerating the tracing +session's metadata ensures that trace viewers can accurately determine +the events time relative to Unix Epoch. + + +include::common-cmd-options-head.txt[] + + +option:-s, option:--session='SESSION':: + Manage the metadata generation of the tracing session named 'SESSION' + instead of the current tracing session. + + +include::common-cmd-help-options.txt[] + + +LIMITATIONS +----------- +The `lttng regenerate metadata` command can only be used on kernel and +user space tracing sessions (using per-user buffering), in non-live +mode. + +See man:lttng-enable-channel(1) for more information about +buffering schemes and man:lttng-create(1) for more information +about the different tracing session modes. + + +include::common-cmd-footer.txt[] + + +SEE ALSO +-------- +man:lttng(1) diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 2088864d2..09aa969f5 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -159,13 +159,19 @@ extern int lttng_set_consumer_url(struct lttng_handle *handle, */ extern int lttng_data_pending(const char *session_name); +/* + * Deprecated, replaced by lttng_regenerate_metadata. + */ +LTTNG_DEPRECATED() +extern int lttng_metadata_regenerate(const char *session_name); + /* * Trigger the regeneration of the metadata for a session. * The new metadata overwrite the previous one locally or remotely (through * the lttng-relayd). Only kernel, per-uid and non-live sessions are supported. * Return 0 on success, a negative LTTng error code on error. */ -extern int lttng_metadata_regenerate(const char *session_name); +extern int lttng_regenerate_metadata(const char *session_name); #ifdef __cplusplus } diff --git a/src/bin/lttng-sessiond/cmd.c b/src/bin/lttng-sessiond/cmd.c index c74da94f4..bd63389ee 100644 --- a/src/bin/lttng-sessiond/cmd.c +++ b/src/bin/lttng-sessiond/cmd.c @@ -3397,7 +3397,7 @@ error: * Return 0 if the metadata can be generated, a LTTNG_ERR code otherwise. */ static -int check_metadata_regenerate_support(struct ltt_session *session) +int check_regenerate_metadata_support(struct ltt_session *session) { int ret; @@ -3436,7 +3436,7 @@ end: } static -int ust_metadata_regenerate(struct ltt_ust_session *usess) +int ust_regenerate_metadata(struct ltt_ust_session *usess) { int ret = 0; struct buffer_reg_uid *uid_reg = NULL; @@ -3497,7 +3497,7 @@ end: } /* - * Command LTTNG_METADATA_REGENERATE from the lttng-ctl library. + * Command LTTNG_REGENERATE_METADATA from the lttng-ctl library. * * Ask the consumer to truncate the existing metadata file(s) and * then regenerate the metadata. Live and per-pid sessions are not @@ -3505,19 +3505,19 @@ end: * * Return 0 on success or else a LTTNG_ERR code. */ -int cmd_metadata_regenerate(struct ltt_session *session) +int cmd_regenerate_metadata(struct ltt_session *session) { int ret; assert(session); - ret = check_metadata_regenerate_support(session); + ret = check_regenerate_metadata_support(session); if (ret) { goto end; } if (session->kernel_session) { - ret = kernctl_session_metadata_regenerate( + ret = kernctl_session_regenerate_metadata( session->kernel_session->fd); if (ret < 0) { ERR("Failed to regenerate the kernel metadata"); @@ -3526,7 +3526,7 @@ int cmd_metadata_regenerate(struct ltt_session *session) } if (session->ust_session) { - ret = ust_metadata_regenerate(session->ust_session); + ret = ust_regenerate_metadata(session->ust_session); if (ret < 0) { ERR("Failed to regenerate the UST metadata"); goto end; @@ -3539,7 +3539,6 @@ end: return ret; } - /* * Send relayd sockets from snapshot output to consumer. Ignore request if the * snapshot output is *not* set with a remote destination. diff --git a/src/bin/lttng-sessiond/cmd.h b/src/bin/lttng-sessiond/cmd.h index a220e3a45..320d717a3 100644 --- a/src/bin/lttng-sessiond/cmd.h +++ b/src/bin/lttng-sessiond/cmd.h @@ -110,6 +110,6 @@ int cmd_snapshot_record(struct ltt_session *session, int cmd_set_session_shm_path(struct ltt_session *session, const char *shm_path); -int cmd_metadata_regenerate(struct ltt_session *session); +int cmd_regenerate_metadata(struct ltt_session *session); #endif /* CMD_H */ diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index f47f73e0f..afd0cc6e1 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -3004,7 +3004,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx, int sock, case LTTNG_SNAPSHOT_RECORD: case LTTNG_SAVE_SESSION: case LTTNG_SET_SESSION_SHM_PATH: - case LTTNG_METADATA_REGENERATE: + case LTTNG_REGENERATE_METADATA: need_domain = 0; break; default: @@ -4115,9 +4115,9 @@ error_add_context: cmd_ctx->lsm->u.set_shm_path.shm_path); break; } - case LTTNG_METADATA_REGENERATE: + case LTTNG_REGENERATE_METADATA: { - ret = cmd_metadata_regenerate(cmd_ctx->session); + ret = cmd_regenerate_metadata(cmd_ctx->session); break; } default: diff --git a/src/bin/lttng/Makefile.am b/src/bin/lttng/Makefile.am index b911f334c..acd973b25 100644 --- a/src/bin/lttng/Makefile.am +++ b/src/bin/lttng/Makefile.am @@ -18,6 +18,7 @@ lttng_SOURCES = command.h conf.c conf.h commands/start.c \ commands/track-untrack.c \ commands/status.c \ commands/metadata.c \ + commands/regenerate.c \ commands/help.c \ utils.c utils.h lttng.c diff --git a/src/bin/lttng/command.h b/src/bin/lttng/command.h index 72cf4e0ff..3ac61e1e4 100644 --- a/src/bin/lttng/command.h +++ b/src/bin/lttng/command.h @@ -76,6 +76,7 @@ DECL_COMMAND(load); DECL_COMMAND(track); DECL_COMMAND(untrack); DECL_COMMAND(metadata); +DECL_COMMAND(regenerate); extern int cmd_help(int argc, const char **argv, const struct cmd_struct commands[]); diff --git a/src/bin/lttng/commands/metadata.c b/src/bin/lttng/commands/metadata.c index f6a821af3..08d6e5894 100644 --- a/src/bin/lttng/commands/metadata.c +++ b/src/bin/lttng/commands/metadata.c @@ -79,7 +79,7 @@ static int metadata_regenerate(int argc, const char **argv) ret = -LTTNG_ERR_INVALID; goto end; } - ret = lttng_metadata_regenerate(session_name); + ret = lttng_regenerate_metadata(session_name); if (ret == 0) { MSG("Metadata successfully regenerated for session %s", session_name); } diff --git a/src/bin/lttng/commands/regenerate.c b/src/bin/lttng/commands/regenerate.c new file mode 100644 index 000000000..c64d8fe53 --- /dev/null +++ b/src/bin/lttng/commands/regenerate.c @@ -0,0 +1,266 @@ +/* + * Copyright (C) 2015 - Julien Desfossez + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2 only, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#define _LGPL_SOURCE +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "../command.h" + +static char *opt_session_name; +static char *session_name = NULL; + +static int regenerate_metadata(int argc, const char **argv); + +enum { + OPT_HELP = 1, + OPT_LIST_OPTIONS, + OPT_LIST_COMMANDS, +}; + +static struct mi_writer *writer; + +static struct poptOption long_options[] = { + /* { longName, shortName, argInfo, argPtr, value, descrip, argDesc, } */ + { "help", 'h', POPT_ARG_NONE, 0, OPT_HELP, 0, 0, }, + { "session", 's', POPT_ARG_STRING, &opt_session_name, 0, 0, 0}, + { "list-options", 0, POPT_ARG_NONE, NULL, OPT_LIST_OPTIONS, 0, 0, }, + { "list-commands", 0, POPT_ARG_NONE, NULL, OPT_LIST_COMMANDS}, + { 0, 0, 0, 0, 0, 0, 0, }, +}; + +static struct cmd_struct actions[] = { + { "metadata", regenerate_metadata }, + { NULL, NULL } /* Array closure */ +}; + +/* + * Count and return the number of arguments in argv. + */ +static int count_arguments(const char **argv) +{ + int i = 0; + + assert(argv); + + while (argv[i] != NULL) { + i++; + } + + return i; +} + +static int regenerate_metadata(int argc, const char **argv) +{ + int ret; + + if (argc > 1) { + ret = -LTTNG_ERR_INVALID; + goto end; + } + ret = lttng_regenerate_metadata(session_name); + if (ret == 0) { + MSG("Metadata successfully regenerated for session %s", session_name); + } + +end: + return ret; +} + +static int handle_command(const char **argv) +{ + struct cmd_struct *cmd; + int ret = CMD_SUCCESS, i = 0, argc, command_ret = CMD_SUCCESS; + + if (argv == NULL) { + ERR("argv is null"); + command_ret = CMD_ERROR; + goto end; + } + + argc = count_arguments(argv); + + cmd = &actions[i]; + while (cmd->func != NULL) { + /* Find command */ + if (strcmp(argv[0], cmd->name) == 0) { + if (lttng_opt_mi) { + /* Action element */ + ret = mi_lttng_writer_open_element(writer, + mi_lttng_element_command_regenerate_action); + if (ret) { + ret = CMD_ERROR; + goto end; + } + + /* Name of the action */ + ret = mi_lttng_writer_write_element_string(writer, + config_element_name, argv[0]); + if (ret) { + ret = CMD_ERROR; + goto end; + } + } + command_ret = cmd->func(argc, argv); + if (lttng_opt_mi) { + /* Close output and action element */ + ret = mi_lttng_writer_close_element(writer); + if (ret) { + ret = CMD_ERROR; + goto end; + } + } + goto end; + } + + cmd = &actions[i++]; + } + + ret = CMD_UNDEFINED; + +end: + /* Overwrite ret if an error occurred in cmd->func() */ + ret = command_ret ? command_ret : ret; + return ret; +} + +/* + * regenerate command handling. + */ +int cmd_regenerate(int argc, const char **argv) +{ + int opt, ret = CMD_SUCCESS, command_ret = CMD_SUCCESS, success = 1; + static poptContext pc; + + if (argc < 1) { + SHOW_HELP(); + ret = CMD_ERROR; + goto end; + } + + pc = poptGetContext(NULL, argc, argv, long_options, 0); + poptReadDefaultConfig(pc, 0); + + if (lttng_opt_mi) { + writer = mi_lttng_writer_create(fileno(stdout), lttng_opt_mi); + if (!writer) { + ret = -LTTNG_ERR_NOMEM; + goto end; + } + /* Open command element */ + ret = mi_lttng_writer_command_open(writer, + mi_lttng_element_command_regenerate); + if (ret) { + ret = CMD_ERROR; + goto end; + } + + /* Open output element */ + ret = mi_lttng_writer_open_element(writer, + mi_lttng_element_command_output); + if (ret) { + ret = CMD_ERROR; + goto end; + } + } + + while ((opt = poptGetNextOpt(pc)) != -1) { + switch (opt) { + case OPT_HELP: + SHOW_HELP(); + goto end; + case OPT_LIST_OPTIONS: + list_cmd_options(stdout, long_options); + goto end; + case OPT_LIST_COMMANDS: + list_commands(actions, stdout); + goto end; + default: + SHOW_HELP(); + ret = CMD_UNDEFINED; + goto end; + } + } + + if (!opt_session_name) { + session_name = get_session_name(); + if (session_name == NULL) { + ret = CMD_ERROR; + goto end; + } + } else { + session_name = opt_session_name; + } + + command_ret = handle_command(poptGetArgs(pc)); + if (command_ret) { + switch (-command_ret) { + default: + ERR("%s", lttng_strerror(command_ret)); + success = 0; + break; + } + } + + if (lttng_opt_mi) { + /* Close output element */ + ret = mi_lttng_writer_close_element(writer); + if (ret) { + ret = CMD_ERROR; + goto end; + } + + /* Success ? */ + ret = mi_lttng_writer_write_element_bool(writer, + mi_lttng_element_command_success, success); + if (ret) { + ret = CMD_ERROR; + goto end; + } + + /* Command element close */ + ret = mi_lttng_writer_command_close(writer); + if (ret) { + ret = CMD_ERROR; + goto end; + } + } + +end: + /* Mi clean-up */ + if (writer && mi_lttng_writer_destroy(writer)) { + /* Preserve original error code */ + ret = ret ? ret : -LTTNG_ERR_MI_IO_FAIL; + } + + if (!opt_session_name) { + free(session_name); + } + + /* Overwrite ret if an error occurred during handle_command() */ + ret = command_ret ? command_ret : ret; + + poptFreeContext(pc); + return ret; +} diff --git a/src/bin/lttng/lttng.c b/src/bin/lttng/lttng.c index 987a9dda3..34816be56 100644 --- a/src/bin/lttng/lttng.c +++ b/src/bin/lttng/lttng.c @@ -88,6 +88,7 @@ static struct cmd_struct commands[] = { { "help", NULL}, { "version", cmd_version}, { "view", cmd_view}, + { "regenerate", cmd_regenerate}, { NULL, NULL} /* Array closure */ }; diff --git a/src/common/kernel-ctl/kernel-ctl.c b/src/common/kernel-ctl/kernel-ctl.c index 3d12df417..e1de0e715 100644 --- a/src/common/kernel-ctl/kernel-ctl.c +++ b/src/common/kernel-ctl/kernel-ctl.c @@ -225,7 +225,7 @@ int kernctl_list_tracker_pids(int fd) return LTTNG_IOCTL_NO_CHECK(fd, LTTNG_KERNEL_SESSION_LIST_TRACKER_PIDS); } -int kernctl_session_metadata_regenerate(int fd) +int kernctl_session_regenerate_metadata(int fd) { return LTTNG_IOCTL_CHECK(fd, LTTNG_KERNEL_SESSION_METADATA_REGEN); } diff --git a/src/common/kernel-ctl/kernel-ctl.h b/src/common/kernel-ctl/kernel-ctl.h index 6736937d0..f30e6f3b4 100644 --- a/src/common/kernel-ctl/kernel-ctl.h +++ b/src/common/kernel-ctl/kernel-ctl.h @@ -65,7 +65,7 @@ int kernctl_track_pid(int fd, int pid); int kernctl_untrack_pid(int fd, int pid); int kernctl_list_tracker_pids(int fd); -int kernctl_session_metadata_regenerate(int fd); +int kernctl_session_regenerate_metadata(int fd); /* Buffer operations */ diff --git a/src/common/mi-lttng.c b/src/common/mi-lttng.c index 109fb418a..57678c1b8 100644 --- a/src/common/mi-lttng.c +++ b/src/common/mi-lttng.c @@ -58,6 +58,8 @@ const char * const mi_lttng_element_command_list = "list"; const char * const mi_lttng_element_command_load = "load"; LTTNG_HIDDEN const char * const mi_lttng_element_command_metadata = "metadata"; LTTNG_HIDDEN const char * const mi_lttng_element_command_metadata_action = "metadata_action"; +LTTNG_HIDDEN const char * const mi_lttng_element_command_regenerate = "regenerate"; +LTTNG_HIDDEN const char * const mi_lttng_element_command_regenerate_action = "regenerate_action"; const char * const mi_lttng_element_command_name = "name"; const char * const mi_lttng_element_command_output = "output"; const char * const mi_lttng_element_command_save = "save"; diff --git a/src/common/mi-lttng.h b/src/common/mi-lttng.h index 585818dae..cf5f468f7 100644 --- a/src/common/mi-lttng.h +++ b/src/common/mi-lttng.h @@ -64,6 +64,8 @@ extern const char * const mi_lttng_element_command_list; extern const char * const mi_lttng_element_command_load; extern const char * const mi_lttng_element_command_metadata; extern const char * const mi_lttng_element_command_metadata_action; +extern const char * const mi_lttng_element_command_regenerate; +extern const char * const mi_lttng_element_command_regenerate_action; extern const char * const mi_lttng_element_command_name; extern const char * const mi_lttng_element_command_output; extern const char * const mi_lttng_element_command_save; diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index 09838655b..29740c1d0 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -94,7 +94,7 @@ enum lttcomm_sessiond_command { LTTNG_UNTRACK_PID = 33, LTTNG_LIST_TRACKER_PIDS = 34, LTTNG_SET_SESSION_SHM_PATH = 40, - LTTNG_METADATA_REGENERATE = 41, + LTTNG_REGENERATE_METADATA = 41, }; enum lttcomm_relayd_command { @@ -526,7 +526,7 @@ struct lttcomm_consumer_msg { } LTTNG_PACKED lost_packets; struct { uint64_t session_id; - } LTTNG_PACKED metadata_regenerate; + } LTTNG_PACKED regenerate_metadata; } u; } LTTNG_PACKED; diff --git a/src/lib/lttng-ctl/lttng-ctl.c b/src/lib/lttng-ctl/lttng-ctl.c index 0ae6b0b6e..8c78e1c19 100644 --- a/src/lib/lttng-ctl/lttng-ctl.c +++ b/src/lib/lttng-ctl/lttng-ctl.c @@ -2384,7 +2384,7 @@ int lttng_list_tracker_pids(struct lttng_handle *handle, * Regenerate the metadata for a session. * Return 0 on success, a negative error code on error. */ -int lttng_metadata_regenerate(const char *session_name) +int lttng_regenerate_metadata(const char *session_name) { int ret; struct lttcomm_session_msg lsm; @@ -2395,7 +2395,7 @@ int lttng_metadata_regenerate(const char *session_name) } memset(&lsm, 0, sizeof(lsm)); - lsm.cmd_type = LTTNG_METADATA_REGENERATE; + lsm.cmd_type = LTTNG_REGENERATE_METADATA; lttng_ctl_copy_string(lsm.session.name, session_name, sizeof(lsm.session.name)); @@ -2410,6 +2410,14 @@ end: return ret; } +/* + * Deprecated, replaced by lttng_regenerate_metadata. + */ +int lttng_metadata_regenerate(const char *session_name) +{ + return lttng_regenerate_metadata(session_name); +} + /* * lib constructor. */ diff --git a/tests/destructive/metadata-regeneration b/tests/destructive/metadata-regeneration index 32469b5b4..d4e632a11 100755 --- a/tests/destructive/metadata-regeneration +++ b/tests/destructive/metadata-regeneration @@ -89,7 +89,7 @@ function test_kernel_local () validate_trace_date $DATE1 $TRACE_PATH start_lttng_tracing_ok $SESSION_NAME date "+%Y-%m-%d %H:%M" -s "$DATE2 $HOUR" >/dev/null - metadata_regenerate_ok $SESSION_NAME + regenerate_metadata_ok $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME validate_trace_date $DATE2 $TRACE_PATH if [ $? -eq 0 ]; then @@ -111,7 +111,7 @@ function test_kernel_streaming () validate_trace_date $DATE1 $TRACE_PATH/$HOSTNAME/$SESSION_NAME* start_lttng_tracing_ok $SESSION_NAME date "+%Y-%m-%d %H:%M" -s "$DATE2 $HOUR" >/dev/null - metadata_regenerate_ok $SESSION_NAME + regenerate_metadata_ok $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME # Validate test validate_trace_date $DATE2 $TRACE_PATH/$HOSTNAME/$SESSION_NAME* @@ -147,7 +147,7 @@ function test_ust_local () start_lttng_tracing_ok $SESSION_NAME date "+%Y-%m-%d %H:%M" -s "$DATE2 $HOUR" >/dev/null - metadata_regenerate_ok $SESSION_NAME + regenerate_metadata_ok $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME destroy_lttng_session_ok $SESSION_NAME @@ -184,7 +184,7 @@ function test_ust_streaming () start_lttng_tracing_ok $SESSION_NAME date "+%Y-%m-%d %H:%M" -s "$DATE2 $HOUR" >/dev/null - metadata_regenerate_ok $SESSION_NAME + regenerate_metadata_ok $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME destroy_lttng_session_ok $SESSION_NAME diff --git a/tests/fast_regression b/tests/fast_regression index 0c4f07925..262c846aa 100644 --- a/tests/fast_regression +++ b/tests/fast_regression @@ -16,7 +16,7 @@ regression/tools/save-load/test_load regression/tools/mi/test_mi regression/tools/wildcard/test_event_wildcard regression/tools/crash/test_crash -regression/tools/metadata-regen/test_ust +regression/tools/regen-metadata/test_ust regression/ust/before-after/test_before_after regression/ust/buffers-pid/test_buffers_pid regression/ust/multi-session/test_multi_session diff --git a/tests/regression/Makefile.am b/tests/regression/Makefile.am index 6a2d24c7b..2297ea1e3 100644 --- a/tests/regression/Makefile.am +++ b/tests/regression/Makefile.am @@ -22,7 +22,7 @@ TESTS = tools/filtering/test_invalid_filter \ tools/mi/test_mi \ tools/wildcard/test_event_wildcard \ tools/crash/test_crash \ - tools/metadata-regen/test_ust + tools/regen-metadata/test_ust if HAVE_LIBLTTNG_UST_CTL SUBDIRS += ust diff --git a/tests/regression/tools/Makefile.am b/tests/regression/tools/Makefile.am index 6c39c9f18..91820ada4 100644 --- a/tests/regression/tools/Makefile.am +++ b/tests/regression/tools/Makefile.am @@ -1,2 +1,2 @@ SUBDIRS = streaming filtering health tracefile-limits snapshots live exclusion save-load mi \ - wildcard crash metadata-regen + wildcard crash regen-metadata diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi index 0e8fa672f..380385fa9 100755 --- a/tests/regression/tools/mi/test_mi +++ b/tests/regression/tools/mi/test_mi @@ -631,9 +631,9 @@ function test_start_stop () { ok $? "Mi test: enabled element : $result expected: true" #Test metadata regenerate command - metadata_regenerate_ok $session_name + regenerate_metadata_ok $session_name $XML_VALIDATE $OUTPUT_DEST - ok $? "Mi test: metadata regenerate" + ok $? "Mi test: regenerate metadata" #Test stop command stop_lttng_tracing_ok $session_name diff --git a/tests/regression/tools/metadata-regen/Makefile.am b/tests/regression/tools/regen-metadata/Makefile.am similarity index 100% rename from tests/regression/tools/metadata-regen/Makefile.am rename to tests/regression/tools/regen-metadata/Makefile.am diff --git a/tests/regression/tools/metadata-regen/test_kernel b/tests/regression/tools/regen-metadata/test_kernel similarity index 97% rename from tests/regression/tools/metadata-regen/test_kernel rename to tests/regression/tools/regen-metadata/test_kernel index fb9940a82..fd139aeef 100755 --- a/tests/regression/tools/metadata-regen/test_kernel +++ b/tests/regression/tools/regen-metadata/test_kernel @@ -49,7 +49,7 @@ function test_kernel_streaming () lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME start_lttng_tracing_ok $SESSION_NAME echo -n "100" > /proc/lttng-test-filter-event - metadata_regenerate_ok $SESSION_NAME + regenerate_metadata_ok $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME # Validate test validate_trace $EVENT_NAME $TRACE_PATH/$HOSTNAME/$SESSION_NAME* @@ -69,7 +69,7 @@ function test_kernel_local () lttng_enable_kernel_event $SESSION_NAME $EVENT_NAME start_lttng_tracing_ok $SESSION_NAME echo -n "100" > /proc/lttng-test-filter-event - metadata_regenerate_ok $SESSION_NAME + regenerate_metadata_ok $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME validate_trace $EVENT_NAME $TRACE_PATH if [ $? -eq 0 ]; then diff --git a/tests/regression/tools/metadata-regen/test_ust b/tests/regression/tools/regen-metadata/test_ust similarity index 97% rename from tests/regression/tools/metadata-regen/test_ust rename to tests/regression/tools/regen-metadata/test_ust index fe6ffd8f5..b7f1af1d8 100755 --- a/tests/regression/tools/metadata-regen/test_ust +++ b/tests/regression/tools/regen-metadata/test_ust @@ -79,7 +79,7 @@ function test_ust_streaming () # Wait for the applications started in background wait - metadata_regenerate_ok $SESSION_NAME + regenerate_metadata_ok $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME destroy_lttng_session_ok $SESSION_NAME @@ -110,7 +110,7 @@ function test_ust_local () # Wait for the applications started in background wait - metadata_regenerate_ok $SESSION_NAME + regenerate_metadata_ok $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME destroy_lttng_session_ok $SESSION_NAME @@ -142,7 +142,7 @@ function test_ust_pid () # Wait for the applications started in background wait - metadata_regenerate_fail $SESSION_NAME + regenerate_metadata_fail $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME destroy_lttng_session_ok $SESSION_NAME @@ -173,7 +173,7 @@ function test_ust_live () # Wait for the applications started in background wait - metadata_regenerate_fail $SESSION_NAME + regenerate_metadata_fail $SESSION_NAME stop_lttng_tracing_ok $SESSION_NAME destroy_lttng_session_ok $SESSION_NAME diff --git a/tests/root_regression b/tests/root_regression index 19af1ed9a..e1ccdd41b 100644 --- a/tests/root_regression +++ b/tests/root_regression @@ -15,5 +15,5 @@ regression/tools/filtering/test_invalid_filter regression/tools/filtering/test_unsupported_op regression/tools/filtering/test_valid_filter regression/tools/wildcard/test_event_wildcard -regression/tools/metadata-regen/test_kernel +regression/tools/regen-metadata/test_kernel regression/ust/test_event_perf diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh index da2efe91a..3d744e258 100644 --- a/tests/utils/utils.sh +++ b/tests/utils/utils.sh @@ -1366,29 +1366,29 @@ function validate_trace_empty() return $ret } -function metadata_regenerate () +function regenerate_metadata () { local expected_to_fail=$1 local sess_name=$2 - $TESTDIR/../src/bin/lttng/$LTTNG_BIN metadata regenerate -s $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST + $TESTDIR/../src/bin/lttng/$LTTNG_BIN regenerate metadata -s $sess_name 1> $OUTPUT_DEST 2> $ERROR_OUTPUT_DEST ret=$? if [[ $expected_to_fail -eq "1" ]]; then test "$ret" -ne "0" - ok $? "Expected fail on regenerate $sess_name" + ok $? "Expected fail on regenerate metadata $sess_name" else ok $ret "Metadata regenerate $sess_name" fi } -function metadata_regenerate_ok () +function regenerate_metadata_ok () { - metadata_regenerate 0 "$@" + regenerate_metadata 0 "$@" } -function metadata_regenerate_fail () +function regenerate_metadata_fail () { - metadata_regenerate 1 "$@" + regenerate_metadata 1 "$@" } function destructive_tests_enabled () -- 2.34.1