From d2c83bf007a36a47754ec862d592c7c97b3145b9 Mon Sep 17 00:00:00 2001 From: Jon Hawkesworth Date: Mon, 3 Nov 2014 21:30:41 +0000 Subject: [PATCH] Add simple plugin that times ansible-playbook runs. --- plugins/callbacks/timer.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 plugins/callbacks/timer.py diff --git a/plugins/callbacks/timer.py b/plugins/callbacks/timer.py new file mode 100644 index 00000000000..bca867c2638 --- /dev/null +++ b/plugins/callbacks/timer.py @@ -0,0 +1,27 @@ +import os +import datetime +from datetime import datetime, timedelta + + +class CallbackModule(object): + """ + This callback module tells you how long your plays ran for. + """ + + start_time = datetime.now() + + def __init__(self): + start_time = datetime.now() + print "Timer plugin is active." + + def days_hours_minutes_seconds(self, timedelta): + minutes = (timedelta.seconds//60)%60 + r_seconds = timedelta.seconds - (minutes * 60) + return timedelta.days, timedelta.seconds//3600, minutes, r_seconds + + def playbook_on_stats(self, stats): + end_time = datetime.now() + timedelta = end_time - self.start_time + print "Playbook run took %s days, %s hours, %s minutes, %s seconds" % (self.days_hours_minutes_seconds(timedelta)) + +