bmc_monitor_app: Adding systemd boot process duration Expose BMC bootup process durations. This bootup process is defined by systemd[1] and has been included in Redfish schema[2]. Basically the implementation is copied from systemd-analyze[3]. Ref: [1] https://www.freedesktop.org/software/systemd/man/bootup.html [2] https://www.dmtf.org/sites/default/files/standards/documents/DSP0268_2023.1.pdf (6.65 ManagerDiagnosticData 1.2.0) [3] https://github.com/systemd/systemd/blob/82b7bf8c1c8c6ded6f56b43998c803843a3b944b/src/analyze/analyze-time-data.c Tested: ``` \# Check the duration calculated by boot-time-monitor bmc:~# cat /usr/share/boot_time_monitor/bmc_durations.csv.completed Firmware,0 Loader,0 Kernel,6125 InitRD,0 Userspace,371105 \# Manual install systemd-analyze to ensure the result is correct. bmc:~# systemd-analyze Startup finished in 6.125s (kernel) + 6min 11.105s (userspace) = 6min 17.231s multi-user.target reached after 2min 48.715s in userspace. ``` Google-Bug-Id: 296530445 Change-Id: Ifa632a920e4d23085f25e6a38e00475218e907c8 Signed-off-by: Michael Shen <gpgpgp@google.com>