code: func (q *mergeQuerier) LabelNames() ([]string, error) {
  	labelNamesMap := make(map[string]struct{})
  	for _, b := range q.queriers {
  		names, err := b.LabelNames()
  		if err != nil {
  			return nil, errors.Wrap(err, "LabelNames() from Querier")
  		}
  		for _, name := range names {
  			labelNamesMap[name] = struct{}{}
  		}
  	}
  
  	labelNames := make([]string, 0, len(labelNamesMap))
  	for name := range labelNamesMap {
  		labelNames = append(labelNames, name)
  	}
  	sort.Strings(labelNames)
  
  	return labelNames, nil
  }
docs: // LabelNames returns all the unique label names present in the block in sorted order.