public String toStringRounded() { return Time.makeTimeStringRounded(this); }
/** see {@link Time#sleep(long)} */ public static void sleep(Duration duration) { Time.sleep(duration); }
/** returns the current time in YYYY-MM-DD HH:MM:SS.mss format */ public static String makeDateString() { return makeDateString(System.currentTimeMillis()); }
(isUp != null ? isUp : "<unreported>"), (status != null ? status : "<unreported>"), (lastUpTime != null ? Time.makeDateString(lastUpTime) : "<never>"), Time.makeDateString(System.currentTimeMillis())); new Object[] {this, entity, Time.makeTimeStringRounded(System.currentTimeMillis() - currentFailureStartTime.get()), description}); if (weSetItOnFire) { if (status == Lifecycle.ON_FIRE)
long delayMs = -1; try { delayMs = Time.parseTimeString(""+waitForSshable); } catch (Exception e) { /* normal if 'true'; just fall back to default */ } if (delayMs<0) delayMs = Time.parseTimeString(WAIT_FOR_SSHABLE.getDefaultValue()); setup.getDescription(), Time.makeTimeStringRounded(delayMs), user, vmIp, Objects.equal(user, getUser(setup)) ? "" : " (setup user is different: "+getUser(setup)+")"}); Stopwatch stopwatch = new Stopwatch().start(); throw new IllegalStateException("SSH failed for "+ user+"@"+vmIp+" ("+setup.getDescription()+") after waiting "+ Time.makeTimeStringRounded(delayMs)); setup.getDescription(), Time.makeTimeStringRounded(stopwatch), user, vmIp});
String msg = String.format("%s: unsatisfied during iteration %s %s", description, iterations, (iterationLimit > 0 ? "(max "+iterationLimit+" attempts)" : "") + (endTime > 0 ? "("+Time.makeTimeString(endTime - System.currentTimeMillis())+" remaining)" : "")); if (iterations == 1) { log.debug(msg); if (System.currentTimeMillis() > endTime) { if (log.isDebugEnabled()) log.debug("{}: condition not satisfied and deadline {} passed", description, Time.makeTimeString(endTime - System.currentTimeMillis())); if (rethrowException && lastError != null) { log.error("{}: error caught checking condition: {}", description, lastError.getMessage()); Time.sleep(period);
if (verbosity>0) { long elapsed = System.currentTimeMillis() - submitTimeUtc; rv += " "+Time.makeTimeStringRoundedSince(elapsed)+" ago"; String duration = Time.makeTimeStringRounded(elapsed); rv = "Ended "; if (isCancelled()) {
/** @see #makeTimeString(long, boolean) */ public static String makeTimeStringExact(long t) { return makeTimeString(t, false); } /** @see #makeTimeString(long, boolean) */
/** see {@link #of(Object)} and {@link Time#parseTimeString(String)} */ public static Duration parse(String textualDescription) { return new Duration(Time.parseTimeString(textualDescription), TimeUnit.MILLISECONDS); }
public static boolean isSudoAllowed() { if (Time.hasElapsedSince(lastSudoCheckTime, Duration.FIVE_MINUTES)) checkIfNeeded(); return lastSudoResult; } private static synchronized void checkIfNeeded() {
/** @see #makeTimeString(long, boolean) */ public static String makeTimeStringRounded(long t) { return makeTimeString(t, true); } /** @see #makeTimeString(long, boolean) */
result = t.get(); } else { long timeoutMillis = "always".equalsIgnoreCase(timeout) ? 0 : Time.parseTimeString(timeout); try { if (timeoutMillis==0) throw new TimeoutException();
private static synchronized void checkIfNeeded() { if (Time.hasElapsedSince(lastSudoCheckTime, Duration.FIVE_MINUTES)) { try { lastSudoResult = new ProcessTool().execCommands(MutableMap.<String,Object>of(), Arrays.asList( BashCommands.sudo("date"))) == 0; } catch (Exception e) { lastSudoResult = false; LOG.debug("Error checking sudo at localhost: "+e, e); } lastSudoCheckTime = System.currentTimeMillis(); } } }
/** as {@link #sleep(long)} */ public static void sleep(Duration duration) { Time.sleep(duration.toMillisecondsRoundingUp()); }
/** @deprecated since 0.6.0 use {@link #makeTimeStringRounded(long, unit)} */ @Deprecated public static String makeTimeString(long t, TimeUnit unit) { return makeTimeStringRounded(t, unit); } /** @see #makeTimeString(long, boolean) */
/** * Gets a usable MBeanServerConnection. * * Method is threadsafe. * * @returns the MBeanServerConnection * @throws IllegalStateException if not connected. */ private synchronized MBeanServerConnection getConnectionOrFail() { if (isConnected()) return getConnection(); if (triedConnecting) { throw new IllegalStateException("Failed to connect to JMX at "+url); } else { String msg = "Not connected (and not attempted to connect) to JMX at "+url+ (failedReconnecting ? (" (last reconnect failure at "+ Time.makeDateString(failedReconnectingTime) + ")") : ""); throw new IllegalStateException(msg); } }
/** @see #makeTimeString(long, boolean) */ public static String makeTimeStringRoundedSince(long utc) { return makeTimeString(System.currentTimeMillis() - utc, true); } /** @see #makeTimeString(long, boolean) */
if (changed || Time.hasElapsedSince(lastUpdate, Duration.ONE_HOUR)) update();
protected boolean tryCheckStartWindowsService() { if (windowsServiceName==null) return false; // if it's still up after 5s assume we are good (default behaviour) Time.sleep(Duration.FIVE_SECONDS); if (!((Integer)0).equals(DynamicTasks.queue(SshEffectorTasks.ssh("sc query \""+windowsServiceName+"\" | find \"RUNNING\"").runAsCommand()).get())) { throw new IllegalStateException("The process for "+entity()+" appears not to be running (windowsService "+windowsServiceName+")"); } return true; }
/** @deprecated use {@link Time#makeTimeStringRounded(long)} */ @Deprecated public static String makeTimeString(long utcMillis) { return Time.makeTimeStringRounded(utcMillis); }