PATH: //opt/cloudlinux/venv/bin
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 Activate.ps1
↓
X
📄 activate
↓
X
📄 activate.csh
↓
X
📄 activate.fish
↓
X
📄 alembic
↓
X
📄 cagefs_enter_site.py
↓
X
📄 cagefsctl_user.py
↓
X
📄 chardetect
↓
X
📄 cl_sysctl
↓
X
📄 clcpapi
↓
X
📄 coverage
↓
X
📄 coverage-3.11
↓
X
📄 coverage3
↓
X
📄 cpanel-dbmapping
↓
X
📄 crontab-user-wrapper.py
↓
X
📄 da_suid_caller.py
↓
X
📄 detect-requirements
↓
X
📄 dodgy
↓
X
📄 epylint
↓
X
📄 f2py
↓
X
📄 f2py3
↓
X
📄 f2py3.11
↓
X
📄 flake8
↓
X
📄 futurize
↓
X
📄 get_gprof
↓
X
📄 get_objgraph
↓
X
📄 isort
↓
X
📄 isort-identify-imports
↓
X
📄 jsonschema
↓
X
📄 lvestats_config_reader.py
↓
X
📄 mako-render
↓
X
📄 normalizer
↓
X
📄 pasteurize
↓
X
📄 pip
↓
X
📄 pip3
↓
X
📄 pip3.11
↓
X
📄 plesk_suid_caller.py
↓
X
📄 prospector
↓
X
📄 py.test
↓
X
📄 pycodestyle
↓
X
📄 pydocstyle
↓
X
📄 pyflakes
↓
X
📄 pylint
↓
X
📄 pylint-config
↓
X
📄 pyreverse
↓
X
📄 pysemver
↓
X
📄 pytest
↓
X
📄 python
↓
X
📄 python3
↓
X
📄 python3.11
↓
X
📄 raven
↓
X
📄 symilar
↓
X
📄 tap
↓
X
📄 tappy
↓
X
📄 undill
↓
X
📄 virtualenv
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: get_gprof
#!/opt/cloudlinux/venv/bin/python3 # # Author: Mike McKerns (mmckerns @caltech and @uqfoundation) # Copyright (c) 2008-2016 California Institute of Technology. # Copyright (c) 2016-2023 The Uncertainty Quantification Foundation. # License: 3-clause BSD. The full license text is available at: # - https://github.com/uqfoundation/dill/blob/master/LICENSE ''' build profile graph for the given instance running: $ get_gprof <args> <instance> executes: gprof2dot -f pstats <args> <type>.prof | dot -Tpng -o <type>.call.png where: <args> are arguments for gprof2dot, such as "-n 5 -e 5" <instance> is code to create the instance to profile <type> is the class of the instance (i.e. type(instance)) For example: $ get_gprof -n 5 -e 1 "import numpy; numpy.array([1,2])" will create 'ndarray.call.png' with the profile graph for numpy.array([1,2]), where '-n 5' eliminates nodes below 5% threshold, similarly '-e 1' eliminates edges below 1% threshold ''' import sys # grab args for gprof2dot args = sys.argv[1:-1] args = ' '.join(args) # last arg builds the object obj = sys.argv[-1] obj = obj.split(';') # multi-line prep for generating an instance for line in obj[:-1]: exec(line) # one-line generation of an instance obj = eval(obj[-1]) # get object 'name' objtype = type(obj) name = getattr(objtype, '__name__', getattr(objtype, '__class__', objtype)) # profile dumping an object import dill import os import cProfile #name = os.path.splitext(os.path.basename(__file__))[0] cProfile.run("dill.dumps(obj)", filename="%s.prof" % name) msg = "gprof2dot -f pstats %s %s.prof | dot -Tpng -o %s.call.png" % (args, name, name) os.system(msg) # get stats f_prof = "%s.prof" % name import pstats stats = pstats.Stats(f_prof, stream=sys.stdout) stats.strip_dirs().sort_stats('cumtime') stats.print_stats(20) #XXX: save to file instead of print top 20? os.remove(f_prof)
SIMPAN PERUBAHAN