在运行ansible-playbook时测量和显示任务所用的时间,可以通过以下步骤实现:
ansible-playbook playbook.yml
-v
参数,以便显示详细的任务执行信息:ansible-playbook -v playbook.yml
--start-at-task=<task_name>
参数,指定从特定任务开始执行,以便测量该任务的执行时间:ansible-playbook --start-at-task=<task_name> playbook.yml
time
命令来测量整个ansible-playbook命令的执行时间:time ansible-playbook playbook.yml
callback_plugins
插件来显示任务执行时间。在ansible配置文件中,找到或创建callback_plugins
目录,并在其中创建一个Python脚本文件(例如timing.py
),然后将以下代码复制到脚本文件中:import time
class CallbackModule(object):
def __init__(self):
self.task_start_time = None
def v2_playbook_on_task_start(self, task, is_conditional):
self.task_start_time = time.time()
def v2_playbook_on_stats(self, stats):
for host in stats.processed.keys():
self.display("Host %s:" % host)
for task in stats.summarize(host).keys():
self.display(" Task %s: %0.2f seconds" % (task, time.time() - self.task_start_time))
def display(self, msg):
print(msg)
-c
参数来指定刚刚创建的脚本文件作为回调插件:ansible-playbook -c timing.py playbook.yml
通过以上步骤,你可以在运行ansible-playbook时测量和显示每个任务所用的时间。注意,这里提供的是一种自定义的方法,而不是腾讯云特定产品的功能。
领取专属 10元无门槛券
手把手带您无忧上云