code: func (b *Bridge) Push() error {
  	mfs, err := b.g.Gather()
  	if err != nil || len(mfs) == 0 {
  		switch b.errorHandling {
  		case AbortOnError:
  			return err
  		case ContinueOnError:
  			if b.logger != nil {
  				b.logger.Println("continue on error:", err)
  			}
  		default:
  			panic("unrecognized error handling value")
  		}
  	}
  
  	conn, err := net.DialTimeout("tcp", b.url, b.timeout)
  	if err != nil {
  		return err
  	}
  	defer conn.Close()
  
  	return writeMetrics(conn, mfs, b.prefix, model.Now())
  }
docs: // Push pushes Prometheus metrics to the configured Graphite server.