diff --git a/core/src/main/java/jenkins/model/Uptime.java b/core/src/main/java/jenkins/model/Uptime.java new file mode 100644 index 0000000000000000000000000000000000000000..226b751fdd41a73538bc358beecd873c102da58d --- /dev/null +++ b/core/src/main/java/jenkins/model/Uptime.java @@ -0,0 +1,32 @@ +package jenkins.model; + +import hudson.Extension; +import hudson.init.InitMilestone; +import hudson.init.Initializer; + +/** + * Keeps track of the uptime of Jenkins. + * + * @author Kohsuke Kawaguchi + * @since 1.538 + */ +@Extension +public class Uptime { + private long startTime; + + /** + * Timestamp in which Jenkins became fully up and running. + */ + public long getStartTime() { + return startTime; + } + + public long getUptime() { + return System.currentTimeMillis()-startTime; + } + + @Initializer(after=InitMilestone.JOB_LOADED) + public static void init() { + Jenkins.getInstance().getInjector().getInstance(Uptime.class).startTime = System.currentTimeMillis(); + } +}