func (queue *Queue) GetRawUsageStats(numStats int) ([]UsageStats, error) {
	queue.lock.Lock()
	defer queue.lock.Unlock()

	queueLength := len(queue.buffer)
	if queueLength == 0 {
		return nil, fmt.Errorf("No data in the queue")
	}

	if numStats > queueLength {
		numStats = queueLength
	}

	usageStats := make([]UsageStats, numStats)
	for i := 0; i < numStats; i++ {
		// Order such that usageStats[i].timestamp > usageStats[i+1].timestamp
		rawUsageStat := queue.buffer[queueLength-i-1]
		usageStats[i] = UsageStats{
			CPUUsagePerc:      rawUsageStat.CPUUsagePerc,
			MemoryUsageInMegs: rawUsageStat.MemoryUsageInMegs,
			Timestamp:         rawUsageStat.Timestamp,
		}
	}

	return usageStats, nil
}
func (queue *Queue) GetRawUsageStats(numStats int) ([]UsageStats, error) {
	queue.lock.Lock()
	defer queue.lock.Unlock()

	queueLength := len(queue.buffer)
	if queueLength == 0 {
		return nil, fmt.Errorf("No data in the queue")
	}

	if numStats > queueLength {
		numStats = queueLength
	}

	usageStats := make([]UsageStats, numStats)
	for i := 0; i < numStats; i++ {
		
		rawUsageStat := queue.buffer[queueLength-i-1]
		usageStats[i] = UsageStats{
			CPUUsagePerc:      rawUsageStat.CPUUsagePerc,
			MemoryUsageInMegs: rawUsageStat.MemoryUsageInMegs,
			Timestamp:         rawUsageStat.Timestamp,
		}
	}

	return usageStats, nil
}
func ( queue * Queue ) GetRawUsageStats ( numStats int ) ( [ ] UsageStats , error ) { queue . lock . Lock ( ) defer queue . lock . Unlock ( ) queueLength := len ( queue . buffer ) if queueLength == 0 { return nil , fmt . Errorf ( " " ) } if numStats > queueLength { numStats = queueLength } usageStats := make ( [ ] UsageStats , numStats ) for i := 0 ; i < numStats ; i ++ { // Order such that usageStats[i].timestamp > usageStats[i+1].timestamp rawUsageStat := queue . buffer [ queueLength - i - 1 ] usageStats [ i ] = UsageStats { CPUUsagePerc : rawUsageStat . CPUUsagePerc , MemoryUsageInMegs : rawUsageStat . MemoryUsageInMegs , Timestamp : rawUsageStat . Timestamp , } } return usageStats , nil }
// GetRawUsageStats gets the array of most recent raw UsageStats, in descending
// order of timestamps.
GetRawUsageStats gets the array of most recent raw UsageStats in descending order of timestamps .