timeutils¶
Time related utilities and helper functions.
-
class
oslo_utils.timeutils.
Split
(elapsed, length)¶ A immutable stopwatch split.
See: http://en.wikipedia.org/wiki/Stopwatch for what this is/represents.
-
elapsed
¶ Duration from stopwatch start.
-
length
¶ Seconds from last split (or the elapsed time if no prior split).
-
-
class
oslo_utils.timeutils.
StopWatch
(duration=None)¶ A simple timer/stopwatch helper class.
Inspired by: apache-commons-lang java stopwatch.
Not thread-safe (when a single watch is mutated by multiple threads at the same time). Thread-safe when used by a single thread (not shared) or when operations are performed in a thread-safe manner on these objects by wrapping those operations with locks.
It will try to use
time.monotonic
and then attempt to use the monotonic pypi library and then fallback to using the non-monotonictime.time
.-
elapsed
(maximum=None)¶ Returns how many seconds have elapsed.
-
expired
()¶ Returns if the watch has expired (ie, duration provided elapsed).
-
leftover
(return_none=False)¶ Returns how many seconds are left until the watch expires.
Parameters: return_none (boolean) – when True
instead of raising aRuntimeError
when no duration has been set this call will returnNone
instead.
-
restart
()¶ Restarts the watch from a started/stopped state.
-
resume
()¶ Resumes the watch from a stopped state.
-
split
()¶ Captures a split/elapsed since start time (and doesn’t stop).
-
splits
¶ Accessor to all/any splits that have been captured.
-
start
()¶ Starts the watch (if not already started).
NOTE(harlowja): resets any splits previously captured (if any).
-
stop
()¶ Stops the watch.
-
-
oslo_utils.timeutils.
advance_time_delta
(timedelta)¶ Advance overridden time using a datetime.timedelta.
-
oslo_utils.timeutils.
advance_time_seconds
(seconds)¶ Advance overridden time by seconds.
-
oslo_utils.timeutils.
clear_time_override
()¶ Remove the overridden time.
-
oslo_utils.timeutils.
delta_seconds
(before, after)¶ Return the difference between two timing objects.
Compute the difference in seconds between two date, time, or datetime objects (as a float, to microsecond resolution).
-
oslo_utils.timeutils.
is_newer_than
(after, seconds)¶ Return True if after is newer than seconds.
-
oslo_utils.timeutils.
is_older_than
(before, seconds)¶ Return True if before is older than seconds.
-
oslo_utils.timeutils.
is_soon
(dt, window)¶ Determines if time is going to happen in the next window seconds.
Parameters: - dt – the time
- window – minimum seconds to remain to consider the time not soon
Returns: True if expiration is within the given duration
-
oslo_utils.timeutils.
iso8601_from_timestamp
(timestamp, microsecond=False)¶ Returns an iso8601 formatted date from timestamp.
Deprecated since version >: 1.5.0 Use
datetime.datetime.utcfromtimestamp()
anddatetime.datetime.isoformat()
instead.
-
oslo_utils.timeutils.
isotime
(at=None, subsecond=False)¶ Stringify time in ISO 8601 format.
Deprecated since version >: 1.5.0 Use
utcnow()
anddatetime.datetime.isoformat()
instead.
-
oslo_utils.timeutils.
marshall_now
(now=None)¶ Make an rpc-safe datetime with microseconds.
-
oslo_utils.timeutils.
normalize_time
(timestamp)¶ Normalize time in arbitrary timezone to UTC naive object.
-
oslo_utils.timeutils.
parse_isotime
(timestr)¶ Parse time from ISO 8601 format.
-
oslo_utils.timeutils.
parse_strtime
(timestr, fmt='%Y-%m-%dT%H:%M:%S.%f')¶ Turn a formatted time back into a datetime.
-
oslo_utils.timeutils.
set_time_override
(override_time=None)¶ Overrides utils.utcnow.
Make it return a constant time or a list thereof, one at a time.
See
oslo_utils.fixture.TimeFixture
.Parameters: override_time – datetime instance or list thereof. If not given, defaults to the current UTC time.
-
oslo_utils.timeutils.
strtime
(at=None, fmt='%Y-%m-%dT%H:%M:%S.%f')¶ Returns formatted utcnow.
Deprecated since version >: 1.5.0 Use
utcnow()
,datetime.datetime.isoformat()
ordatetime.strftime()
instead.strtime() => utcnow().isoformat() strtime(fmt=...) => utcnow().strftime(fmt) strtime(at) => at.isoformat() strtime(at, fmt) => at.strftime(fmt)
-
oslo_utils.timeutils.
total_seconds
(delta)¶ Return the total seconds of datetime.timedelta object.
Compute total seconds of datetime.timedelta, datetime.timedelta doesn’t have method total_seconds in Python2.6, calculate it manually.
-
oslo_utils.timeutils.
unmarshall_time
(tyme)¶ Unmarshall a datetime dict.
-
oslo_utils.timeutils.
utcnow
(with_timezone=False)¶ Overridable version of utils.utcnow that can return a TZ-aware datetime.
-
oslo_utils.timeutils.
utcnow_ts
(microsecond=False)¶ Timestamp version of our utcnow function.