-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathprovider_loop_with_counter.yaml
71 lines (64 loc) · 1.46 KB
/
provider_loop_with_counter.yaml
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Run this file with the test-server, then specify the PORT as a parameter to this try or run script.
vars:
port: "${PORT}"
counter_limit: 5
load_pattern:
- linear:
from: 100%
to: 100%
over: 15s
providers:
a:
range: {}
b:
response: {}
c:
response: {}
loggers:
test:
to: stdout
endpoints:
- method: POST
url: http://localhost:${port}
body: '{"a": ${a}}'
# peak_load: 1hps
provides:
b:
select:
value: response.body.a
counter: 0
logs:
test:
select:
ts: epoch("ms")
a: response.body.a
on_demand: true
- method: POST
url: http://localhost:${port}
body: '{"b": ${b.value},"counter": ${b.counter}}'
peak_load: 5hps
# on_demand: true # We can't do on_demand due to a bug where it can't figure out that we provider for ourselves
provides:
b:
select:
value: response.body.b # Put it back on 'b' to reuse
counter: b.counter + 1
where: b.counter < counter_limit
c:
select: response.body.b # Put it on once we've hit counter_limit
where: b.counter >= counter_limit
logs:
test:
select:
ts: epoch("ms")
b: response.body.b
counter: b.counter
- method: POST
url: http://localhost:${port}
body: '{"c": ${c}}'
peak_load: 1hps
logs:
test:
select:
ts: epoch("ms")
c: response.body.c