if (cfg->cmd_data.print_ctf_metadata.path) {
g_string_free(cfg->cmd_data.print_ctf_metadata.path,
TRUE);
+ g_string_free(
+ cfg->cmd_data.print_ctf_metadata.output_path,
+ TRUE);
}
break;
case BT_CONFIG_COMMAND_PRINT_LTTNG_LIVE_SESSIONS:
g_string_free(
cfg->cmd_data.print_lttng_live_sessions.url,
TRUE);
+ g_string_free(
+ cfg->cmd_data.print_lttng_live_sessions.output_path,
+ TRUE);
}
break;
default:
OPT_COMPONENT,
OPT_CONNECT,
OPT_DEBUG,
+ OPT_DEBUG_INFO,
OPT_DEBUG_INFO_DIR,
OPT_DEBUG_INFO_FULL_PATH,
OPT_DEBUG_INFO_TARGET_PREFIX,
OPT_LIST,
OPT_NAME,
OPT_NAMES,
- OPT_NO_DEBUG_INFO,
OPT_NO_DELTA,
OPT_OMIT_HOME_PLUGIN_PATH,
OPT_OMIT_SYSTEM_PLUGIN_PATH,
goto error;
}
+ cfg->cmd_data.print_ctf_metadata.output_path = g_string_new(NULL);
+ if (!cfg->cmd_data.print_ctf_metadata.output_path) {
+ print_err_oom();
+ goto error;
+ }
+
goto end;
error:
goto error;
}
+ cfg->cmd_data.print_lttng_live_sessions.output_path =
+ g_string_new(NULL);
+ if (!cfg->cmd_data.print_lttng_live_sessions.output_path) {
+ print_err_oom();
+ goto error;
+ }
+
goto end;
error:
struct bt_value *connection_args = NULL;
GString *cur_param_key = NULL;
char error_buf[256] = { 0 };
- long long retry_duration = -1;
+ long retry_duration = -1;
struct poptOption run_long_options[] = {
{ "base-params", 'b', POPT_ARG_STRING, NULL, OPT_BASE_PARAMS, NULL, NULL },
{ "component", 'c', POPT_ARG_STRING, NULL, OPT_COMPONENT, NULL, NULL },
{ "params", 'p', POPT_ARG_STRING, NULL, OPT_PARAMS, NULL, NULL },
{ "plugin-path", '\0', POPT_ARG_STRING, NULL, OPT_PLUGIN_PATH, NULL, NULL },
{ "reset-base-params", 'r', POPT_ARG_NONE, NULL, OPT_RESET_BASE_PARAMS, NULL, NULL },
- { "retry-duration", '\0', POPT_ARG_LONGLONG, &retry_duration, OPT_RETRY_DURATION, NULL, NULL },
+ { "retry-duration", '\0', POPT_ARG_LONG, &retry_duration, OPT_RETRY_DURATION, NULL, NULL },
{ "value", '\0', POPT_ARG_STRING, NULL, OPT_VALUE, NULL, NULL },
{ NULL, 0, '\0', NULL, 0, NULL, NULL },
};
fprintf(fp, "\n");
fprintf(fp, "Implicit `filter.lttng-utils.debug-info` component options:\n");
fprintf(fp, "\n");
+ fprintf(fp, " --debug-info Create an implicit\n");
+ fprintf(fp, " `filter.lttng-utils.debug-info` component\n");
fprintf(fp, " --debug-info-dir=DIR Search for debug info in directory DIR\n");
fprintf(fp, " instead of `/usr/lib/debug`\n");
fprintf(fp, " --debug-info-full-path Show full debug info source and\n");
fprintf(fp, " Use directory DIR as a prefix when\n");
fprintf(fp, " looking up executables during debug\n");
fprintf(fp, " info analysis\n");
- fprintf(fp, " --no-debug-info Do not create an implicit\n");
- fprintf(fp, " `lttng-utils.debug-info` filter component\n");
fprintf(fp, "\n");
fprintf(fp, "Legacy options that still work:\n");
fprintf(fp, "\n");
{ "input-format", 'i', POPT_ARG_STRING, NULL, OPT_INPUT_FORMAT, NULL, NULL },
{ "name", '\0', POPT_ARG_STRING, NULL, OPT_NAME, NULL, NULL },
{ "names", 'n', POPT_ARG_STRING, NULL, OPT_NAMES, NULL, NULL },
- { "no-debug-info", '\0', POPT_ARG_NONE, NULL, OPT_NO_DEBUG_INFO, NULL, NULL },
+ { "debug-info", '\0', POPT_ARG_NONE, NULL, OPT_DEBUG_INFO, NULL, NULL },
{ "no-delta", '\0', POPT_ARG_NONE, NULL, OPT_NO_DELTA, NULL, NULL },
{ "omit-home-plugin-path", '\0', POPT_ARG_NONE, NULL, OPT_OMIT_HOME_PLUGIN_PATH, NULL, NULL },
{ "omit-system-plugin-path", '\0', POPT_ARG_NONE, NULL, OPT_OMIT_SYSTEM_PLUGIN_PATH, NULL, NULL },
static
struct bt_config *bt_config_convert_from_args(int argc, const char *argv[],
int *retcode, bool force_omit_system_plugin_path,
- bool force_omit_home_plugin_path, bool force_no_debug_info,
+ bool force_omit_home_plugin_path,
struct bt_value *initial_plugin_paths, char *log_level)
{
poptContext pc = NULL;
}
if (init_implicit_component_args(&implicit_debug_info_args,
- "filter.lttng-utils.debug-info", !force_no_debug_info)) {
+ "filter.lttng-utils.debug-info", false)) {
goto error;
}
case OPT_CLOCK_SECONDS:
case OPT_COLOR:
case OPT_DEBUG:
+ case OPT_DEBUG_INFO:
case OPT_DEBUG_INFO_DIR:
case OPT_DEBUG_INFO_FULL_PATH:
case OPT_DEBUG_INFO_TARGET_PREFIX:
case OPT_FIELDS:
case OPT_INPUT_FORMAT:
case OPT_NAMES:
- case OPT_NO_DEBUG_INFO:
case OPT_NO_DELTA:
case OPT_OUTPUT_FORMAT:
case OPT_OUTPUT:
goto error;
}
break;
- case OPT_NO_DEBUG_INFO:
- implicit_debug_info_args.exists = false;
+ case OPT_DEBUG_INFO:
+ implicit_debug_info_args.exists = true;
break;
case OPT_DEBUG_INFO_DIR:
implicit_debug_info_args.exists = true;
ret = append_implicit_component_extra_param(
- &implicit_debug_info_args, "dir", arg);
+ &implicit_debug_info_args, "debug-info-dir", arg);
if (ret) {
goto error;
}
gs_leftover = leftovers->data;
g_string_assign(cfg->cmd_data.print_ctf_metadata.path,
gs_leftover->str);
+
+ if (output) {
+ g_string_assign(
+ cfg->cmd_data.print_ctf_metadata.output_path,
+ output);
+ }
+
goto end;
}
g_string_assign(cfg->cmd_data.print_lttng_live_sessions.url,
gs_leftover->str);
+
+ if (output) {
+ g_string_assign(
+ cfg->cmd_data.print_lttng_live_sessions.output_path,
+ output);
+ }
+
goto end;
}
struct bt_config *bt_config_cli_args_create(int argc, const char *argv[],
int *retcode, bool force_omit_system_plugin_path,
- bool force_omit_home_plugin_path, bool force_no_debug_info,
+ bool force_omit_home_plugin_path,
struct bt_value *initial_plugin_paths)
{
struct bt_config *config = NULL;
case COMMAND_TYPE_CONVERT:
config = bt_config_convert_from_args(command_argc, command_argv,
retcode, force_omit_system_plugin_path,
- force_omit_home_plugin_path, force_no_debug_info,
+ force_omit_home_plugin_path,
initial_plugin_paths, &log_level);
break;
case COMMAND_TYPE_LIST_PLUGINS: