bpo-35511: Trivial docs updates for profile and resource library modules. (GH-11124)
polish documentation for profile and resource modules
This commit is contained in:
parent
640ed520dd
commit
b912f9342e
|
@ -265,8 +265,8 @@ functions:
|
||||||
ps.print_stats()
|
ps.print_stats()
|
||||||
print(s.getvalue())
|
print(s.getvalue())
|
||||||
|
|
||||||
The :class:`Profile` class can also be used as a context manager (see
|
The :class:`Profile` class can also be used as a context manager (supported
|
||||||
:ref:`typecontextmanager`)::
|
only in :mod:`cProfile` module. see :ref:`typecontextmanager`)::
|
||||||
|
|
||||||
import cProfile
|
import cProfile
|
||||||
|
|
||||||
|
@ -280,11 +280,11 @@ functions:
|
||||||
|
|
||||||
.. method:: enable()
|
.. method:: enable()
|
||||||
|
|
||||||
Start collecting profiling data.
|
Start collecting profiling data. Only in :mod:`cProfile`.
|
||||||
|
|
||||||
.. method:: disable()
|
.. method:: disable()
|
||||||
|
|
||||||
Stop collecting profiling data.
|
Stop collecting profiling data. Only in :mod:`cProfile`.
|
||||||
|
|
||||||
.. method:: create_stats()
|
.. method:: create_stats()
|
||||||
|
|
||||||
|
@ -540,9 +540,9 @@ less overhead (as the code does not need to be instrumented), but provides only
|
||||||
relative indications of where time is being spent.
|
relative indications of where time is being spent.
|
||||||
|
|
||||||
In Python, since there is an interpreter active during execution, the presence
|
In Python, since there is an interpreter active during execution, the presence
|
||||||
of instrumented code is not required to do deterministic profiling. Python
|
of instrumented code is not required in order to do deterministic profiling.
|
||||||
automatically provides a :dfn:`hook` (optional callback) for each event. In
|
Python automatically provides a :dfn:`hook` (optional callback) for each event.
|
||||||
addition, the interpreted nature of Python tends to add so much overhead to
|
In addition, the interpreted nature of Python tends to add so much overhead to
|
||||||
execution, that deterministic profiling tends to only add small processing
|
execution, that deterministic profiling tends to only add small processing
|
||||||
overhead in typical applications. The result is that deterministic profiling is
|
overhead in typical applications. The result is that deterministic profiling is
|
||||||
not that expensive, yet provides extensive run time statistics about the
|
not that expensive, yet provides extensive run time statistics about the
|
||||||
|
|
|
@ -261,6 +261,20 @@ These functions are used to retrieve resource usage information:
|
||||||
*who* parameter should be specified using one of the :const:`RUSAGE_\*`
|
*who* parameter should be specified using one of the :const:`RUSAGE_\*`
|
||||||
constants described below.
|
constants described below.
|
||||||
|
|
||||||
|
A simple example::
|
||||||
|
|
||||||
|
from resource import *
|
||||||
|
import time
|
||||||
|
|
||||||
|
# a non CPU-bound task
|
||||||
|
time.sleep(3)
|
||||||
|
print(getrusage(RUSAGE_SELF))
|
||||||
|
|
||||||
|
# a CPU-bound task
|
||||||
|
for i in range(10 ** 8):
|
||||||
|
_ = 1 + 1
|
||||||
|
print(getrusage(RUSAGE_SELF))
|
||||||
|
|
||||||
The fields of the return value each describe how a particular system resource
|
The fields of the return value each describe how a particular system resource
|
||||||
has been used, e.g. amount of time spent running is user mode or number of times
|
has been used, e.g. amount of time spent running is user mode or number of times
|
||||||
the process was swapped out of main memory. Some values are dependent on the
|
the process was swapped out of main memory. Some values are dependent on the
|
||||||
|
@ -275,41 +289,41 @@ These functions are used to retrieve resource usage information:
|
||||||
remaining values are integers. Consult the :manpage:`getrusage(2)` man page for
|
remaining values are integers. Consult the :manpage:`getrusage(2)` man page for
|
||||||
detailed information about these values. A brief summary is presented here:
|
detailed information about these values. A brief summary is presented here:
|
||||||
|
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| Index | Field | Resource |
|
| Index | Field | Resource |
|
||||||
+========+=====================+===============================+
|
+========+=====================+=======================================+
|
||||||
| ``0`` | :attr:`ru_utime` | time in user mode (float) |
|
| ``0`` | :attr:`ru_utime` | time in user mode (float seconds) |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``1`` | :attr:`ru_stime` | time in system mode (float) |
|
| ``1`` | :attr:`ru_stime` | time in system mode (float seconds) |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``2`` | :attr:`ru_maxrss` | maximum resident set size |
|
| ``2`` | :attr:`ru_maxrss` | maximum resident set size |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``3`` | :attr:`ru_ixrss` | shared memory size |
|
| ``3`` | :attr:`ru_ixrss` | shared memory size |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``4`` | :attr:`ru_idrss` | unshared memory size |
|
| ``4`` | :attr:`ru_idrss` | unshared memory size |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``5`` | :attr:`ru_isrss` | unshared stack size |
|
| ``5`` | :attr:`ru_isrss` | unshared stack size |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``6`` | :attr:`ru_minflt` | page faults not requiring I/O |
|
| ``6`` | :attr:`ru_minflt` | page faults not requiring I/O |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``7`` | :attr:`ru_majflt` | page faults requiring I/O |
|
| ``7`` | :attr:`ru_majflt` | page faults requiring I/O |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``8`` | :attr:`ru_nswap` | number of swap outs |
|
| ``8`` | :attr:`ru_nswap` | number of swap outs |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``9`` | :attr:`ru_inblock` | block input operations |
|
| ``9`` | :attr:`ru_inblock` | block input operations |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``10`` | :attr:`ru_oublock` | block output operations |
|
| ``10`` | :attr:`ru_oublock` | block output operations |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``11`` | :attr:`ru_msgsnd` | messages sent |
|
| ``11`` | :attr:`ru_msgsnd` | messages sent |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``12`` | :attr:`ru_msgrcv` | messages received |
|
| ``12`` | :attr:`ru_msgrcv` | messages received |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``13`` | :attr:`ru_nsignals` | signals received |
|
| ``13`` | :attr:`ru_nsignals` | signals received |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``14`` | :attr:`ru_nvcsw` | voluntary context switches |
|
| ``14`` | :attr:`ru_nvcsw` | voluntary context switches |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
| ``15`` | :attr:`ru_nivcsw` | involuntary context switches |
|
| ``15`` | :attr:`ru_nivcsw` | involuntary context switches |
|
||||||
+--------+---------------------+-------------------------------+
|
+--------+---------------------+---------------------------------------+
|
||||||
|
|
||||||
This function will raise a :exc:`ValueError` if an invalid *who* parameter is
|
This function will raise a :exc:`ValueError` if an invalid *who* parameter is
|
||||||
specified. It may also raise :exc:`error` exception in unusual circumstances.
|
specified. It may also raise :exc:`error` exception in unusual circumstances.
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
Specified that profile.Profile class doesn't not support enable or disable
|
||||||
|
methods. Also, elaborated that Profile object as a context manager is only
|
||||||
|
supported in cProfile module.
|
Loading…
Reference in New Issue