func nonEmptySeriesList()

in integration_test/gce-testing-internal/gce/gce_testing.go [428:456]


func nonEmptySeriesList(logger *log.Logger, it *monitoring.TimeSeriesIterator, minimumRequiredSeries int) ([]*monitoringpb.TimeSeries, error) {
	if minimumRequiredSeries < 1 {
		panic("minimumRequiredSeries cannot be negative or 0")
	}
	// Loop through the iterator, looking for at least one non-empty time series.
	tsList := make([]*monitoringpb.TimeSeries, 0)
	for {
		series, err := it.Next()
		logger.Printf("nonEmptySeriesList() iterator supplied err %v and series %v", err, series)
		if err == iterator.Done {
			if len(tsList) == 0 {
				return nil, nil
			}
			if len(tsList) < minimumRequiredSeries {
				return nil, ErrInvalidIteratorLength
			}
			// Success
			return tsList, nil
		}
		if err != nil {
			return nil, err
		}
		if len(series.Points) == 0 {
			// Look at the next element(s) of the iterator.
			continue
		}
		tsList = append(tsList, series)
	}
}