X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Ffs-src%2Fmetadata.c;h=78cc593997e232a3b0a9efe4f149443789880c7d;hb=c0aa240b810498f8c168a97f9128407988d7ed9e;hp=342b290f38a051741f93638f598bcba52361ce79;hpb=0746848ce8b40484254eeace3962a7654d01c7bc;p=babeltrace.git diff --git a/src/plugins/ctf/fs-src/metadata.c b/src/plugins/ctf/fs-src/metadata.c index 342b290f..78cc5939 100644 --- a/src/plugins/ctf/fs-src/metadata.c +++ b/src/plugins/ctf/fs-src/metadata.c @@ -23,13 +23,18 @@ * SOFTWARE. */ +#define BT_COMP_LOG_SELF_COMP self_comp +#define BT_LOG_OUTPUT_LEVEL log_level +#define BT_LOG_TAG "PLUGIN/SRC.CTF.FS/META" +#include "logging/comp-logging.h" + #include #include #include #include #include "common/assert.h" #include -#include "compat/uuid.h" +#include "common/uuid.h" #include "compat/memstream.h" #include @@ -38,9 +43,6 @@ #include "metadata.h" #include "../common/metadata/decoder.h" -#define BT_LOG_TAG "PLUGIN/SRC.CTF.FS/META" -#include "logging.h" - BT_HIDDEN FILE *ctf_fs_metadata_open_file(const char *trace_path) { @@ -59,9 +61,10 @@ end: return fp; } -static struct ctf_fs_file *get_file(const char *trace_path) +static struct ctf_fs_file *get_file(const char *trace_path, + bt_logging_level log_level, bt_self_component *self_comp) { - struct ctf_fs_file *file = ctf_fs_file_create(); + struct ctf_fs_file *file = ctf_fs_file_create(log_level, self_comp); if (!file) { goto error; @@ -88,37 +91,42 @@ end: BT_HIDDEN int ctf_fs_metadata_set_trace_class( - bt_self_component_source *self_comp, + bt_self_component *self_comp, struct ctf_fs_trace *ctf_fs_trace, struct ctf_fs_metadata_config *config) { int ret = 0; struct ctf_fs_file *file = NULL; struct ctf_metadata_decoder_config decoder_config = { - .log_level = BT_LOG_OUTPUT_LEVEL, + .log_level = ctf_fs_trace->log_level, + .self_comp = self_comp, .clock_class_offset_s = config ? config->clock_class_offset_s : 0, .clock_class_offset_ns = config ? config->clock_class_offset_ns : 0, + .force_clock_class_origin_unix_epoch = + config ? config->force_clock_class_origin_unix_epoch : false, + .create_trace_class = true, }; + bt_logging_level log_level = ctf_fs_trace->log_level; - file = get_file(ctf_fs_trace->path->str); + file = get_file(ctf_fs_trace->path->str, log_level, self_comp); if (!file) { - BT_LOGE("Cannot create metadata file object"); + BT_COMP_LOGE("Cannot create metadata file object."); ret = -1; goto end; } - ctf_fs_trace->metadata->decoder = ctf_metadata_decoder_create(self_comp, - config ? &decoder_config : NULL); + ctf_fs_trace->metadata->decoder = ctf_metadata_decoder_create( + &decoder_config); if (!ctf_fs_trace->metadata->decoder) { - BT_LOGE("Cannot create metadata decoder object"); + BT_COMP_LOGE("Cannot create metadata decoder object."); ret = -1; goto end; } - ret = ctf_metadata_decoder_decode(ctf_fs_trace->metadata->decoder, - file->fp); + ret = ctf_metadata_decoder_append_content( + ctf_fs_trace->metadata->decoder, file->fp); if (ret) { - BT_LOGE("Cannot decode metadata file"); + BT_COMP_LOGE("Cannot update metadata decoder's content."); goto end; } @@ -146,9 +154,7 @@ int ctf_fs_metadata_init(struct ctf_fs_metadata *metadata) BT_HIDDEN void ctf_fs_metadata_fini(struct ctf_fs_metadata *metadata) { - if (metadata->text) { - free(metadata->text); - } + free(metadata->text); if (metadata->trace_class) { BT_TRACE_CLASS_PUT_REF_AND_RESET(metadata->trace_class);