code: func (b *Bridge) Run(ctx context.Context) {
  	ticker := time.NewTicker(b.interval)
  	defer ticker.Stop()
  	for {
  		select {
  		case <-ticker.C:
  			if err := b.Push(); err != nil && b.logger != nil {
  				b.logger.Println("error pushing to Graphite:", err)
  			}
  		case <-ctx.Done():
  			return
  		}
  	}
  }
docs: // Run starts the event loop that pushes Prometheus metrics to Graphite at the
  // configured interval.