Fix: use app-pid when in pid mode for buffering_scheme_id
[lttng-tools.git] / src / bin / lttng-sessiond / ust-metadata.c
index f05c14c323505e9b35027953491a22e08a39cf88..f27b6e83287f224bde6d2acbec11f41f5f8b5294 100644 (file)
@@ -909,7 +909,7 @@ int print_metadata_session_information(struct ust_registry_session *registry)
 {
        int ret;
        struct ltt_session *session = NULL;
-       char creation_time[ISO8601_LEN];
+       char creation_datetime[ISO8601_LEN];
 
        rcu_read_lock();
        session = session_find_by_id(registry->tracing_id);
@@ -944,7 +944,7 @@ int print_metadata_session_information(struct ust_registry_session *registry)
        }
 
        /* Prepare creation time */
-       ret = time_t_to_ISO8601(creation_time, sizeof(creation_time),
+       ret = time_t_to_ISO8601(creation_datetime, sizeof(creation_datetime),
                        session->creation_time);
 
        if (ret) {
@@ -953,9 +953,9 @@ int print_metadata_session_information(struct ust_registry_session *registry)
 
        /* Output the reste of the information */
        ret = lttng_metadata_printf(registry,
-               "       trace_creation_time = \"%s\";\n"
+               "       trace_creation_datetime = \"%s\";\n"
                "       hostname = \"%s\";\n",
-               creation_time,
+               creation_datetime,
                session->hostname);
        if (ret) {
                goto error;
@@ -969,6 +969,39 @@ error:
        return ret;
 }
 
+static
+int print_metadata_app_information(struct ust_registry_session *registry,
+               struct ust_app *app)
+{
+       int ret;
+       char datetime[ISO8601_LEN];
+
+       if (!app) {
+               ret = 0;
+               goto end;
+       }
+
+       ret = time_t_to_ISO8601(datetime, sizeof(datetime),
+                       app->registration_time);
+       if (ret) {
+               goto end;
+       }
+
+       ret = lttng_metadata_printf(registry,
+                       "       tracer_patchlevel = %u;\n"
+                       "       vpid = %d;\n"
+                       "       procname = \"%s\";\n"
+                       "       vpid_datetime = \"%s\";\n" ,
+                       app->version.patchlevel,
+                       (int) app->pid,
+                       app->name,
+                       datetime
+       );
+
+end:
+       return ret;
+}
+
 /*
  * Should be called with session registry mutex held.
  */
@@ -1041,7 +1074,7 @@ int ust_metadata_session_statedump(struct ust_registry_session *session,
                major,
                minor,
                app ? "pid" : "uid",
-               app ? (int) app->uid : (int) session->tracing_uid,
+               app ? (int) app->pid : (int) session->tracing_uid,
                session->bits_per_long
                );
        if (ret)
@@ -1055,18 +1088,10 @@ int ust_metadata_session_statedump(struct ust_registry_session *session,
         * If per-application registry, we can output extra information
         * about the application.
         */
-       if (app) {
-               ret = lttng_metadata_printf(session,
-                       "       tracer_patchlevel = %u;\n"
-                       "       vpid = %d;\n"
-                       "       procname = \"%s\";\n",
-                       app->version.patchlevel,
-                       (int) app->pid,
-                       app->name
-                       );
-               if (ret)
-                       goto end;
-       }
+       ret = print_metadata_app_information(session, app);
+       if (ret)
+               goto end;
+
 
        ret = lttng_metadata_printf(session,
                "};\n\n"
This page took 0.026904 seconds and 5 git commands to generate.