trace: create CTF TDSL metadata in memory
[dpdk.git] / lib / librte_eal / common / eal_common_trace.c
index 55d7fa7..923b1dc 100644 (file)
@@ -57,15 +57,24 @@ eal_trace_init(void)
         */
        trace_uuid_generate();
 
+       /* Generate CTF TDSL metadata */
+       if (trace_metadata_create() < 0)
+               goto fail;
+
        /* Create trace directory */
        if (trace_mkdir())
-               goto fail;
+               goto free_meta;
 
+       /* Save current epoch timestamp for future use */
+       if (trace_epoch_time_save() < 0)
+               goto fail;
 
        rte_trace_mode_set(trace.mode);
 
        return 0;
 
+free_meta:
+       trace_metadata_destroy();
 fail:
        trace_err("failed to initialize trace [%s]", rte_strerror(rte_errno));
        return -rte_errno;
@@ -76,6 +85,7 @@ eal_trace_fini(void)
 {
        if (!rte_trace_is_enabled())
                return;
+       trace_metadata_destroy();
 }
 
 bool