summaryrefslogtreecommitdiffstats
path: root/examples/stats.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/stats.rs')
-rw-r--r--examples/stats.rs20
1 files changed, 14 insertions, 6 deletions
diff --git a/examples/stats.rs b/examples/stats.rs
index 9a0f38d..f136326 100644
--- a/examples/stats.rs
+++ b/examples/stats.rs
@@ -1,15 +1,23 @@
extern crate shiplift;
+extern crate tokio;
use shiplift::Docker;
use std::env;
+use tokio::prelude::{Future, Stream};
fn main() {
let docker = Docker::new();
let containers = docker.containers();
- if let Some(id) = env::args().nth(1) {
- let stats = containers.get(&id).stats();
- for s in stats.unwrap() {
- println!("{:?}", s);
- }
- }
+ let id = env::args()
+ .nth(1)
+ .expect("Usage: cargo run --example stats -- <container>");
+ let fut = containers
+ .get(&id)
+ .stats()
+ .for_each(|stat| {
+ println!("{:?}", stat);
+ Ok(())
+ })
+ .map_err(|e| eprintln!("Error: {}", e));
+ tokio::run(fut);
}