time/
time.rs

1use einstein::TimeReport;
2use std::time::Duration;
3
4fn main() {
5  let mut report = TimeReport::new("main-task");
6  let start = report.start();
7  
8  // Let's do subtasks.
9  for i in 0..10 {
10      let subreport = do_some_work( report.subtask( format!("{}", i) ) );
11      
12      report.add(subreport);
13  }
14  
15  // Here ends the report.
16  report.end(start);
17  
18  println!("Time to the end of the report:\n{}", report);
19}
20
21fn do_some_work(mut report: TimeReport) -> TimeReport {
22  let start = report.start();
23  
24  std::thread::sleep(Duration::from_secs(1));
25  
26  report.end(start);
27  report
28}