我在Python脚本中使用蝗虫作为库(来自文档中的示例(,我想将统计数据输出到CSV文件中。我发现有一个StatsCSVFileWriter
类并创建了它,但我不知道如何"告诉";它在最后写入文件。
到目前为止,这是我的代码:
def start_locust(time_hh: int, time_mm: int, user: int, spawn_rate: int):
# setup Environment and Runner
env = Environment(user_classes=[User])
env.create_local_runner()
# CSV writer
stats_path = os.path.join(os.getcwd(), "data")
csv_writer = StatsCSVFileWriter(
environment=env,
base_filepath=stats_path,
full_history=True,
percentiles_to_report=[90.0, 95.0]
)
# start a WebUI instance
env.create_web_ui(host="127.0.0.1", port=8089, stats_csv_writer=csv_writer)
# start a greenlet that periodically outputs the current stats
gevent.spawn(stats_printer(env.stats))
# start a greenlet that saves current stats to history
gevent.spawn(stats_history, env.runner)
# start the test
env.runner.start(user_count=user, spawn_rate=spawn_rate)
# stop the runner in a given time
time_in_seconds = (time_hh * 60 * 60) + (time_mm * 60)
gevent.spawn_later(time_in_seconds, lambda: env.runner.quit())
# wait for the greenlets
env.runner.greenlet.join()
# stop the web server for good measures
env.web_ui.stop()
我似乎只需要生成我创建的CSV编写器:
gevent.spawn(csv_writer)
# Writing all the stats to a CSV file
gevent.spawn(csv_writer.stats_writer)