mirror of
https://github.com/wg/wrk
synced 2025-01-08 23:32:54 +08:00
39 lines
864 B
Lua
39 lines
864 B
Lua
-- example script that demonstrates use of setup() to pass
|
|
-- data to and from the threads
|
|
|
|
local counter = 1
|
|
local threads = {}
|
|
|
|
function setup(thread)
|
|
thread:set("id", counter)
|
|
table.insert(threads, thread)
|
|
counter = counter + 1
|
|
end
|
|
|
|
function init(args)
|
|
requests = 0
|
|
responses = 0
|
|
|
|
local msg = "thread %d created"
|
|
print(msg:format(id))
|
|
end
|
|
|
|
function request()
|
|
requests = requests + 1
|
|
return wrk.request()
|
|
end
|
|
|
|
function response(status, headers, body)
|
|
responses = responses + 1
|
|
end
|
|
|
|
function done(summary, latency, requests)
|
|
for index, thread in ipairs(threads) do
|
|
local id = thread:get("id")
|
|
local requests = thread:get("requests")
|
|
local responses = thread:get("responses")
|
|
local msg = "thread %d made %d requests and got %d responses"
|
|
print(msg:format(id, requests, responses))
|
|
end
|
|
end
|