Suppose you are running a ansible playbook with multiple tasks and want to print execution time of each task, then do the below changes.
Lets see the below sample playbook execution . In this ouput we dont know how much it took for each task execution.
[[email protected]_scripts]# ansible-playbook playbook_copyfile_multi.yml -i /etc/ansible/inventory.txt
PLAY [copy files to test servers] ***********************************************************************************************************************************************
TASK [Gathering Facts] **********************************************************************************************************************************************************
ok: [db_server2]
ok: [db_server1]
TASK [Ansible copy files to remote machine] *************************************************************************************************************************************
changed: [db_server1] => (item=test1.log)
changed: [db_server2] => (item=test1.log)
ok: [db_server1] => (item=test2.log)
ok: [db_server2] => (item=test2.log)
PLAY RECAP **********************************************************************************************************************************************************************
db_server1 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
db_server2 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
For enabling the changes, we need to set the callback_whitelist = profile_tasks inside ansible.cfg file.
[[email protected]]# cat /etc/ansible/ansible.cfg |grep callback_whitelist
callback_whitelist = profile_tasks
Now run the same playbook in ansible again.
[[email protected]_scripts]# ansible-playbook playbook_copyfile_multi.yml -i /etc/ansible/inventory.txt
PLAY [copy files to test servers] ***********************************************************************************************************************************************
TASK [Gathering Facts] **********************************************************************************************************************************************************
Sunday 31 May 2020 08:27:31 +0300 (0:00:00.047) 0:00:00.047 ************
ok: [db_server1]
ok: [db_server2]
TASK [Ansible copy files to remote machine] *************************************************************************************************************************************
Sunday 31 May 2020 08:27:35 +0300 (0:00:04.027) 0:00:04.074 ************
ok: [db_server1] => (item=test1.log)
ok: [db_server2] => (item=test1.log)
ok: [db_server1] => (item=test2.log)
ok: [db_server2] => (item=test2.log)
PLAY RECAP **********************************************************************************************************************************************************************
db_server1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
db_server2 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Sunday 31 May 2020 08:27:38 +0300 (0:00:03.103) 0:00:07.178 ************
===============================================================================
Gathering Facts ---------------------------------------------------------------------------------------------------------------------------------------------------------- 4.03s
Ansible copy files to remote machine ------------------------------------------------------------------------------------------------------------------------------------- 3.10s
ansible