| |
- getSystemUptime()
- getSystemUptime - Gets system uptime in seconds
@return <int> - Seconds of uptime
- printk_calculateCurrentDrift(dmesgContents=None, maxDriftRedetectTime=12000)
- printk_calculateCurrentDrift - Convienance function for printk_calculateDrifts which just returns the latest drift.
This function will try to add a new entry if the last delta is outside the given threshold
@see printk_calculateDrifts
@return <int> - Latest delta
- printk_calculateDrifts(dmesgContents=None, onlyLatest=False, maxDriftRedetectTime=12000)
- printk_calculateDrifts - Calculates the drifts for a dmesg log
@param dmesgContents <str/None> - Contents of dmesg, or None to fetch new
@param onlyLatest <bool> - Only fetch the most recent.
@param maxDriftRedetectTime <int> - Number of seconds that represents max tolerance between printk detections. If set to 0, any present
delta is okay.
This will add an entry if one has not been inserted in the last PRINTK_DRIFT_REDIRECT_TIME seconds.
The entry compares the printk "time" with current uptime, to detect a drift.
This function returns a dictionary with each line number containing a drift delta to that delta.
@return dict - key is line number <0-origin> containing a drift delta, and value is that delta. Also an entry "latest" which contains most recent drift, and "earliest" which contains the oldest drift.
Use these results to apply compounded deltas as you reach different lines in the output, or just use latest for a fuzzier view.
@raises NotRecentEnoughDriftDelta - If onlyLatest is True and if a close enough sample (within #maxDriftRedetectTime seconds) is not present AND dmesgContents are provided, or a close enough sample is not present and /dev/kmsg is not writeable by current user. Exception message contains what the issue was and is suitable for printing.
If maxDriftRedetectTime is 0, and there is no given delta, and one cannot be created, a NotRecentEnoughDriftDelta will be raised.
This starts with a drift of 0 at zero. This could vary, depending on how far out the first delta is placed, and how off the clock was on boot from being corrected later. You may want to ignore this, maybe not. The most accurate option is to add a printk drift marker after ntpdate service on the boot
- printk_convertTimestampToDatetime(timestamp, drift=None, uptime=None)
- printk_convertTimestampToDatetime - Converts a printk timestamp to a local datetime object.
@see printk_convertTimestampToEpoch
@return - <datetime.datetime> - Datetime object in local time
- printk_convertTimestampToEpoch(timestamp, drift=None, uptime=None)
- printk_convertTimestampToEpoch - Converts a printk timestamp to a "seconds since epoch" time value
@param timestamp <str/float> - String/Float of the timestamp (e.x. [1234.14])
@param drift <float> - Given drift, or None to calculate a drift. If calling often, calculate drift first with printk_calculateDrift(s)
@param uptime <int> - Current uptime for calcluation, or None to calculate. If calling often, calcluate first with getSystemUptime
@return <int> - seconds since epoch. Can be used for a datetime.fromtimestamp
- printk_convertTimestampToUTCDatetime(timestamp, drift=None, uptime=None)
- printk_convertTimestampToUTCDatetime - Converts a printk timestamp to a utc datetime object
@see printk_convertTimestampToEpoch
@return - <datetime.datetime> - Datetime object in utc time
- printk_markCurrentDrift()
- printk_markCurrentDrift - Mark the current uptime in kmsg for calcuation of drift. The more often you do this, the more accurate your timestamps in between will be.
@return - Current uptime in seconds
|