X-Git-Url: https://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Ffs-sink%2Ftranslate-trace-ir-to-ctf-ir.cpp;h=5c8cf801da1ada833ed184ce3a08ccbc3da42b9f;hb=3c20ac1237c1890169e6ffbb8695860740c93c10;hp=0a8e28dfdefe41e9880549b39084ff12405e342d;hpb=f0b83426b22eed27e9bba59d3575bd1f1cdaa06d;p=babeltrace.git diff --git a/src/plugins/ctf/fs-sink/translate-trace-ir-to-ctf-ir.cpp b/src/plugins/ctf/fs-sink/translate-trace-ir-to-ctf-ir.cpp index 0a8e28df..5c8cf801 100644 --- a/src/plugins/ctf/fs-sink/translate-trace-ir-to-ctf-ir.cpp +++ b/src/plugins/ctf/fs-sink/translate-trace-ir-to-ctf-ir.cpp @@ -12,13 +12,10 @@ #include -#define BT_COMP_LOG_SELF_COMP (ctx->self_comp) -#define BT_LOG_OUTPUT_LEVEL (ctx->log_level) -#define BT_LOG_TAG "PLUGIN/SINK.CTF.FS/TRANSLATE-TRACE-IR-TO-CTF-IR" -#include "logging/comp-logging.h" - #include "common/assert.h" #include "common/common.h" +#include "cpp-common/bt2/field-path.hpp" +#include "cpp-common/bt2c/fmt.hpp" #include "fs-sink-ctf-meta.hpp" #include "fs-sink.hpp" @@ -40,8 +37,12 @@ namespace sink { struct TraceIrToCtfIrCtx { - bt_logging_level log_level = BT_LOGGING_LEVEL_NONE; - bt_self_component *self_comp = nullptr; + explicit TraceIrToCtfIrCtx(const bt2c::Logger& parentLogger) : + logger {parentLogger, "PLUGIN/SINK.CTF.FS/TRANSLATE-TRACE-IR-TO-CTF-IR"} + { + } + + bt2c::Logger logger; /* Weak */ struct fs_sink_ctf_stream_class *cur_sc = nullptr; @@ -183,9 +184,10 @@ static inline int cur_path_stack_push(ctf::sink::TraceIrToCtfIrCtx *ctx, const c is_reserved_member_name(name, "timestamp_end") || is_reserved_member_name(name, "events_discarded") || is_reserved_member_name(name, "packet_seq_num")) { - BT_COMP_LOGE("Unsupported reserved TSDL structure field class member " - "or variant field class option name: name=\"%s\"", - name); + BT_CPPLOGE_SPEC(ctx->logger, + "Unsupported reserved TSDL structure field class member " + "or variant field class option name: name=\"{}\"", + name); ret = -1; goto end; } @@ -193,9 +195,10 @@ static inline int cur_path_stack_push(ctf::sink::TraceIrToCtfIrCtx *ctx, const c if (!ist_valid_identifier(field_path_elem->name->str)) { ret = -1; - BT_COMP_LOGE("Unsupported non-TSDL structure field class member " - "or variant field class option name: name=\"%s\"", - field_path_elem->name->str); + BT_CPPLOGE_SPEC(ctx->logger, + "Unsupported non-TSDL structure field class member " + "or variant field class option name: name=\"{}\"", + field_path_elem->name->str); goto end; } } @@ -616,17 +619,19 @@ translate_structure_field_class_members(ctf::sink::TraceIrToCtfIrCtx *ctx, memb_ir_fc = bt_field_class_structure_member_borrow_field_class_const(member); ret = cur_path_stack_push(ctx, name, true, memb_ir_fc, &struct_fc->base); if (ret) { - BT_COMP_LOGE("Cannot translate structure field class member: " - "name=\"%s\"", - name); + BT_CPPLOGE_SPEC(ctx->logger, + "Cannot translate structure field class member: " + "name=\"{}\"", + name); goto end; } ret = translate_field_class(ctx); if (ret) { - BT_COMP_LOGE("Cannot translate structure field class member: " - "name=\"%s\"", - name); + BT_CPPLOGE_SPEC(ctx->logger, + "Cannot translate structure field class member: " + "name=\"{}\"", + name); goto end; } @@ -875,13 +880,13 @@ static inline int translate_option_field_class(ctf::sink::TraceIrToCtfIrCtx *ctx append_to_parent_field_class(ctx, &fc->base); ret = cur_path_stack_push(ctx, NULL, false, content_ir_fc, &fc->base); if (ret) { - BT_COMP_LOGE_STR("Cannot translate option field class content."); + BT_CPPLOGE_STR_SPEC(ctx->logger, "Cannot translate option field class content."); goto end; } ret = translate_field_class(ctx); if (ret) { - BT_COMP_LOGE_STR("Cannot translate option field class content."); + BT_CPPLOGE_STR_SPEC(ctx->logger, "Cannot translate option field class content."); goto end; } @@ -1026,17 +1031,19 @@ append_to_parent: */ ret = cur_path_stack_push(ctx, prot_opt_name, false, opt_ir_fc, &fc->base); if (ret) { - BT_COMP_LOGE("Cannot translate variant field class option: " - "name=\"%s\"", - prot_opt_name); + BT_CPPLOGE_SPEC(ctx->logger, + "Cannot translate variant field class option: " + "name=\"{}\"", + prot_opt_name); goto end; } ret = translate_field_class(ctx); if (ret) { - BT_COMP_LOGE("Cannot translate variant field class option: " - "name=\"%s\"", - prot_opt_name); + BT_CPPLOGE_SPEC(ctx->logger, + "Cannot translate variant field class option: " + "name=\"{}\"", + prot_opt_name); goto end; } @@ -1064,13 +1071,13 @@ static inline int translate_static_array_field_class(ctf::sink::TraceIrToCtfIrCt append_to_parent_field_class(ctx, &fc->base.base); ret = cur_path_stack_push(ctx, NULL, false, elem_ir_fc, &fc->base.base); if (ret) { - BT_COMP_LOGE_STR("Cannot translate static array field class element."); + BT_CPPLOGE_STR_SPEC(ctx->logger, "Cannot translate static array field class element."); goto end; } ret = translate_field_class(ctx); if (ret) { - BT_COMP_LOGE_STR("Cannot translate static array field class element."); + BT_CPPLOGE_STR_SPEC(ctx->logger, "Cannot translate static array field class element."); goto end; } @@ -1104,13 +1111,13 @@ static inline int translate_dynamic_array_field_class(ctf::sink::TraceIrToCtfIrC append_to_parent_field_class(ctx, &fc->base.base); ret = cur_path_stack_push(ctx, NULL, false, elem_ir_fc, &fc->base.base); if (ret) { - BT_COMP_LOGE_STR("Cannot translate dynamic array field class element."); + BT_CPPLOGE_STR_SPEC(ctx->logger, "Cannot translate dynamic array field class element."); goto end; } ret = translate_field_class(ctx); if (ret) { - BT_COMP_LOGE_STR("Cannot translate dynamic array field class element."); + BT_CPPLOGE_STR_SPEC(ctx->logger, "Cannot translate dynamic array field class element."); goto end; } @@ -1446,18 +1453,16 @@ static int translate_scope_field_class(ctf::sink::TraceIrToCtfIrCtx *ctx, bt_fie BT_ASSERT(ctx->cur_path->len == 0); ret = cur_path_stack_push(ctx, NULL, false, ir_fc, NULL); if (ret) { - BT_COMP_LOGE("Cannot translate scope structure field class: " - "scope=%d", - scope); + BT_CPPLOGE_SPEC(ctx->logger, "Cannot translate scope structure field class: scope={}", + static_cast(scope)); goto end; } ret = translate_structure_field_class_members(ctx, fs_sink_ctf_field_class_as_struct(*fc), ir_fc); if (ret) { - BT_COMP_LOGE("Cannot translate scope structure field class: " - "scope=%d", - scope); + BT_CPPLOGE_SPEC(ctx->logger, "Cannot translate scope structure field class: scope={}", + static_cast(scope)); goto end; } @@ -1470,12 +1475,10 @@ end: return ret; } -static inline void ctx_init(ctf::sink::TraceIrToCtfIrCtx *ctx, struct fs_sink_comp *fs_sink) +static inline void ctx_init(ctf::sink::TraceIrToCtfIrCtx *ctx) { ctx->cur_path = g_array_new(FALSE, TRUE, sizeof(struct field_path_elem)); BT_ASSERT(ctx->cur_path); - ctx->log_level = fs_sink->log_level; - ctx->self_comp = fs_sink->self_comp; } static inline void ctx_fini(ctf::sink::TraceIrToCtfIrCtx *ctx) @@ -1491,13 +1494,13 @@ static int translate_event_class(struct fs_sink_comp *fs_sink, struct fs_sink_ct struct fs_sink_ctf_event_class **out_ec) { int ret = 0; - ctf::sink::TraceIrToCtfIrCtx ctx; + ctf::sink::TraceIrToCtfIrCtx ctx {fs_sink->logger}; struct fs_sink_ctf_event_class *ec; BT_ASSERT(sc); BT_ASSERT(ir_ec); - ctx_init(&ctx, fs_sink); + ctx_init(&ctx); ec = fs_sink_ctf_event_class_create(sc, ir_ec); BT_ASSERT(ec); ctx.cur_sc = sc; @@ -1586,11 +1589,11 @@ static int translate_stream_class(struct fs_sink_comp *fs_sink, struct fs_sink_c struct fs_sink_ctf_stream_class **out_sc) { int ret = 0; - ctf::sink::TraceIrToCtfIrCtx ctx; + ctf::sink::TraceIrToCtfIrCtx ctx {fs_sink->logger}; BT_ASSERT(trace); BT_ASSERT(ir_sc); - ctx_init(&ctx, fs_sink); + ctx_init(&ctx); *out_sc = fs_sink_ctf_stream_class_create(trace, ir_sc); BT_ASSERT(*out_sc); @@ -1694,10 +1697,10 @@ struct fs_sink_ctf_trace *translate_trace_trace_ir_to_ctf_ir(struct fs_sink_comp bt_trace_borrow_environment_entry_by_index_const(ir_trace, i, &name, &val); if (!ist_valid_identifier(name)) { - BT_COMP_LOG_CUR_LVL(BT_LOG_ERROR, fs_sink->log_level, fs_sink->self_comp, - "Unsupported trace class's environment entry name: " - "name=\"%s\"", - name); + BT_CPPLOGE_SPEC(fs_sink->logger, + "Unsupported trace class's environment entry name: " + "name=\"{}\"", + name); goto end; } @@ -1706,10 +1709,10 @@ struct fs_sink_ctf_trace *translate_trace_trace_ir_to_ctf_ir(struct fs_sink_comp case BT_VALUE_TYPE_STRING: break; default: - BT_COMP_LOG_CUR_LVL(BT_LOG_ERROR, fs_sink->log_level, fs_sink->self_comp, - "Unsupported trace class's environment entry value type: " - "type=%s", - bt_common_value_type_string(bt_value_get_type(val))); + BT_CPPLOGE_SPEC(fs_sink->logger, + "Unsupported trace class's environment entry value type: " + "type={}", + static_cast(bt_value_get_type(val))); goto end; } }