You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
59 lines
1.5 KiB
4 years ago
|
-- Default to 1 request / second
|
||
|
wrk.method = "POST"
|
||
|
wrk.body = "10\n"
|
||
|
wrk.headers["Content-Type"] = "text/plain"
|
||
|
local delay_val = 1000
|
||
|
|
||
|
function init(args)
|
||
4 years ago
|
if #args == 0 then
|
||
|
io.write("[wrk stuff] -- --delay [delay in ms] [args ...]\n")
|
||
|
os.exit();
|
||
|
end
|
||
|
|
||
|
local current_arg = 1
|
||
|
while current_arg <= #args do
|
||
|
if args[current_arg] == "--delay" then
|
||
|
delay_val = args[current_arg + 1]
|
||
|
current_arg = current_arg + 2;
|
||
|
io.write(string.format("Delay: %s\n", delay_val))
|
||
|
else
|
||
|
-- Concatenate all remaining args
|
||
|
local buffer = ""
|
||
|
for i = current_arg, #args, 1 do
|
||
|
buffer = buffer .. args[i]
|
||
|
end
|
||
|
io.write(string.format("Buffer: %s\n", buffer))
|
||
|
wrk.body = buffer
|
||
|
-- And exit loop
|
||
|
break;
|
||
|
end
|
||
4 years ago
|
end
|
||
|
end
|
||
|
|
||
|
-- Uncomment to dynamically generate a different request each time
|
||
|
-- function request()
|
||
|
-- return wrk.format(nil, nil, nil,tostring(math.random(10, 23)) .."\n")
|
||
|
-- end
|
||
|
|
||
|
-- Wrk calls a function name delay to get the delay between requests (in ms)
|
||
|
function delay()
|
||
|
return delay_val
|
||
|
end
|
||
|
|
||
|
function response(status, headers, body)
|
||
4 years ago
|
-- io.write(string.format("%s: %s\n", status, body))
|
||
4 years ago
|
end
|
||
|
|
||
|
-- Done Phase
|
||
|
|
||
|
-- Called when complete, presenting aggregate results
|
||
|
function done(summary, latency, requests)
|
||
4 years ago
|
io.write("Percentile, Latency\n");
|
||
4 years ago
|
for i = 1, 99 do
|
||
4 years ago
|
io.write(string.format("%d, %d\n", i, latency:percentile(i)))
|
||
4 years ago
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
|