1use dipstick::{Input, InputScope, Prefixed, Proxy, Stream};
4use std::thread::sleep;
5use std::time::Duration;
6
7fn main() {
8 let root_proxy = Proxy::default();
9 let sub = root_proxy.named("sub");
10
11 let count1 = root_proxy.counter("counter_a");
12
13 let count2 = sub.counter("counter_b");
14
15 loop {
16 let stdout = Stream::write_to_stdout().metrics();
17 root_proxy.target(stdout.clone());
18 count1.count(1);
19 count2.count(2);
20
21 root_proxy.target(stdout.named("root"));
23 count1.count(3);
24 count2.count(4);
25
26 sub.target(stdout.named("mutant"));
28 count1.count(5);
29 count2.count(6);
30
31 root_proxy.unset_target();
33 count1.count(7);
34 count2.count(8);
35
36 sub.unset_target();
38 count1.count(9);
39 count2.count(10);
40
41 root_proxy.target(stdout.clone());
43 count1.count(11);
44 count2.count(12);
45
46 sleep(Duration::from_secs(1));
47
48 println!()
49 }
50}