在每个任务中分析 python Fabric 命令
Posted
技术标签:
【中文标题】在每个任务中分析 python Fabric 命令【英文标题】:Profiling python fabric commands in each task 【发布时间】:2015-09-28 07:04:18 【问题描述】:如何分析 python 结构?我需要知道任务中哪个命令花费的时间最多。
假设我有一个 fabfile.py,它有 1 个任务。要执行此操作,它会通过 ssh 传递 10 个命令。当我运行时,它应该输出每个命令所花费的时间并对其进行排序。
我搜索了织物文档。没有找到任何方法来编写插件/钩子等。
【问题讨论】:
【参考方案1】:你可以使用time
对于任务级别的持续时间:
$time fab command
对于命令级持续时间time
可以注入到任务定义中:
def status():
""" Is our app live? """
sudo("time forever list")
除此之外可以修饰琐碎的持续时间
from timeit import default_timer as timer
start = timer()
# ...run('run a command')
end = timer()
print(end - start)
fabric wiki 和项目对此几乎没有任何支持,但将是一个令人兴奋的开发插件。
【讨论】:
time
不会提供我想要的。它只会提供命令的总持续时间。但我正在寻找一个简单的分析器。现在我正在使用自定义装饰器执行此操作。这样我只能在任务级别计时,但我想在命令级别进行。
-1。 time
太粗粒度了。一个好的解决方案应该提供在每个功能(或每个任务)基础上花费的时间细分以上是关于在每个任务中分析 python Fabric 命令的主要内容,如果未能解决你的问题,请参考以下文章