code: func (c *StatsConnection) GetErrorStats(names ...string) (*api.ErrorStats, error) {
  	var patterns []string
  	if len(names) > 0 {
  		patterns = make([]string, len(names))
  		for i, name := range names {
  			patterns[i] = CounterStatsPrefix + name
  		}
  	} else {
  		// retrieve all error counters by default
  		patterns = []string{CounterStatsPrefix}
  	}
  	stats, err := c.statsClient.DumpStats(patterns...)
  	if err != nil {
  		return nil, err
  	}
  
  	var errorStats = &api.ErrorStats{}
  
  	for _, stat := range stats {
  		statName := strings.TrimPrefix(stat.Name, CounterStatsPrefix)
  
  		/* TODO: deal with stats that contain '/' in node/counter name
  		parts := strings.Split(statName, "/")
  		var nodeName, counterName string
  		switch len(parts) {
  		case 2:
  			nodeName = parts[0]
  			counterName = parts[1]
  		case 3:
  			nodeName = parts[0] + parts[1]
  			counterName = parts[2]
  		}*/
  
  		errorStats.Errors = append(errorStats.Errors, api.ErrorCounter{
  			CounterName: statName,
  			Value:       errorStatToUint64(stat.Data),
  		})
  	}
  
  	return errorStats, nil
  }
docs: // GetErrorStats retrieves VPP error stats.