Skip to content

建议可选择是否删除evalscope库的run_perf_benchmark方法自动在outputs文件夹下生成的日志 #15

@gotopwj

Description

@gotopwj

萌新发现在进行性能测试时调用的evalscope库生成的日志文件挺大的,随随便便就是几十MB,请求数多点就一百多MB了

萌新初学python以及在不了解evalscope的基础下,大胆参照大佬你写的改动了下代码:
1)首先在这2个配置文件中增加了个配置:

Image
# evalscope生成的outputs数据是否在任务执行完毕后删除
DATA_OUTPUTS_DELETE_ENABLED=True

2)在config.py中增加了几行:
Image

# evalscope生成的outputs数据是否在任务执行完毕后删除
DATA_OUTPUTS_DELETE_ENABLED = os.environ.get('DATA_OUTPUTS_DELETE_ENABLED')

3)在perf_service.py的run_performance_evaluation方法中,增加参数,使按任务ID创建文件夹
(萌新看了好久的源代码才想到的,呜呜o(╥﹏╥)o):

Image

"outputs_dir": f"./outputs/{task_id}"

4)在perf_service.py的update_task_from_output_file方法中,增加了删除的处理:

Image ``` outputs_dir = current_app.config['DATA_OUTPUTS_DIR'] outputs_path = os.path.join(outputs_dir, str(task_id)) is_delete = current_app.config['DATA_OUTPUTS_DELETE_ENABLED'] # evalscope生成的outputs数据是否在任务执行完毕后删除 if is_delete and os.path.exists(outputs_path): try: shutil.rmtree(outputs_path) current_app.logger.info(f"目录 {outputs_path} 已成功删除") except FileNotFoundError: current_app.logger.warning(f"目录 {outputs_path} 不存在") except PermissionError: current_app.logger.warning(f"没有权限删除目录 {outputs_path}") except Exception as e: current_app.logger.warning(f"删除目录时发生错误: {e}") ```

萌新写的比较简陋,主要是没啥开发经验,别打脸,要打打轻点o(╥﹏╥)o
大佬有没有好的可配置选择删除evalscope库的outputs日志的方法,求分享!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions