3 $ ${bindir:=.}/io-set-bw "--log=root.fmt:[%10.6r]%e[%i:%a@%h]%e%m%n"
4 > [ 0.000000] [1:@bob] I/O operations: size 1e6. Should take 1s each
5 > [ 1.000000] [1:@bob] Read finished. Took: 1.000000
6 > [ 2.000000] [1:@bob] Write finished. Took: 1.000000
7 > [ 2.000000] [1:@bob] Setting read limit to half (.5e6). Read should take 2s, write still 1s
8 > [ 4.000000] [1:@bob] Read finished. Took: 2.000000
9 > [ 5.000000] [1:@bob] Write finished. Took: 1.000000
10 > [ 5.000000] [1:@bob] Setting write limit to half (.5e6). Write should take 2s, read still 1s
11 > [ 6.000000] [1:@bob] Read finished. Took: 1.000000
12 > [ 8.000000] [1:@bob] Write finished. Took: 2.000000
13 > [ 8.000000] [1:@bob] Setting readwrite limit to half (.5e6). Write and read should take 2s now
14 > [ 10.000000] [1:@bob] Read finished. Took: 2.000000
15 > [ 12.000000] [1:@bob] Write finished. Took: 2.000000
16 > [ 12.000000] [1:@bob] Change bandwidth in the middle of I/O operation
17 > [ 12.000000] [1:@bob] Setting read limit to half (.5e6) in the middle of IO. Read should take 1.5s
18 > [ 13.500000] [1:@bob] Read finished. Took: 1.500000
19 > [ 13.500000] [1:@bob] Setting write limit to half (.5e6) in the middle of IO. Write should take 1.5s
20 > [ 15.000000] [1:@bob] Write finished. Took: 1.500000
21 > [ 15.000000] [1:@bob] Setting readwrite limit to half (.5e6) in the middle of IO. Read and write should take 1.5s
22 > [ 16.500000] [1:@bob] Read and write finished. Took: 1.500000