code: def start_periodic_snapshots(self, interval=1.0):
          
          if not self._periodic_thread:
              self._periodic_thread = PeriodicThread(self, interval, name='BackgroundMonitor')
              self._periodic_thread.setDaemon(True)
              self._periodic_thread.start()
          else:
              self._periodic_thread.interval = interval
docs: Start a thread which takes snapshots periodically. The `interval` specifies
          the time in seconds the thread waits between taking snapshots. The thread is
          started as a daemon allowing the program to exit. If periodic snapshots are
          already active, the interval is updated.