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)
}
}