From: Luca Boccassi Date: Fri, 19 Jun 2026 22:55:39 +0000 (+0100) Subject: core: publish shutdown timestamps via varlink X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fa5f6a654f49b58000b1ddbf9e734a182e5f65ad;p=thirdparty%2Fsystemd.git core: publish shutdown timestamps via varlink --- diff --git a/src/core/varlink-manager.c b/src/core/varlink-manager.c index f63d2a2e8f3..b48d2124752 100644 --- a/src/core/varlink-manager.c +++ b/src/core/varlink-manager.c @@ -170,6 +170,12 @@ static int manager_runtime_build_json(sd_json_variant **ret, const char *name, v JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("InitRDTimestamp", &m->timestamps[MANAGER_TIMESTAMP_INITRD]), JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("UserspaceTimestamp", &m->timestamps[MANAGER_TIMESTAMP_USERSPACE]), JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("FinishTimestamp", &m->timestamps[MANAGER_TIMESTAMP_FINISH]), + JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("ShutdownStartTimestamp", &m->timestamps[MANAGER_TIMESTAMP_SHUTDOWN_START]), + JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("ShutdownFinishTimestamp", &m->timestamps[MANAGER_TIMESTAMP_SHUTDOWN_FINISH]), + JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("PreviousShutdownStartTimestamp", &m->timestamps[MANAGER_TIMESTAMP_PREVIOUS_SHUTDOWN_START]), + JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("PreviousShutdownFinishTimestamp", &m->timestamps[MANAGER_TIMESTAMP_PREVIOUS_SHUTDOWN_FINISH]), + JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("PreviousShutdownLateStartTimestamp", &m->timestamps[MANAGER_TIMESTAMP_PREVIOUS_SHUTDOWN_LATE_START]), + JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("PreviousShutdownLateFinishTimestamp", &m->timestamps[MANAGER_TIMESTAMP_PREVIOUS_SHUTDOWN_LATE_FINISH]), JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("SecurityStartTimestamp", &m->timestamps[MANAGER_TIMESTAMP_SECURITY_START]), JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("SecurityFinishTimestamp", &m->timestamps[MANAGER_TIMESTAMP_SECURITY_FINISH]), JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL("GeneratorsStartTimestamp", &m->timestamps[MANAGER_TIMESTAMP_GENERATORS_START]), diff --git a/src/shared/varlink-io.systemd.Manager.c b/src/shared/varlink-io.systemd.Manager.c index 9331a2b1aee..7b0224323fb 100644 --- a/src/shared/varlink-io.systemd.Manager.c +++ b/src/shared/varlink-io.systemd.Manager.c @@ -141,6 +141,18 @@ static SD_VARLINK_DEFINE_STRUCT_TYPE( SD_VARLINK_DEFINE_FIELD_BY_TYPE(UserspaceTimestamp, Timestamp, SD_VARLINK_NULLABLE), SD_VARLINK_FIELD_COMMENT("Timestamp when the system finished booting up"), SD_VARLINK_DEFINE_FIELD_BY_TYPE(FinishTimestamp, Timestamp, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("Timestamp when shutdown began, i.e. when units started to be stopped"), + SD_VARLINK_DEFINE_FIELD_BY_TYPE(ShutdownStartTimestamp, Timestamp, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("Timestamp when all units finished stopping during shutdown"), + SD_VARLINK_DEFINE_FIELD_BY_TYPE(ShutdownFinishTimestamp, Timestamp, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("Timestamp when the previous boot began stopping units, restored across a kexec-based live update"), + SD_VARLINK_DEFINE_FIELD_BY_TYPE(PreviousShutdownStartTimestamp, Timestamp, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("Timestamp when the previous boot finished stopping units, restored across a kexec-based live update"), + SD_VARLINK_DEFINE_FIELD_BY_TYPE(PreviousShutdownFinishTimestamp, Timestamp, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("Timestamp when systemd-shutdown began execution during the previous boot, restored across a kexec-based live update"), + SD_VARLINK_DEFINE_FIELD_BY_TYPE(PreviousShutdownLateStartTimestamp, Timestamp, SD_VARLINK_NULLABLE), + SD_VARLINK_FIELD_COMMENT("Timestamp when systemd-shutdown was about to kexec into the current kernel, restored across a kexec-based live update"), + SD_VARLINK_DEFINE_FIELD_BY_TYPE(PreviousShutdownLateFinishTimestamp, Timestamp, SD_VARLINK_NULLABLE), SD_VARLINK_FIELD_COMMENT("Timestamp when the manager started uploading security policies to the kernel"), SD_VARLINK_DEFINE_FIELD_BY_TYPE(SecurityStartTimestamp, Timestamp, SD_VARLINK_NULLABLE), SD_VARLINK_FIELD_COMMENT("Timestamp when the manager finished uploading security policies to the kernel"),