* SOFTWARE.
*/
-#define BT_LOG_TAG "PLUGIN-LTTNG-UTILS-DEBUG-INFO-TRACE-IR-METADATA-COPY"
-#include "logging.h"
+#define BT_COMP_LOG_SELF_COMP self_comp
+#define BT_LOG_OUTPUT_LEVEL log_level
+#define BT_LOG_TAG "PLUGIN/FLT.LTTNG-UTILS.DEBUG-INFO/TRACE-IR-META-COPY"
+#include "plugins/comp-logging.h"
#include <inttypes.h>
#include <stdint.h>
BT_HIDDEN
int copy_trace_class_content(const bt_trace_class *in_trace_class,
- bt_trace_class *out_trace_class)
+ bt_trace_class *out_trace_class, bt_logging_level log_level,
+ bt_self_component *self_comp)
{
int ret = 0;
uint64_t i, env_field_count;
const char *in_trace_class_name;
- BT_LOGD("Copying content of trace class: in-tc-addr=%p, out-tc-addr=%p",
+ BT_COMP_LOGD("Copying content of trace class: in-tc-addr=%p, out-tc-addr=%p",
in_trace_class, out_trace_class);
/* Use the same stream class ids as in the origin trace class. */
for (i = 0; i < env_field_count; i++) {
const char *value_name;
const bt_value *value = NULL;
- bt_trace_class_status trace_class_status;
+ bt_trace_class_set_environment_entry_status set_env_status;
bt_trace_class_borrow_environment_entry_by_index_const(
in_trace_class, i, &value_name, &value);
- BT_LOGD("Copying trace class environnement entry: "
+ BT_COMP_LOGD("Copying trace class environnement entry: "
"index=%" PRId64 ", value-addr=%p, value-name=%s",
i, value, value_name);
BT_ASSERT(value);
if (bt_value_is_signed_integer(value)) {
- trace_class_status =
+ set_env_status =
bt_trace_class_set_environment_entry_integer(
out_trace_class, value_name,
bt_value_signed_integer_get(
value));
} else if (bt_value_is_string(value)) {
- trace_class_status =
+ set_env_status =
bt_trace_class_set_environment_entry_string(
out_trace_class, value_name,
bt_value_string_get(value));
abort();
}
- if (trace_class_status != BT_TRACE_CLASS_STATUS_OK) {
+ if (set_env_status !=
+ BT_TRACE_CLASS_SET_ENVIRONMENT_ENTRY_STATUS_OK) {
ret = -1;
goto error;
}
}
- BT_LOGD("Copied content of trace class: in-tc-addr=%p, out-tc-addr=%p",
+ BT_COMP_LOGD("Copied content of trace class: in-tc-addr=%p, out-tc-addr=%p",
in_trace_class, out_trace_class);
error:
return ret;
static
int copy_clock_class_content(const bt_clock_class *in_clock_class,
- bt_clock_class *out_clock_class)
+ bt_clock_class *out_clock_class, bt_logging_level log_level,
+ bt_self_component *self_comp)
{
- bt_clock_class_status status;
const char *clock_class_name, *clock_class_description;
int64_t seconds;
uint64_t cycles;
bt_uuid in_uuid;
int ret = 0;
- BT_LOGD("Copying content of clock class: in-cc-addr=%p, out-cc-addr=%p",
+ BT_COMP_LOGD("Copying content of clock class: in-cc-addr=%p, out-cc-addr=%p",
in_clock_class, out_clock_class);
clock_class_name = bt_clock_class_get_name(in_clock_class);
if (clock_class_name) {
- status = bt_clock_class_set_name(out_clock_class, clock_class_name);
- if (status != BT_CLOCK_CLASS_STATUS_OK) {
- BT_LOGE("Error setting clock class' name cc-addr=%p, name=%p",
+ if (bt_clock_class_set_name(out_clock_class, clock_class_name)
+ != BT_CLOCK_CLASS_SET_NAME_STATUS_OK) {
+ BT_COMP_LOGE("Error setting clock class' name cc-addr=%p, name=%p",
out_clock_class, clock_class_name);
out_clock_class = NULL;
ret = -1;
clock_class_description = bt_clock_class_get_description(in_clock_class);
if (clock_class_description) {
- status = bt_clock_class_set_description(out_clock_class,
- clock_class_description);
- if (status != BT_CLOCK_CLASS_STATUS_OK) {
- BT_LOGE("Error setting clock class' description cc-addr=%p, "
+ if (bt_clock_class_set_description(out_clock_class,
+ clock_class_description) !=
+ BT_CLOCK_CLASS_SET_DESCRIPTION_STATUS_OK) {
+ BT_COMP_LOGE("Error setting clock class' description cc-addr=%p, "
"name=%p", out_clock_class, clock_class_description);
out_clock_class = NULL;
ret = -1;
bt_clock_class_set_origin_is_unix_epoch(out_clock_class,
bt_clock_class_origin_is_unix_epoch(in_clock_class));
- BT_LOGD("Copied content of clock class: in-cc-addr=%p, out-cc-addr=%p",
+ BT_COMP_LOGD("Copied content of clock class: in-cc-addr=%p, out-cc-addr=%p",
in_clock_class, out_clock_class);
error:
{
bt_clock_class *out_clock_class;
int ret;
+ bt_logging_level log_level = md_maps->log_level;
- BT_LOGD("Creating new mapped clock class: in-cc-addr=%p",
+ BT_COMP_LOGD("Creating new mapped clock class: in-cc-addr=%p",
in_clock_class);
BT_ASSERT(md_maps);
out_clock_class = bt_clock_class_create(self_comp);
if (!out_clock_class) {
- BT_LOGE_STR("Cannot create clock class");
+ BT_COMP_LOGE_STR("Cannot create clock class");
goto end;
}
/* If not, create a new one and add it to the mapping. */
- ret = copy_clock_class_content(in_clock_class, out_clock_class);
+ ret = copy_clock_class_content(in_clock_class, out_clock_class,
+ log_level, self_comp);
if (ret) {
- BT_LOGE_STR("Cannot copy clock class");
+ BT_COMP_LOGE_STR("Cannot copy clock class");
goto end;
}
g_hash_table_insert(md_maps->clock_class_map,
(gpointer) in_clock_class, out_clock_class);
- BT_LOGD("Created new mapped clock class: in-cc-addr=%p, out-cc-addr=%p",
+ BT_COMP_LOGD("Created new mapped clock class: in-cc-addr=%p, out-cc-addr=%p",
in_clock_class, out_clock_class);
end:
return out_clock_class;
bt_clock_class *out_clock_class;
const bt_field_class *in_packet_context_fc, *in_common_context_fc;
bt_field_class *out_packet_context_fc, *out_common_context_fc;
- bt_stream_class_status status;
const char *in_name;
int ret = 0;
+ bt_logging_level log_level = ir_maps->log_level;
+ bt_self_component *self_comp = ir_maps->self_comp;
- BT_LOGD("Copying content of stream class: in-sc-addr=%p, out-sc-addr=%p",
+ BT_COMP_LOGD("Copying content of stream class: in-sc-addr=%p, out-sc-addr=%p",
in_stream_class, out_stream_class);
md_maps = borrow_metadata_maps_from_input_stream_class(ir_maps, in_stream_class);
in_name = bt_stream_class_get_name(in_stream_class);
if (in_name) {
- status = bt_stream_class_set_name(out_stream_class, in_name);
- if (status != BT_STREAM_CLASS_STATUS_OK) {
- BT_LOGE("Error set stream class name: out-sc-addr=%p, "
+ if (bt_stream_class_set_name(out_stream_class, in_name) !=
+ BT_STREAM_CLASS_SET_NAME_STATUS_OK) {
+ BT_COMP_LOGE("Error set stream class name: out-sc-addr=%p, "
"name=%s", out_stream_class, in_name);
ret = -1;
goto error;
goto error;
}
- status = bt_stream_class_set_packet_context_field_class(
- out_stream_class, out_packet_context_fc);
- if (status != BT_STREAM_CLASS_STATUS_OK) {
- BT_LOGE("Error setting stream class' packet context "
+ if (bt_stream_class_set_packet_context_field_class(
+ out_stream_class, out_packet_context_fc) !=
+ BT_STREAM_CLASS_SET_FIELD_CLASS_STATUS_OK) {
+ BT_COMP_LOGE("Error setting stream class' packet context "
"field class: sc-addr=%p, packet-fc-addr=%p",
out_stream_class, out_packet_context_fc);
ret = -1;
goto error;
}
- status = bt_stream_class_set_event_common_context_field_class(
- out_stream_class, out_common_context_fc);
- if (status != BT_STREAM_CLASS_STATUS_OK) {
- BT_LOGE("Error setting stream class' packet context "
+ if (bt_stream_class_set_event_common_context_field_class(
+ out_stream_class, out_common_context_fc) !=
+ BT_STREAM_CLASS_SET_FIELD_CLASS_STATUS_OK) {
+ BT_COMP_LOGE("Error setting stream class' packet context "
"field class: sc-addr=%p, packet-fc-addr=%p",
out_stream_class, out_common_context_fc);
ret = -1;
}
/* Set packet snapshot boolean fields. */
- BT_LOGD("Copied content of stream class: in-sc-addr=%p, out-sc-addr=%p",
+ BT_COMP_LOGD("Copied content of stream class: in-sc-addr=%p, out-sc-addr=%p",
in_stream_class, out_stream_class);
error:
return ret;
struct trace_ir_metadata_maps *md_maps;
const char *in_event_class_name, *in_emf_uri;
bt_property_availability prop_avail;
- bt_event_class_log_level log_level;
- bt_event_class_status status;
+ bt_event_class_log_level ec_log_level;
bt_field_class *out_specific_context_fc, *out_payload_fc;
const bt_field_class *in_event_specific_context, *in_event_payload;
int ret = 0;
+ bt_logging_level log_level = ir_maps->log_level;
+ bt_self_component *self_comp = ir_maps->self_comp;
- BT_LOGD("Copying content of event class: in-ec-addr=%p, out-ec-addr=%p",
+ BT_COMP_LOGD("Copying content of event class: in-ec-addr=%p, out-ec-addr=%p",
in_event_class, out_event_class);
/* Copy event class name. */
in_event_class_name = bt_event_class_get_name(in_event_class);
if (in_event_class_name) {
- status = bt_event_class_set_name(out_event_class, in_event_class_name);
- if (status != BT_EVENT_CLASS_STATUS_OK) {
- BT_LOGE("Error setting event class' name: ec-addr=%p, "
+ if (bt_event_class_set_name(out_event_class,
+ in_event_class_name) !=
+ BT_EVENT_CLASS_SET_NAME_STATUS_OK) {
+ BT_COMP_LOGE("Error setting event class' name: ec-addr=%p, "
"name=%s", out_event_class, in_event_class_name);
ret = -1;
goto error;
}
/* Copy event class loglevel. */
- prop_avail = bt_event_class_get_log_level(in_event_class, &log_level);
+ prop_avail = bt_event_class_get_log_level(in_event_class,
+ &ec_log_level);
if (prop_avail == BT_PROPERTY_AVAILABILITY_AVAILABLE) {
bt_event_class_set_log_level(out_event_class,
- log_level);
+ ec_log_level);
}
/* Copy event class emf uri. */
in_emf_uri = bt_event_class_get_emf_uri(in_event_class);
if (in_emf_uri) {
- status = bt_event_class_set_emf_uri(out_event_class, in_emf_uri);
- if (status != BT_EVENT_CLASS_STATUS_OK) {
- BT_LOGE("Error setting event class' emf uri: ec-addr=%p, "
+ if (bt_event_class_set_emf_uri(out_event_class, in_emf_uri) !=
+ BT_EVENT_CLASS_SET_EMF_URI_STATUS_OK) {
+ BT_COMP_LOGE("Error setting event class' emf uri: ec-addr=%p, "
"emf uri=%s", out_event_class, in_emf_uri);
ret = -1;
goto error;
* Add the output specific context to the output event
* class.
*/
- status = bt_event_class_set_specific_context_field_class(
- out_event_class, out_specific_context_fc);
- if (status != BT_EVENT_CLASS_STATUS_OK) {
- BT_LOGE("Error setting event class' specific context "
+ if (bt_event_class_set_specific_context_field_class(
+ out_event_class, out_specific_context_fc) !=
+ BT_EVENT_CLASS_SET_FIELD_CLASS_STATUS_OK) {
+ BT_COMP_LOGE("Error setting event class' specific context "
"field class: ec-addr=%p, ctx-fc-addr=%p",
out_event_class, out_specific_context_fc);
ret = -1;
}
/* Add the output payload to the output event class. */
- status = bt_event_class_set_payload_field_class(
- out_event_class, out_payload_fc);
- if (status != BT_EVENT_CLASS_STATUS_OK) {
- BT_LOGE("Error setting event class' payload "
+ if (bt_event_class_set_payload_field_class(
+ out_event_class, out_payload_fc) !=
+ BT_EVENT_CLASS_SET_FIELD_CLASS_STATUS_OK) {
+ BT_COMP_LOGE("Error setting event class' payload "
"field class: ec-addr=%p, payload-fc-addr=%p",
out_event_class, out_payload_fc);
ret = -1;
}
}
- BT_LOGD("Copied content of event class: in-ec-addr=%p, out-ec-addr=%p",
+ BT_COMP_LOGD("Copied content of event class: in-ec-addr=%p, out-ec-addr=%p",
in_event_class, out_event_class);
error:
return ret;
const bt_field_class *in_field_class,
bt_field_class *out_field_class)
{
- bt_field_class_status status;
bt_field_class *debug_field_class = NULL, *bin_field_class = NULL,
*func_field_class = NULL, *src_field_class = NULL;
int ret = 0;
+ bt_logging_level log_level = md_maps->log_level;
+ bt_self_component *self_comp = md_maps->self_comp;
- BT_LOGD("Copying content of event common context field class: "
+ BT_COMP_LOGD("Copying content of event common context field class: "
"in-fc-addr=%p, out-fc-addr=%p", in_field_class, out_field_class);
/* Copy the content of the input common context. */
debug_field_class = bt_field_class_structure_create(
md_maps->output_trace_class);
if (!debug_field_class) {
- BT_LOGE_STR("Failed to create debug_info structure.");
+ BT_COMP_LOGE_STR("Failed to create debug_info structure.");
ret = -1;
goto error;
}
bin_field_class = bt_field_class_string_create(
md_maps->output_trace_class);
if (!bin_field_class) {
- BT_LOGE_STR("Failed to create string for field=bin.");
+ BT_COMP_LOGE_STR("Failed to create string for field=bin.");
ret = -1;
goto error;
}
func_field_class = bt_field_class_string_create(
md_maps->output_trace_class);
if (!func_field_class) {
- BT_LOGE_STR("Failed to create string for field=func.");
+ BT_COMP_LOGE_STR("Failed to create string for field=func.");
ret = -1;
goto error;
}
src_field_class = bt_field_class_string_create(
md_maps->output_trace_class);
if (!src_field_class) {
- BT_LOGE_STR("Failed to create string for field=src.");
+ BT_COMP_LOGE_STR("Failed to create string for field=src.");
ret = -1;
goto error;
}
- status = bt_field_class_structure_append_member(
- debug_field_class, "bin", bin_field_class);
- if (status != BT_FIELD_CLASS_STATUS_OK) {
- BT_LOGE_STR("Failed to add a field to debug_info "
+ if (bt_field_class_structure_append_member(
+ debug_field_class, "bin", bin_field_class) !=
+ BT_FIELD_CLASS_STRUCTURE_APPEND_MEMBER_STATUS_OK) {
+ BT_COMP_LOGE_STR("Failed to add a field to debug_info "
"struct: field=bin.");
ret = -1;
goto error;
}
BT_FIELD_CLASS_PUT_REF_AND_RESET(bin_field_class);
- status = bt_field_class_structure_append_member(
- debug_field_class, "func", func_field_class);
- if (status != BT_FIELD_CLASS_STATUS_OK) {
- BT_LOGE_STR("Failed to add a field to debug_info "
+ if (bt_field_class_structure_append_member(
+ debug_field_class, "func", func_field_class) !=
+ BT_FIELD_CLASS_STRUCTURE_APPEND_MEMBER_STATUS_OK) {
+ BT_COMP_LOGE_STR("Failed to add a field to debug_info "
"struct: field=func.");
ret = -1;
goto error;
}
BT_FIELD_CLASS_PUT_REF_AND_RESET(func_field_class);
- status = bt_field_class_structure_append_member(
- debug_field_class, "src", src_field_class);
- if (status != BT_FIELD_CLASS_STATUS_OK) {
- BT_LOGE_STR("Failed to add a field to debug_info "
+ if (bt_field_class_structure_append_member(
+ debug_field_class, "src", src_field_class) !=
+ BT_FIELD_CLASS_STRUCTURE_APPEND_MEMBER_STATUS_OK) {
+ BT_COMP_LOGE_STR("Failed to add a field to debug_info "
"struct: field=src.");
ret = -1;
goto error;
BT_FIELD_CLASS_PUT_REF_AND_RESET(src_field_class);
/*Add the filled debug-info field class to the common context. */
- status = bt_field_class_structure_append_member(out_field_class,
- debug_info_fc_name,
- debug_field_class);
- if (status != BT_FIELD_CLASS_STATUS_OK) {
- BT_LOGE_STR("Failed to add debug_info field to "
+ if (bt_field_class_structure_append_member(out_field_class,
+ debug_info_fc_name, debug_field_class) !=
+ BT_FIELD_CLASS_STRUCTURE_APPEND_MEMBER_STATUS_OK) {
+ BT_COMP_LOGE_STR("Failed to add debug_info field to "
"event common context.");
ret = -1;
goto error;
}
BT_FIELD_CLASS_PUT_REF_AND_RESET(debug_field_class);
}
- BT_LOGD("Copied content of event common context field class: "
+ BT_COMP_LOGD("Copied content of event common context field class: "
"in-fc-addr=%p, out-fc-addr=%p", in_field_class, out_field_class);
goto end;