/** @see #makeTimeString(long, boolean) */ public static String makeTimeStringRounded(Duration d) { return makeTimeStringNanoRounded(d.toNanoseconds()); } /** given an elapsed time, makes it readable, eg 44d 6h, or 8s 923ms, optionally rounding */
/** see {@link #of(Object)} and {@link Time#parseTimeString(String)} */ public static Duration parse(String textualDescription) { return new Duration(Time.parseTimeString(textualDescription), TimeUnit.MILLISECONDS); }
/** @see #makeTimeString(long, boolean) */ public static String makeTimeStringExact(Duration d) { return makeTimeStringNanoExact(d.toNanoseconds()); } /** @see #makeTimeString(long, boolean) */
/** as {@link #sleep(long)} */ public static void sleep(Duration duration) { Time.sleep(duration.toMillisecondsRoundingUp()); }
/** * @param timeToConsider Time for recent attempts (discard any attempts older than this) * @param criticalityPredicate What constitutes a critical cause * @param numTimes Number of "critical causes" that must happen within the time period, to consider failed */ public CriticalCauseZoneFailureDetector(Duration timeToConsider, Predicate<? super Throwable> criticalityPredicate, int numTimes) { this.timeToConsider = timeToConsider.toMilliseconds(); this.criticalityPredicate = criticalityPredicate; this.numTimes = numTimes; }
/** see {@link Time#sleep(long)} */ public static void sleep(Duration duration) { Time.sleep(duration); }
/** @deprecated since 0.6.0 use Duration parameter rather than long with millis */ public RollingTimeWindowMeanEnricher(Entity producer, AttributeSensor<T> source, AttributeSensor<Double> target, long timePeriod) { this(producer, source, target, Duration.millis(timePeriod)); }
private static Duration toDuration(Object duration, Duration defaultVal) { if (duration == null) return defaultVal; else return Duration.of(duration); }
/** @see #makeTimeString(long, boolean) */ public static String makeTimeStringExact(long t) { return makeTimeString(t, false); } /** @see #makeTimeString(long, boolean) */
/** true iff it has been longer than the given duration since the given timestamp */ public static boolean hasElapsedSince(long timestamp, Duration duration) { return elapsedSince(timestamp).compareTo(duration) > 0; }
/** given an elapsed time, makes it readable, eg 44d 6h, or 8s 923ms, optionally rounding */ public static String makeTimeString(long t, boolean round) { return makeTimeStringNano(t*1000000L, round); } /** @deprecated since 0.6.0 use makeTimeStringNanoRounded */
/** as {@link #toUnit(TimeUnit)} but rounding away from zero, * so 1 ns converted to ms gives 1 ms, and -1 ns gives 1ms */ public long toUnitRoundingUp(TimeUnit unit) { return toUnit(unit, RoundingMode.UP); }
/** parses a string eg '5s' or '20m 22.123ms', returning the number of milliseconds it represents (rounded); * -1 on blank or "never" or "off" or "false"; * number of millis if no units specified. * * @throws NumberFormatException if cannot be parsed (or if null) */ public static long parseTimeString(String timeString) { return (long) parseTimeStringAsDouble(timeString); }
/** as {@link #toMilliseconds()} but rounding away from zero (so 1 nanosecond gets rounded to 1 millisecond); * see {@link #toUnitRoundingUp(TimeUnit)}; provided as a convenience on top of {@link #toUnit(TimeUnit, RoundingMode)} * as this is a common case (when you want to make sure you wait at least a certain amount of time) */ public long toMillisecondsRoundingUp() { return toUnitRoundingUp(TimeUnit.MILLISECONDS); }
public ProportionalZoneFailureDetector(int minDatapoints, Duration timeToConsider, double maxProportionFailures, Ticker ticker) { super(ticker); this.minDatapoints = minDatapoints; this.timeToConsider = timeToConsider.toMilliseconds(); this.maxProportionFailures = maxProportionFailures; }
@Override public Duration apply(final Object input) { return brooklyn.util.time.Duration.of(input); } });
/** @see #makeTimeString(long, boolean) */ public static String makeTimeStringRounded(long t) { return makeTimeString(t, true); } /** @see #makeTimeString(long, boolean) */
/** @see #makeTimeString(long, boolean) */ public static String makeTimeStringNanoExact(long tn) { return makeTimeStringNano(tn, false); } /** @see #makeTimeString(long, boolean) */
@Override public boolean equals(Object o) { if (!(o instanceof Duration)) return false; return toMilliseconds() == ((Duration)o).toMilliseconds(); }
/** @see #makeTimeString(long, boolean) */ public static String makeTimeStringNanoRounded(long tn) { return makeTimeStringNano(tn, true); } /** @see #makeTimeString(long, boolean) */