blob: 61a3b6d188b2d8ffd02bc2715bbcdddf20c9070b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
probe begin {
qsq_start ("block-read")
qsq_start ("block-write")
}
probe timer.ms(3500), end {
qsq_print ("block-read")
qsq_start ("block-read")
qsq_print ("block-write")
qsq_start ("block-write")
}
probe timer.ms(10000) { exit () }
# synthesize queue work/service using three randomized "threads" for each queue.
global tc
function qs_doit (thread, name) {
n = tc[thread] = (tc[thread]+1) % 3 # per-thread state counter
if (n==1) qs_wait (name)
else if (n==2) qs_run (name)
else if (n==0) qs_done (name)
}
probe timer.ms(100).randomize(100) { qs_doit (0, "block-read") }
probe timer.ms(100).randomize(100) { qs_doit (1, "block-read") }
probe timer.ms(100).randomize(100) { qs_doit (2, "block-read") }
probe timer.ms(100).randomize(100) { qs_doit (3, "block-write") }
probe timer.ms(100).randomize(100) { qs_doit (4, "block-write") }
probe timer.ms(100).randomize(100) { qs_doit (5, "block-write") }
|