metadata: Add the product uuid to the 'env' section
authorGeneviève Bastien <gbastien+lttng@versatic.net>
Thu, 1 Feb 2018 17:18:26 +0000 (12:18 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 18 Oct 2019 15:39:28 +0000 (11:39 -0400)
The product UUID is taken from the DMI system information and can be
used to identify a machine's hardware (virtual or physical).

Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
lttng-events.c

index 38cd4447696087cbff8719796651e149ffd11b77..4588153bf2d76a3f1fe8190a9119b69285ca0b6c 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/uaccess.h>
 #include <linux/vmalloc.h>
 #include <linux/uuid.h>
+#include <linux/dmi.h>
 
 #include <wrapper/vmalloc.h>   /* for wrapper_vmalloc_sync_all() */
 #include <wrapper/random.h>
@@ -2542,6 +2543,7 @@ int _lttng_session_metadata_statedump(struct lttng_session *session)
 {
        unsigned char *uuid_c = session->uuid.b;
        unsigned char uuid_s[37], clock_uuid_s[BOOT_ID_LEN];
+       const char *product_uuid;
        struct lttng_channel *chan;
        struct lttng_event *event;
        int ret = 0;
@@ -2628,7 +2630,18 @@ int _lttng_session_metadata_statedump(struct lttng_session *session)
        if (ret)
                goto end;
 
-       /* Close env */
+       /* Add the product UUID to the 'env' section */
+       product_uuid = dmi_get_system_info(DMI_PRODUCT_UUID);
+       if (product_uuid) {
+               ret = lttng_metadata_printf(session,
+                               "       product_uuid = \"%s\";\n",
+                               product_uuid
+                               );
+               if (ret)
+                       goto end;
+       }
+
+       /* Close the 'env' section */
        ret = lttng_metadata_printf(session, "};\n\n");
        if (ret)
                goto end;
This page took 0.026011 seconds and 4 git commands to generate.