Merge "Prepend timestamp callback output"
This commit is contained in:
commit
cda2af3608
|
@ -5,15 +5,17 @@ import uuid
|
||||||
from ansible import constants as C
|
from ansible import constants as C
|
||||||
from ansible.playbook.task_include import TaskInclude
|
from ansible.playbook.task_include import TaskInclude
|
||||||
from ansible.plugins.callback.default import CallbackModule as DefaultCallback
|
from ansible.plugins.callback.default import CallbackModule as DefaultCallback
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
|
||||||
class CallbackModule(DefaultCallback):
|
class CallbackModule(DefaultCallback):
|
||||||
|
|
||||||
def _output(self, msg, color):
|
def _output(self, msg, color=None):
|
||||||
|
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
|
||||||
if isinstance(msg, list):
|
if isinstance(msg, list):
|
||||||
output = ' | '.join(msg)
|
output = ' | '.join([timestamp] + msg)
|
||||||
else:
|
else:
|
||||||
output = msg
|
output = timestamp + ' | ' + msg
|
||||||
self._display.display(output, color=color)
|
self._display.display(output, color=color)
|
||||||
|
|
||||||
def _get_host(self, result):
|
def _get_host(self, result):
|
||||||
|
|
|
@ -6,6 +6,7 @@ from ansible import constants as C
|
||||||
from ansible.plugins.callback.profile_tasks import secondsToStr
|
from ansible.plugins.callback.profile_tasks import secondsToStr
|
||||||
from ansible.plugins.callback.profile_tasks import timestamp
|
from ansible.plugins.callback.profile_tasks import timestamp
|
||||||
from ansible.plugins.callback.profile_tasks import CallbackModule as PT
|
from ansible.plugins.callback.profile_tasks import CallbackModule as PT
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = '''
|
||||||
callback: tripleo_profile_tasks
|
callback: tripleo_profile_tasks
|
||||||
|
@ -48,6 +49,14 @@ class CallbackModule(PT):
|
||||||
self.start_time = time.time()
|
self.start_time = time.time()
|
||||||
super(CallbackModule, self).__init__()
|
super(CallbackModule, self).__init__()
|
||||||
|
|
||||||
|
def _output(self, msg, color):
|
||||||
|
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
|
||||||
|
if isinstance(msg, list):
|
||||||
|
output = ' | '.join([timestamp] + msg)
|
||||||
|
else:
|
||||||
|
output = timestamp + ' | ' + msg
|
||||||
|
self._output(output, color=color)
|
||||||
|
|
||||||
def _output_previous_timings(self, uuid):
|
def _output_previous_timings(self, uuid):
|
||||||
# no previous timing because uuid was null
|
# no previous timing because uuid was null
|
||||||
if not uuid:
|
if not uuid:
|
||||||
|
@ -59,7 +68,7 @@ class CallbackModule(PT):
|
||||||
secondsToStr(time.time() - self.start_time),
|
secondsToStr(time.time() - self.start_time),
|
||||||
u'{0:.02f}s'.format(self.stats[uuid].get('time', '-1'))
|
u'{0:.02f}s'.format(self.stats[uuid].get('time', '-1'))
|
||||||
]
|
]
|
||||||
self._display.display(' | '.join(line), color=C.COLOR_DEBUG)
|
self._output(line, C.COLOR_DEBUG)
|
||||||
|
|
||||||
def _record_task(self, task):
|
def _record_task(self, task):
|
||||||
timestamp(self)
|
timestamp(self)
|
||||||
|
@ -83,10 +92,10 @@ class CallbackModule(PT):
|
||||||
)
|
)
|
||||||
results = results[:self.task_output_limit]
|
results = results[:self.task_output_limit]
|
||||||
|
|
||||||
self._display.display('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
|
self._output('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
|
||||||
' Summary Information '
|
' Summary Information '
|
||||||
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
|
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
|
||||||
self._display.display(
|
self._output(
|
||||||
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
|
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
|
||||||
' Elapsed Time: {} '
|
' Elapsed Time: {} '
|
||||||
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~'.format(
|
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~'.format(
|
||||||
|
@ -98,7 +107,7 @@ class CallbackModule(PT):
|
||||||
'{}'.format('Task Name'),
|
'{}'.format('Task Name'),
|
||||||
'{:>10}'.format('Run Time'),
|
'{:>10}'.format('Run Time'),
|
||||||
]
|
]
|
||||||
self._display.display(' | '.join(header))
|
self._output(' | '.join(header))
|
||||||
|
|
||||||
for uuid, result in results:
|
for uuid, result in results:
|
||||||
line = [
|
line = [
|
||||||
|
@ -107,4 +116,4 @@ class CallbackModule(PT):
|
||||||
result['name'],
|
result['name'],
|
||||||
u'{0:.02f}s'.format(result['time'])
|
u'{0:.02f}s'.format(result['time'])
|
||||||
]
|
]
|
||||||
self._display.display(' | '.join(line))
|
self._output(' | '.join(line))
|
||||||
|
|
Loading…
Reference in New Issue