HEX
Server: LiteSpeed
System: Linux srv1.dhviews.com 5.14.0-570.23.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 24 11:27:16 EDT 2025 x86_64
User: bdedition (1723)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //proc/self/root/proc/self/root/usr/local/lib/python3.9/site-packages/wordfence/util/timing.py
import time


def unit_seconds(ns: int) -> int:
    return ns / 1000000000


def unit_milliseconds(ns: int) -> int:
    return ns / 1000000


class Timer:

    def __init__(self, start: bool = True):
        if start:
            self.start()
        else:
            self.start_time = None
        self.end_time = None

    def _capture_time(self) -> int:
        return time.monotonic_ns()

    def start(self):
        self.start_time = self._capture_time()

    def reset(self):
        self.start()

    def stop(self):
        self.end_time = self._capture_time()

    def get_elapsed(self, unit=unit_seconds):
        end_time = \
                self.end_time if self.end_time is not None \
                else self._capture_time()
        return unit(end_time - self.start_time)