start of 'profiling utils'
This commit is contained in:
parent
c3ffc49914
commit
d03b16e88b
1 changed files with 51 additions and 0 deletions
51
hacking/ansible_profile
Executable file
51
hacking/ansible_profile
Executable file
|
@ -0,0 +1,51 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
from __future__ import (absolute_import, division, print_function)
|
||||||
|
__metaclass__ = type
|
||||||
|
|
||||||
|
import cProfile
|
||||||
|
import sys
|
||||||
|
import traceback
|
||||||
|
|
||||||
|
import ansible.constants as C
|
||||||
|
from ansible.module_utils._text import to_text
|
||||||
|
|
||||||
|
#__requires__ = ['ansible']
|
||||||
|
try:
|
||||||
|
import pkg_resources
|
||||||
|
except Exception:
|
||||||
|
# Use pkg_resources to find the correct versions of libraries and set
|
||||||
|
# sys.path appropriately when there are multiversion installs. But we
|
||||||
|
# have code that better expresses the errors in the places where the code
|
||||||
|
# is actually used (the deps are optional for many code paths) so we don't
|
||||||
|
# want to fail here.
|
||||||
|
pass
|
||||||
|
|
||||||
|
target = sys.argv.pop(1)
|
||||||
|
myclass = "%sCLI" % target.capitalize()
|
||||||
|
|
||||||
|
try:
|
||||||
|
# define cli
|
||||||
|
mycli = getattr(__import__("ansible.cli.%s" % target, fromlist=[myclass]), myclass)
|
||||||
|
except ImportError as e:
|
||||||
|
msg = getattr(e, 'msg', getattr(e, message, ''))
|
||||||
|
if msg.endswith(' %s' % target):
|
||||||
|
raise Exception("Ansible sub-program not implemented: %s" % target)
|
||||||
|
else:
|
||||||
|
raise
|
||||||
|
|
||||||
|
try:
|
||||||
|
args = [to_text(a, errors='surrogate_or_strict') for a in sys.argv]
|
||||||
|
except UnicodeError:
|
||||||
|
sys.stderr.write(u"The full traceback was:\n\n%s" % to_text(traceback.format_exc()))
|
||||||
|
sys.exit(u'Command line args are parsable to utf-8')
|
||||||
|
|
||||||
|
# init cli
|
||||||
|
cli = mycli(args)
|
||||||
|
|
||||||
|
print(cli.__class__.version_info(gitinfo=True))
|
||||||
|
|
||||||
|
# parse args
|
||||||
|
cli.parse()
|
||||||
|
|
||||||
|
# run
|
||||||
|
cProfile.run('cli.run()')
|
Loading…
Reference in a new issue