#include <babeltrace2/babeltrace.h>
-#define BT_COMP_LOG_SELF_COMP (trace->fs_sink->self_comp)
-#define BT_LOG_OUTPUT_LEVEL (trace->log_level)
-#define BT_LOG_TAG "PLUGIN/SINK.CTF.FS/TRACE"
-#include "logging/comp-logging.h"
-
#include "common/assert.h"
-#include "ctfser/ctfser.h"
+#include "fs-sink-ctf-meta.hpp"
#include "fs-sink-stream.hpp"
#include "fs-sink-trace.hpp"
#include "fs-sink.hpp"
* the format.
*/
if (!g_time_val_from_iso8601(datetime, &tv)) {
- BT_COMP_LOGI("Couldn't parse datetime as ISO 8601: date=\"%s\"", datetime);
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't parse datetime as ISO 8601: date=\"{}\"",
+ datetime);
goto end;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(tc, "tracer_buffering_id");
if (!v || !bt_value_is_signed_integer(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"tracer_buffering_id\"");
+ BT_CPPLOGI_SPEC(trace->logger,
+ "Couldn't get environment value: name=\"tracer_buffering_id\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(tc, "architecture_bit_width");
if (!v || !bt_value_is_signed_integer(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"architecture_bit_width\"");
+ BT_CPPLOGI_SPEC(trace->logger,
+ "Couldn't get environment value: name=\"architecture_bit_width\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(tc, "procname");
if (!v || !bt_value_is_string(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"procname\"");
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't get environment value: name=\"procname\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(tc, "vpid");
if (!v || !bt_value_is_signed_integer(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"vpid\"");
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't get environment value: name=\"vpid\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(tc, "vpid_datetime");
if (!v || !bt_value_is_string(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"vpid_datetime\"");
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't get environment value: name=\"vpid_datetime\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(trace->ir_trace, "tracer_name");
if (!v || !bt_value_is_string(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"tracer_name\"");
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't get environment value: name=\"tracer_name\"");
goto error;
}
tracer_name = bt_value_string_get(v);
if (!g_str_equal(tracer_name, "lttng-ust") && !g_str_equal(tracer_name, "lttng-modules")) {
- BT_COMP_LOGI("Unrecognized tracer name: name=\"%s\"", tracer_name);
+ BT_CPPLOGI_SPEC(trace->logger, "Unrecognized tracer name: name=\"{}\"", tracer_name);
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(trace->ir_trace, "tracer_major");
if (!v || !bt_value_is_signed_integer(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"tracer_major\"");
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't get environment value: name=\"tracer_major\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(trace->ir_trace, "tracer_minor");
if (!v || !bt_value_is_signed_integer(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"tracer_minor\"");
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't get environment value: name=\"tracer_minor\"");
goto error;
}
tracer_minor = bt_value_integer_signed_get(v);
if (!(tracer_major >= 3 || (tracer_major == 2 && tracer_minor >= 11))) {
- BT_COMP_LOGI("Unsupported LTTng version for automatic trace path: major=%" PRId64
- ", minor=%" PRId64,
- tracer_major, tracer_minor);
+ BT_CPPLOGI_SPEC(trace->logger,
+ "Unsupported LTTng version for automatic trace path: major={}, minor={}",
+ tracer_major, tracer_minor);
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(trace->ir_trace, "hostname");
if (!v || !bt_value_is_string(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"tracer_hostname\"");
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't get environment value: name=\"tracer_hostname\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(trace->ir_trace, "trace_name");
if (!v || !bt_value_is_string(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"trace_name\"");
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't get environment value: name=\"trace_name\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(trace->ir_trace,
"trace_creation_datetime");
if (!v || !bt_value_is_string(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"trace_creation_datetime\"");
+ BT_CPPLOGI_SPEC(trace->logger,
+ "Couldn't get environment value: name=\"trace_creation_datetime\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(trace->ir_trace, "domain");
if (!v || !bt_value_is_string(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"domain\"");
+ BT_CPPLOGI_SPEC(trace->logger, "Couldn't get environment value: name=\"domain\"");
goto error;
}
v = bt_trace_borrow_environment_entry_value_by_name_const(trace->ir_trace,
"tracer_buffering_scheme");
if (!v || !bt_value_is_string(v)) {
- BT_COMP_LOGI_STR("Couldn't get environment value: name=\"tracer_buffering_scheme\"");
+ BT_CPPLOGI_SPEC(trace->logger,
+ "Couldn't get environment value: name=\"tracer_buffering_scheme\"");
goto error;
}
}
} else {
/* Unknown buffering scheme. */
- BT_COMP_LOGI("Unknown buffering scheme: tracer_buffering_scheme=\"%s\"",
- tracer_buffering_scheme);
+ BT_CPPLOGI_SPEC(trace->logger,
+ "Unknown buffering scheme: tracer_buffering_scheme=\"{}\"",
+ tracer_buffering_scheme);
goto error;
}
} else if (!g_str_equal(domain, "kernel")) {
/* Unknown domain. */
- BT_COMP_LOGI("Unknown domain: domain=\"%s\"", domain);
+ BT_CPPLOGI_SPEC(trace->logger, "Unknown domain: domain=\"{}\"", domain);
goto error;
}
BT_ASSERT(trace->metadata_path);
fh = fopen(trace->metadata_path->str, "wb");
if (!fh) {
- BT_COMP_LOGF_ERRNO("In trace destruction listener: "
- "cannot open metadata file for writing",
- ": path=\"%s\"", trace->metadata_path->str);
+ BT_CPPLOGF_ERRNO_SPEC(trace->logger,
+ "In trace destruction listener: "
+ "cannot open metadata file for writing",
+ ": path=\"{}\"", trace->metadata_path->str);
bt_common_abort();
}
len = fwrite(tsdl->str, sizeof(*tsdl->str), tsdl->len, fh);
if (len != tsdl->len) {
- BT_COMP_LOGF_ERRNO("In trace destruction listener: "
- "cannot write metadata file",
- ": path=\"%s\"", trace->metadata_path->str);
+ BT_CPPLOGF_ERRNO_SPEC(trace->logger,
+ "In trace destruction listener: "
+ "cannot write metadata file",
+ ": path=\"{}\"", trace->metadata_path->str);
bt_common_abort();
}
int ret = fclose(fh);
if (ret != 0) {
- BT_COMP_LOGW_ERRNO("In trace destruction listener: "
- "cannot close metadata file",
- ": path=\"%s\"", trace->metadata_path->str);
+ BT_CPPLOGW_ERRNO_SPEC(trace->logger,
+ "In trace destruction listener: "
+ "cannot close metadata file",
+ ": path=\"{}\"", trace->metadata_path->str);
}
}
fs_sink_ctf_trace_destroy(trace->trace);
trace->trace = NULL;
- g_free(trace);
+ delete trace;
g_string_free(tsdl, TRUE);
struct fs_sink_trace *fs_sink_trace_create(struct fs_sink_comp *fs_sink, const bt_trace *ir_trace)
{
int ret;
- struct fs_sink_trace *trace = g_new0(struct fs_sink_trace, 1);
+ fs_sink_trace *trace = new fs_sink_trace {fs_sink->logger};
bt_trace_add_listener_status trace_status;
- if (!trace) {
- goto end;
- }
-
- trace->log_level = fs_sink->log_level;
trace->fs_sink = fs_sink;
trace->ir_trace = ir_trace;
trace->ir_trace_destruction_listener_id = UINT64_C(-1);
BT_ASSERT(trace->path);
ret = g_mkdir_with_parents(trace->path->str, 0755);
if (ret) {
- BT_COMP_LOGE_ERRNO("Cannot create directories for trace directory", ": path=\"%s\"",
- trace->path->str);
+ BT_CPPLOGE_ERRNO_SPEC(trace->logger, "Cannot create directories for trace directory",
+ ": path=\"{}\"", trace->path->str);
goto error;
}