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

-- 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)
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
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)
-- io.write(string.format("%s: %s\n", status, body))
end
-- Done Phase
-- Called when complete, presenting aggregate results
function done(summary, latency, requests)
io.write("Percentile, Latency\n");
for i = 1, 99 do
io.write(string.format("%d, %d\n", i, latency:percentile(i)))
end
end