code: func (c *StatsConnection) GetBufferStats() (*api.BufferStats, error) {
  	stats, err := c.statsClient.DumpStats(BufferStatsPrefix)
  	if err != nil {
  		return nil, err
  	}
  
  	bufStats := &api.BufferStats{
  		Buffer: map[string]api.BufferPool{},
  	}
  
  	for _, stat := range stats {
  		d, f := path.Split(stat.Name)
  		d = strings.TrimSuffix(d, "/")
  
  		name := strings.TrimPrefix(d, BufferStatsPrefix)
  		b, ok := bufStats.Buffer[name]
  		if !ok {
  			b.PoolName = name
  		}
  
  		switch f {
  		case BufferStats_Cached:
  			b.Cached = scalarStatToFloat64(stat.Data)
  		case BufferStats_Used:
  			b.Used = scalarStatToFloat64(stat.Data)
  		case BufferStats_Available:
  			b.Available = scalarStatToFloat64(stat.Data)
  		}
  
  		bufStats.Buffer[name] = b
  	}
  
  	return bufStats, nil
  }
docs: // GetBufferStats retrieves VPP buffer pools stats.