<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start_monitoring(self) -> None: """ The recommended way of using Monitor is opening it with the `with` statement. In this case the user doesn't need to call this function explicitly. Otherwise, the function should be called before starting the optimiser. The function evaluates the global_step variable in order to get its initial value. It also resets the starting timer since the time set in the __init__ may no longer be accurate. """

        self._context.init_global_step = self._context.global_step
        self._start_timestamp = get_hr_time()
        self._last_timestamp = self._start_timestamp