X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=src%2Fctf-writer%2Ftrace.c;h=58d6b3a262bffed99561ca6403ee966186fb8e8b;hp=6639798546d4779686c412974cea479349ac174e;hb=0235b0db7de5bcacdb3650c92461f2ce5eb2143d;hpb=350ad6c1c5f45a4e90c33e3c1354125c209bbf02 diff --git a/src/ctf-writer/trace.c b/src/ctf-writer/trace.c index 66397985..58d6b3a2 100644 --- a/src/ctf-writer/trace.c +++ b/src/ctf-writer/trace.c @@ -1,37 +1,22 @@ /* + * SPDX-License-Identifier: MIT + * * Copyright 2013, 2014 Jérémie Galarneau * Copyright 2017-2018 Philippe Proulx - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #define BT_LOG_TAG "CTF-WRITER/TRACE" #include "logging.h" #include +#include #include #include #include -#include -#include -#include +#include +#include +#include #include #include "common/assert.h" @@ -172,7 +157,7 @@ int bt_ctf_trace_common_set_name(struct bt_ctf_trace_common *trace, const char * goto end; } - BT_LOGV("Set trace's name: addr=%p, name=\"%s\"", trace, name); + BT_LOGT("Set trace's name: addr=%p, name=\"%s\"", trace, name); end: return ret; @@ -180,7 +165,7 @@ end: BT_HIDDEN int bt_ctf_trace_common_set_uuid(struct bt_ctf_trace_common *trace, - const unsigned char *uuid) + const uint8_t *uuid) { int ret = 0; @@ -204,27 +189,12 @@ int bt_ctf_trace_common_set_uuid(struct bt_ctf_trace_common *trace, goto end; } - memcpy(trace->uuid, uuid, BABELTRACE_UUID_LEN); - trace->uuid_set = BT_TRUE; - BT_LOGV("Set trace's UUID: addr=%p, name=\"%s\", " - "uuid=\"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\"", + bt_uuid_copy(trace->uuid, uuid); + trace->uuid_set = BT_CTF_TRUE; + BT_LOGT("Set trace's UUID: addr=%p, name=\"%s\", " + "uuid=\"" BT_UUID_FMT "\"", trace, bt_ctf_trace_common_get_name(trace), - (unsigned int) uuid[0], - (unsigned int) uuid[1], - (unsigned int) uuid[2], - (unsigned int) uuid[3], - (unsigned int) uuid[4], - (unsigned int) uuid[5], - (unsigned int) uuid[6], - (unsigned int) uuid[7], - (unsigned int) uuid[8], - (unsigned int) uuid[9], - (unsigned int) uuid[10], - (unsigned int) uuid[11], - (unsigned int) uuid[12], - (unsigned int) uuid[13], - (unsigned int) uuid[14], - (unsigned int) uuid[15]); + BT_UUID_FMT_VALUES(uuid)); end: return ret; @@ -307,7 +277,7 @@ int bt_ctf_trace_common_set_environment_field(struct bt_ctf_trace_common *trace, "env-name=\"%s\"", trace, bt_ctf_trace_common_get_name(trace), name); } else { - BT_LOGV("Set environment field's value: " + BT_LOGT("Set environment field's value: " "trace-addr=%p, trace-name=\"%s\", " "env-name=\"%s\", value-addr=%p", trace, bt_ctf_trace_common_get_name(trace), name, value); @@ -406,11 +376,11 @@ int bt_ctf_trace_common_add_clock_class(struct bt_ctf_trace_common *trace, g_ptr_array_add(trace->clock_classes, clock_class); if (trace->frozen) { - BT_LOGV_STR("Freezing added clock class because trace is frozen."); + BT_LOGT_STR("Freezing added clock class because trace is frozen."); bt_ctf_clock_class_freeze(clock_class); } - BT_LOGV("Added clock class to trace: " + BT_LOGT("Added clock class to trace: " "trace-addr=%p, trace-name=\"%s\", " "clock-class-addr=%p, clock-class-name=\"%s\"", trace, bt_ctf_trace_common_get_name(trace), @@ -488,7 +458,7 @@ bool packet_header_field_type_is_valid(struct bt_ctf_trace_common *trace, ret = bt_ctf_field_type_common_structure_borrow_field_by_index( packet_header_type, &field_name, NULL, 0); - BT_ASSERT(ret == 0); + BT_ASSERT_DBG(ret == 0); if (strcmp(field_name, "magic") != 0) { BT_LOGW("Invalid packet header field type: `magic` field must be the first field: " @@ -524,7 +494,7 @@ bool packet_header_field_type_is_valid(struct bt_ctf_trace_common *trace, } elem_ft = bt_ctf_field_type_common_array_borrow_element_field_type(field_type); - BT_ASSERT(elem_ft); + BT_ASSERT_DBG(elem_ft); if (elem_ft->id != BT_CTF_FIELD_TYPE_ID_INTEGER) { BT_LOGW("Invalid packet header field type: `uuid` field's element field type must be an integer field type: " @@ -844,7 +814,7 @@ bool event_header_field_type_is_valid(struct bt_ctf_trace_common *trace, goto invalid; } - BT_ASSERT(int_ft); + BT_ASSERT_DBG(int_ft); if (bt_ctf_field_type_common_integer_is_signed(int_ft)) { BT_LOGW("Invalid event header field type: `id` field must be an unsigned integer or enumeration field type: " "id-ft-addr=%p", int_ft); @@ -914,12 +884,12 @@ int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace, struct bt_ctf_field_type_common *packet_context_type = NULL; struct bt_ctf_field_type_common *event_header_type = NULL; struct bt_ctf_field_type_common *stream_event_ctx_type = NULL; - int64_t event_class_count; + int64_t event_class_count = 0; struct bt_ctf_trace_common *current_parent_trace = NULL; struct bt_ctf_clock_class *expected_clock_class = bt_ctf_object_get_ref(init_expected_clock_class); - BT_ASSERT(copy_field_type_func); + BT_ASSERT_DBG(copy_field_type_func); if (!trace) { BT_LOGW_STR("Invalid parameter: trace is NULL."); @@ -955,7 +925,7 @@ int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace, event_class_count = bt_ctf_stream_class_common_get_event_class_count(stream_class); - BT_ASSERT(event_class_count >= 0); + BT_ASSERT_DBG(event_class_count >= 0); if (!stream_class->frozen) { /* @@ -1271,13 +1241,13 @@ end: } BT_HIDDEN -bt_bool bt_ctf_trace_common_has_clock_class(struct bt_ctf_trace_common *trace, +bt_ctf_bool bt_ctf_trace_common_has_clock_class(struct bt_ctf_trace_common *trace, struct bt_ctf_clock_class *clock_class) { struct bt_ctf_search_query query = { .value = clock_class, .found = 0 }; - BT_ASSERT(trace); - BT_ASSERT(clock_class); + BT_ASSERT_DBG(trace); + BT_ASSERT_DBG(clock_class); g_ptr_array_foreach(trace->clock_classes, value_exists, &query); return query.found; @@ -1323,7 +1293,7 @@ int bt_ctf_trace_common_set_native_byte_order(struct bt_ctf_trace_common *trace, } trace->native_byte_order = byte_order; - BT_LOGV("Set trace's native byte order: " + BT_LOGT("Set trace's native byte order: " "addr=%p, name=\"%s\", bo=%s", trace, bt_ctf_trace_common_get_name(trace), bt_ctf_byte_order_string(byte_order)); @@ -1366,7 +1336,7 @@ int bt_ctf_trace_common_set_packet_header_field_type(struct bt_ctf_trace_common bt_ctf_object_put_ref(trace->packet_header_field_type); trace->packet_header_field_type = bt_ctf_object_get_ref(packet_header_type); - BT_LOGV("Set trace's packet header field type: " + BT_LOGT("Set trace's packet header field type: " "addr=%p, name=\"%s\", packet-context-ft-addr=%p", trace, bt_ctf_trace_common_get_name(trace), packet_header_type); end: @@ -1414,7 +1384,7 @@ int bt_ctf_trace_visit(struct bt_ctf_trace *trace, goto end; } - BT_LOGV("Visiting trace: addr=%p, name=\"%s\"", + BT_LOGT("Visiting trace: addr=%p, name=\"%s\"", trace, bt_ctf_trace_get_name(trace)); ret = bt_ctf_visitor_helper(&obj, get_stream_class_count, get_stream_class, visit_stream_class, visitor, data); @@ -1461,13 +1431,13 @@ error: return trace; } -const unsigned char *bt_ctf_trace_get_uuid(struct bt_ctf_trace *trace) +const uint8_t *bt_ctf_trace_get_uuid(struct bt_ctf_trace *trace) { return bt_ctf_trace_common_get_uuid(BT_CTF_TO_COMMON(trace)); } int bt_ctf_trace_set_uuid(struct bt_ctf_trace *trace, - const unsigned char *uuid) + const uint8_t *uuid) { return bt_ctf_trace_common_set_uuid(BT_CTF_TO_COMMON(trace), uuid); } @@ -1684,7 +1654,7 @@ static int append_trace_metadata(struct bt_ctf_trace *trace, struct metadata_context *context) { - unsigned char *uuid = trace->common.uuid; + uint8_t *uuid = trace->common.uuid; int ret = 0; if (trace->common.native_byte_order == BT_CTF_BYTE_ORDER_NATIVE || @@ -1700,17 +1670,14 @@ int append_trace_metadata(struct bt_ctf_trace *trace, g_string_append(context->string, "trace {\n"); g_string_append(context->string, "\tmajor = 1;\n"); g_string_append(context->string, "\tminor = 8;\n"); - BT_ASSERT(trace->common.native_byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN || + BT_ASSERT_DBG(trace->common.native_byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN || trace->common.native_byte_order == BT_CTF_BYTE_ORDER_BIG_ENDIAN || trace->common.native_byte_order == BT_CTF_BYTE_ORDER_NETWORK); if (trace->common.uuid_set) { g_string_append_printf(context->string, - "\tuuid = \"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\";\n", - uuid[0], uuid[1], uuid[2], uuid[3], - uuid[4], uuid[5], uuid[6], uuid[7], - uuid[8], uuid[9], uuid[10], uuid[11], - uuid[12], uuid[13], uuid[14], uuid[15]); + "\tuuid = \"" BT_UUID_FMT "\";\n", + BT_UUID_FMT_VALUES(uuid)); } g_string_append_printf(context->string, "\tbyte_order = %s;\n", @@ -1758,8 +1725,8 @@ void append_env_metadata(struct bt_ctf_trace *trace, env_field_value_obj = bt_ctf_attributes_borrow_field_value( trace->common.environment, i); - BT_ASSERT(entry_name); - BT_ASSERT(env_field_value_obj); + BT_ASSERT_DBG(entry_name); + BT_ASSERT_DBG(env_field_value_obj); switch (bt_ctf_value_get_type( bt_ctf_private_value_as_value(env_field_value_obj))) {