Hi Paul: properties on the manager object, you can get them with: [~] sudo systemctl show -p InitRDTimestampMonotonic InitRDTimestampMonotonic=0 there is also the long way: [~] busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager InitRDTimestampMonotonic t 0 if you want to get this value from a shell script, you can use either, but i recommend `systemctl show`. if you can aford not to run this on shell, and do it in c, just bind against libsystemd and call methods in systemd/sd-bus.h , and if you can run stuff on high level languages like python... try pystemd (but i'm bias against the last one because i'm the author and its not a official systemd tool) best of lucks Alvaro Leiva On Tue, Jul 3, 2018 at 10:24 PM Paul Menzel < pmenzel+systemd-devel at molgen.mpg.de> wrote: > Dear systemd folks, > > > Debian uses a shell script as `/init` in initrd, and I like to extend > that, to set the time stamps for the initrd execution. > > `systemd-analyze` built from `src/analyze/analyze.c` uses D-Bus to get > the time stamp to display that. > > ``` > bus_get_uint64_property(bus, > "/org/freedesktop/systemd1", > "org.freedesktop.systemd1.Manager", > "InitRDTimestampMonotonic", > ×.initrd_time) < 0 > ``` > > In `src/core/manager.c` the value is set like below. > > ``` > if > (dual_timestamp_is_set(&m->timestamps[MANAGER_TIMESTAMP_INITRD])) { > > /* The initrd case on bare-metal*/ > kernel_usec = > m->timestamps[MANAGER_TIMESTAMP_INITRD].monotonic - > m->timestamps[MANAGER_TIMESTAMP_KERNEL].monotonic; > initrd_usec = > m->timestamps[MANAGER_TIMESTAMP_USERSPACE].monotonic - > m->timestamps[MANAGER_TIMESTAMP_INITRD].monotonic; > > log_struct(LOG_INFO, > "MESSAGE_ID=" > SD_MESSAGE_STARTUP_FINISHED_STR, > "KERNEL_USEC="USEC_FMT, kernel_usec, > "INITRD_USEC="USEC_FMT, initrd_usec, > "USERSPACE_USEC="USEC_FMT, > userspace_usec, > LOG_MESSAGE("Startup finished in > %s%s (kernel) + %s (initrd) + %s (userspace) = %s.", > buf, > format_timespan(kernel, > sizeof(kernel), kernel_usec, USEC_PER_MSEC), > format_timespan(initrd, > sizeof(initrd), initrd_usec, USEC_PER_MSEC), > > format_timespan(userspace, sizeof(userspace), userspace_usec, > USEC_PER_MSEC), > format_timespan(sum, > sizeof(sum), total_usec, USEC_PER_MSEC))); > ``` > > > > > Is it possible to set that value from a shell script? If yes, could you > please tell me how? > > > Kind regards, > > Paul > _______________________________________________ > systemd-devel mailing list > systemd-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/systemd-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20180703/7122484f/attachment.html>