* modules.
*/
static const char* log_level_env_var_names[] = {
- "BABELTRACE_COMMON_LOG_LEVEL",
- "BABELTRACE_COMPAT_LOG_LEVEL",
- "BABELTRACE_CTFSER_LOG_LEVEL",
- "BABELTRACE_FD_CACHE_LOG_LEVEL",
- "BABELTRACE_FLT_LTTNG_UTILS_DEBUG_INFO_LOG_LEVEL",
- "BABELTRACE_FLT_UTILS_COUNTER_LOG_LEVEL",
- "BABELTRACE_FLT_UTILS_MUXER_LOG_LEVEL",
- "BABELTRACE_FLT_UTILS_TRIMMER_LOG_LEVEL",
- "BABELTRACE_PLUGIN_CTF_BFCR_LOG_LEVEL",
"BABELTRACE_PLUGIN_CTF_METADATA_LOG_LEVEL",
- "BABELTRACE_PLUGIN_CTF_MSG_ITER_LOG_LEVEL",
- "BABELTRACE_PLUGIN_CTF_UTILS_LOG_LEVEL",
"BABELTRACE_PYTHON_BT2_LOG_LEVEL",
- "BABELTRACE_SINK_CTF_FS_LOG_LEVEL",
- "BABELTRACE_SINK_TEXT_PRETTY_LOG_LEVEL",
- "BABELTRACE_SINK_TEXT_DETAILS_LOG_LEVEL",
- "BABELTRACE_SRC_CTF_FS_LOG_LEVEL",
- "BABELTRACE_SRC_CTF_LTTNG_LIVE_LOG_LEVEL",
- "BABELTRACE_SRC_TEXT_DMESG_LOG_LEVEL",
NULL,
};
}
static
-int query(const bt_component_class *comp_cls, const char *obj,
- const bt_value *params, const bt_value **user_result,
- const char **fail_reason)
+int query(struct bt_config *cfg, const bt_component_class *comp_cls,
+ const char *obj, const bt_value *params,
+ const bt_value **user_result, const char **fail_reason)
{
const bt_value *result = NULL;
bt_query_executor_status status;
while (true) {
status = bt_query_executor_query(the_query_executor,
- comp_cls, obj, params, &result);
+ comp_cls, obj, params, cfg->log_level, &result);
switch (status) {
case BT_QUERY_EXECUTOR_STATUS_OK:
goto ok;
for (i = 0; i < nr_paths; i++) {
const bt_value *plugin_path_value = NULL;
const char *plugin_path;
- const bt_plugin_set *plugin_set;
+ const bt_plugin_set *plugin_set = NULL;
+ bt_plugin_status status;
plugin_path_value =
bt_value_array_borrow_element_by_index_const(
continue;
}
- plugin_set = bt_plugin_find_all_from_dir(plugin_path, false);
- if (!plugin_set) {
- BT_LOGI("Unable to load dynamic plugins from directory: "
+ status = bt_plugin_find_all_from_dir(plugin_path, BT_FALSE,
+ BT_FALSE, &plugin_set);
+ if (status < 0) {
+ BT_LOGE("Unable to load dynamic plugins from directory: "
"path=\"%s\"", plugin_path);
continue;
+ } else if (status == BT_PLUGIN_STATUS_NOT_FOUND) {
+ BT_LOGI("No plugins found in directory: path=\"%s\"",
+ plugin_path);
+ continue;
}
+ BT_ASSERT(status == BT_PLUGIN_STATUS_OK);
+ BT_ASSERT(plugin_set);
add_to_loaded_plugins(plugin_set);
bt_plugin_set_put_ref(plugin_set);
}
{
int ret = 0;
const bt_plugin_set *plugin_set;
+ bt_plugin_status status;
BT_LOGI("Loading static plugins.");
- plugin_set = bt_plugin_find_all_from_static();
- if (!plugin_set) {
+ status = bt_plugin_find_all_from_static(BT_FALSE, &plugin_set);
+ if (status < 0) {
BT_LOGE("Unable to load static plugins.");
ret = -1;
goto end;
+ } else if (status == BT_PLUGIN_STATUS_NOT_FOUND) {
+ BT_LOGI("No static plugins found.");
+ goto end;
}
+ BT_ASSERT(status == BT_PLUGIN_STATUS_OK);
+ BT_ASSERT(plugin_set);
add_to_loaded_plugins(plugin_set);
bt_plugin_set_put_ref(plugin_set);
end:
goto end;
}
- ret = query(comp_cls, cfg->cmd_data.query.object->str,
+ ret = query(cfg, comp_cls, cfg->cmd_data.query.object->str,
cfg->cmd_data.query.cfg_component->params,
&results, &fail_reason);
if (ret) {
goto error;
}
- ret = query(comp_cls, "sessions", params,
+ ret = query(cfg, comp_cls, "sessions", params,
&results, &fail_reason);
if (ret) {
goto failed;
goto end;
}
- ret = query(comp_cls, "metadata-info",
+ ret = query(cfg, comp_cls, "metadata-info",
params, &results, &fail_reason);
if (ret) {
goto failed;
BT_LOGI_STR("Graph was canceled by user.");
status = BT_GRAPH_STATUS_OK;
break;
- case BT_GRAPH_STATUS_COMPONENT_REFUSES_PORT_CONNECTION:
- BT_LOGE("A component refused a connection to one of its ports: "
- "upstream-comp-addr=%p, upstream-comp-name=\"%s\", "
- "upstream-port-addr=%p, upstream-port-name=\"%s\", "
- "downstream-comp-addr=%p, downstream-comp-name=\"%s\", "
- "downstream-port-addr=%p, downstream-port-name=\"%s\", "
- "conn-arg=\"%s\"",
- upstream_comp, bt_component_get_name(upstream_comp),
- upstream_port, bt_port_get_name(upstream_port),
- downstream_comp, cfg_conn->downstream_comp_name->str,
- downstream_port, downstream_port_name,
- cfg_conn->arg->str);
- fprintf(stderr,
- "A component refused a connection to one of its ports (`%s` to `%s`): %s\n",
- bt_port_get_name(upstream_port),
- downstream_port_name,
- cfg_conn->arg->str);
- break;
default:
BT_LOGE("Cannot create connection: graph refuses to connect ports: "
"upstream-comp-addr=%p, upstream-comp-name=\"%s\", "
const bt_component_class *comp_cls =
bt_component_class_source_as_component_class_const(src_comp_cls);
- ret = query(comp_cls, "trace-info",
+ ret = query(ctx->cfg, comp_cls, "trace-info",
cfg_comp->params, &query_result,
&fail_reason);
if (ret) {
goto error;
}
+ BT_ASSERT(cfg_comp->log_level >= BT_LOG_TRACE);
+
switch (cfg_comp->type) {
case BT_COMPONENT_CLASS_TYPE_SOURCE:
ret = bt_graph_add_source_component(ctx->graph,
comp_cls, cfg_comp->instance_name->str,
- cfg_comp->params, ctx->cfg->log_level,
+ cfg_comp->params, cfg_comp->log_level,
(void *) &comp);
break;
case BT_COMPONENT_CLASS_TYPE_FILTER:
ret = bt_graph_add_filter_component(ctx->graph,
comp_cls, cfg_comp->instance_name->str,
- cfg_comp->params, ctx->cfg->log_level,
+ cfg_comp->params, cfg_comp->log_level,
(void *) &comp);
break;
case BT_COMPONENT_CLASS_TYPE_SINK:
ret = bt_graph_add_sink_component(ctx->graph,
comp_cls, cfg_comp->instance_name->str,
- cfg_comp->params, ctx->cfg->log_level,
+ cfg_comp->params, cfg_comp->log_level,
(void *) &comp);
break;
default:
return "BT_GRAPH_STATUS_END";
case BT_GRAPH_STATUS_AGAIN:
return "BT_GRAPH_STATUS_AGAIN";
- case BT_GRAPH_STATUS_COMPONENT_REFUSES_PORT_CONNECTION:
- return "BT_GRAPH_STATUS_COMPONENT_REFUSES_PORT_CONNECTION";
case BT_GRAPH_STATUS_CANCELED:
return "BT_GRAPH_STATUS_CANCELED";
case BT_GRAPH_STATUS_ERROR:
printf("%s", bt_common_color_reset());
fflush(stdout);
fprintf(stderr, "%s", bt_common_color_reset());
- BT_LOGV("bt_graph_run() returned: status=%s",
+ BT_LOGT("bt_graph_run() returned: status=%s",
bt_graph_status_str(graph_status));
switch (graph_status) {
}
if (cfg->cmd_data.run.retry_duration_us > 0) {
- BT_LOGV("Got BT_GRAPH_STATUS_AGAIN: sleeping: "
+ BT_LOGT("Got BT_GRAPH_STATUS_AGAIN: sleeping: "
"time-us=%" PRIu64,
cfg->cmd_data.run.retry_duration_us);
*/
if (getenv("BABELTRACE_DEBUG") &&
strcmp(getenv("BABELTRACE_DEBUG"), "1") == 0) {
- cfg->log_level = BT_LOG_VERBOSE;
+ cfg->log_level = BT_LOG_TRACE;
} else if (getenv("BABELTRACE_VERBOSE") &&
strcmp(getenv("BABELTRACE_VERBOSE"), "1") == 0) {
cfg->log_level = BT_LOG_INFO;
* --verbose. So:
*
* --verbose: INFO log level
- * --debug: VERBOSE log level (includes DEBUG, which is
- * is less verbose than VERBOSE in the internal
+ * --debug: TRACE log level (includes DEBUG, which is
+ * is less verbose than TRACE in the internal
* logging framework)
*/
- if (!getenv("BABELTRACE_LOGGING_GLOBAL_LEVEL")) {
+ if (!getenv("LIBBABELTRACE2_INIT_LOG_LEVEL")) {
if (cfg->verbose) {
bt_logging_set_global_level(BT_LOG_INFO);
} else if (cfg->debug) {
- bt_logging_set_global_level(BT_LOG_VERBOSE);
+ bt_logging_set_global_level(BT_LOG_TRACE);
} else {
/*
* Set library's default log level if not
if (cfg->verbose) {
bt_cli_log_level = BT_LOG_INFO;
} else if (cfg->debug) {
- bt_cli_log_level = BT_LOG_VERBOSE;
+ bt_cli_log_level = BT_LOG_TRACE;
} else {
/*
* Set CLI's default log level if not explicitly
while (*env_var_name) {
if (!getenv(*env_var_name)) {
if (cfg->verbose) {
- g_setenv(*env_var_name, "I", 1);
+ g_setenv(*env_var_name, "INFO", 1);
} else if (cfg->debug) {
- g_setenv(*env_var_name, "V", 1);
+ g_setenv(*env_var_name, "TRACE", 1);
} else {
char val[2] = { 0 };