Skip to content

synapticloop/ansible-profile

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 

Repository files navigation

ansible-profile

An Ansible plugin for timing tasks.

Usage

For the original version which lists the top 10 slowest performers...

Make a directory called callback_plugins next to your playbook and put profile_tasks.py inside of it.

mkdir callback_plugins
cd callback_plugins
wget --no-check-certificates https://raw.githubusercontent.com/jlafon/ansible-profile/master/callback_plugins/profile_tasks.py

Or for the updated version

mkdir callback_plugins
cd callback_plugins
wget --no-check-certificates https://raw.githubusercontent.com/synapticloop/ansible-profile/master/callback_plugins/profile_tasks.py

Now, run your playbook just as you normally would!

ansible <args here>

<normal output here>

PLAY RECAP ********************************************************************

PLAY TIMINGS ******************************************************************
common | update munin-node conf to allow remote connections ------------- 0.99s
common | set up the dirsizes -------------------------------------------- 0.64s
common | set up the weekly cron jobs ------------------------------------ 1.81s
apache2 | enable default modules ---------------------------------------- 3.57s
common | install custom fact -------------------------------------------- 0.93s
common | update etc skel defaults --------------------------------------- 0.96s
apache2-site | install the apache2 site --------------------------------- 0.89s
common | copy over the backup script ------------------------------------ 1.09s
apache2 | remove default apache configuration --------------------------- 1.94s
apache2-site | enable the apache2 site ---------------------------------- 0.54s
common | ufw allow munin trafic through --------------------------------- 1.59s
apache2 | install the default site -------------------------------------- 0.76s
apache2 | ufw allow http trafic through --------------------------------- 1.85s
common | enable munin monitoring ---------------------------------------- 4.53s
apache2 | update security configuration --------------------------------- 0.67s
apache2 | make the configuration directories ---------------------------- 1.24s
common | set up the daily cron jobs ------------------------------------- 1.39s
common | create directory for ansible custom facts ---------------------- 1.01s
apache2 | enable default site ------------------------------------------- 0.68s
common | remove all messages of the day --------------------------------- 0.02s
apache2 | install custom fact ------------------------------------------- 0.74s
common | ensure that the archives directory exists ---------------------- 0.61s
common | set up the hourly cron jobs ------------------------------------ 0.83s
common | set the hostname ----------------------------------------------- 0.96s
common | install the base packages -------------------------------------- 2.22s
common | create the backup directories ---------------------------------- 6.27s
common | create the scripts directory ----------------------------------- 6.14s
common | set up the monthly rotation ------------------------------------ 1.62s
common | synapticloop motd ---------------------------------------------- 0.02s
apache2 | copy over the blank home packages ----------------------------- 0.71s
common | copy over the default backup script ---------------------------- 9.14s
apache2 | install the dependent packages -------------------------------- 1.60s
apache2 | copy over the updated apache2 configuration ------------------- 0.71s
common | create the etc skel directories -------------------------------- 0.73s
common | disable munin monitoring items --------------------------------- 1.37s
common | copy over munin configuration if munin-node is installed ------- 1.87s
common | update nanorc file --------------------------------------------- 0.64s
common | update system-watcher email ------------------------------------ 0.87s
common | copy over munin monitoring if munin-node is installed ---------- 2.48s
common | set up other cron jobs ----------------------------------------- 2.61s

TOP 10 SLOWEST TASKS **********************************************************
common | copy over the default backup script ---------------------------- 9.14s
common | create the backup directories ---------------------------------- 6.27s
common | create the scripts directory ----------------------------------- 6.14s
common | enable munin monitoring ---------------------------------------- 4.53s
apache2 | enable default modules ---------------------------------------- 3.57s
common | set up other cron jobs ----------------------------------------- 2.61s
common | copy over munin monitoring if munin-node is installed ---------- 2.48s
common | install the base packages -------------------------------------- 2.22s
apache2 | remove default apache configuration --------------------------- 1.94s
common | copy over munin configuration if munin-node is installed ------- 1.87s

ROLE TIMES ********************************************************************
common  ---------------------------------------------------------------- 53.31s
apache2  --------------------------------------------------------------- 14.48s
apache2-site  ----------------------------------------------------------- 1.43s

TOTAL TIME ********************************************************************
 ---------------------------------------------------------------------   69.22s

Notes:

If the task is not assigned to a role, this will automatically be assigned to <NO_DEFINED_ROLE>

About

An Ansible plugin for timing tasks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%