code: func New(url, job string) *Pusher {
  	var (
  		reg = prometheus.NewRegistry()
  		err error
  	)
  	if !strings.Contains(url, "://") {
  		url = "http://" + url
  	}
  	if strings.HasSuffix(url, "/") {
  		url = url[:len(url)-1]
  	}
  	if strings.Contains(job, "/") {
  		err = fmt.Errorf("job contains '/': %s", job)
  	}
  
  	return &Pusher{
  		error:      err,
  		url:        url,
  		job:        job,
  		grouping:   map[string]string{},
  		gatherers:  prometheus.Gatherers{reg},
  		registerer: reg,
  		client:     &http.Client{},
  		expfmt:     expfmt.FmtProtoDelim,
  	}
  }
docs: // New creates a new Pusher to push to the provided URL with the provided job
  // name. You can use just host:port or ip:port as url, in which case “http://”
  // is added automatically. Alternatively, include the schema in the
  // URL. However, do not include the “/metrics/jobs/…” part.
  //
  // Note that until https://github.com/prometheus/pushgateway/issues/97 is
  // resolved, a “/” character in the job name is prohibited.