diff --git a/iox_data_generator/src/agent.rs b/iox_data_generator/src/agent.rs index 92b962d73d..e114ae99a9 100644 --- a/iox_data_generator/src/agent.rs +++ b/iox_data_generator/src/agent.rs @@ -148,11 +148,12 @@ impl Agent { let mut streams = Vec::with_capacity(batch_size); for _ in 0..batch_size { - let mut s = self.generate().await?; - if s.is_empty() { + if self.finished { break; + } else { + let mut s = self.generate().await?; + streams.append(&mut s); } - streams.append(&mut s); } for s in &streams { @@ -160,6 +161,10 @@ impl Agent { total_points += s.line_count(); } + if points_this_batch == 0 && self.finished { + break; + } + points_writer .write_points(streams.into_iter().flatten()) .await @@ -187,7 +192,7 @@ impl Agent { /// Generate data points from the configuration in this agent. pub async fn generate(&mut self) -> Result> { debug!( - "[agent {}] generate more? {} current: {}, end: {}", + "[agent {}] finished? {} current: {}, end: {}", self.id, self.finished, self.current_datetime, self.end_datetime );