code: func (ar *AgentReconciler) Run(a *Agent, stop <-chan struct{}) {
  	reconcile := func() {
  		start := time.Now()
  		ar.Reconcile(a)
  		elapsed := time.Now().Sub(start)
  
  		msg := fmt.Sprintf("AgentReconciler completed reconciliation in %s", elapsed)
  		if elapsed > reconcileInterval {
  			log.Warning(msg)
  		} else {
  			log.Debug(msg)
  		}
  	}
  	reconciler := pkg.NewPeriodicReconciler(reconcileInterval, reconcile, ar.rStream)
  	reconciler.Run(stop)
  }
docs: // Run periodically attempts to reconcile the provided Agent until the stop
  // channel is closed. Run will also reconcile in reaction to events on the
  // AgentReconciler's rStream.