code: func NewMetrics() Metrics {
  
  	return Metrics{
  		TotalPushCount: prometheus.NewDesc(
  			namespace+"total_push_count",
  			"Number of push count",
  			nil, nil,
  		),
  		IosSuccess: prometheus.NewDesc(
  			namespace+"ios_success",
  			"Number of iOS success count",
  			nil, nil,
  		),
  		IosError: prometheus.NewDesc(
  			namespace+"ios_error",
  			"Number of iOS fail count",
  			nil, nil,
  		),
  		AndroidSuccess: prometheus.NewDesc(
  			namespace+"android_success",
  			"Number of android success count",
  			nil, nil,
  		),
  		AndroidError: prometheus.NewDesc(
  			namespace+"android_fail",
  			"Number of android fail count",
  			nil, nil,
  		),
  		QueueUsage: prometheus.NewDesc(
  			namespace+"queue_usage",
  			"Length of internal queue",
  			nil, nil,
  		),
  	}
  }
docs: // NewMetrics returns a new Metrics with all prometheus.Desc initialized