forked from AFPy/python-docs-fr
331 lines
9.8 KiB
Plaintext
331 lines
9.8 KiB
Plaintext
# Copyright (C) 2001-2018, Python Software Foundation
|
||
# For licence information, see README file.
|
||
#
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: Python 3.6\n"
|
||
"Report-Msgid-Bugs-To: \n"
|
||
"POT-Creation-Date: 2019-09-04 11:33+0200\n"
|
||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
||
"Language: fr\n"
|
||
"MIME-Version: 1.0\n"
|
||
"Content-Type: text/plain; charset=UTF-8\n"
|
||
"Content-Transfer-Encoding: 8bit\n"
|
||
|
||
#: ../Doc/howto/instrumentation.rst:7
|
||
msgid "Instrumenting CPython with DTrace and SystemTap"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:0
|
||
msgid "author"
|
||
msgstr "auteur"
|
||
|
||
#: ../Doc/howto/instrumentation.rst:9
|
||
msgid "David Malcolm"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:10
|
||
msgid "Łukasz Langa"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:12
|
||
msgid ""
|
||
"DTrace and SystemTap are monitoring tools, each providing a way to inspect "
|
||
"what the processes on a computer system are doing. They both use domain-"
|
||
"specific languages allowing a user to write scripts which:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:16
|
||
msgid "filter which processes are to be observed"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:17
|
||
msgid "gather data from the processes of interest"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:18
|
||
msgid "generate reports on the data"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:20
|
||
msgid ""
|
||
"As of Python 3.6, CPython can be built with embedded \"markers\", also known "
|
||
"as \"probes\", that can be observed by a DTrace or SystemTap script, making "
|
||
"it easier to monitor what the CPython processes on a system are doing."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:27
|
||
msgid ""
|
||
"DTrace markers are implementation details of the CPython interpreter. No "
|
||
"guarantees are made about probe compatibility between versions of CPython. "
|
||
"DTrace scripts can stop working or work incorrectly without warning when "
|
||
"changing CPython versions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:34
|
||
msgid "Enabling the static markers"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:36
|
||
msgid ""
|
||
"macOS comes with built-in support for DTrace. On Linux, in order to build "
|
||
"CPython with the embedded markers for SystemTap, the SystemTap development "
|
||
"tools must be installed."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:40
|
||
msgid "On a Linux machine, this can be done via::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:44
|
||
msgid "or::"
|
||
msgstr "ou ::"
|
||
|
||
#: ../Doc/howto/instrumentation.rst:49
|
||
msgid "CPython must then be configured ``--with-dtrace``:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:55
|
||
msgid ""
|
||
"On macOS, you can list available DTrace probes by running a Python process "
|
||
"in the background and listing all probes made available by the Python "
|
||
"provider::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:72
|
||
msgid ""
|
||
"On Linux, you can verify if the SystemTap static markers are present in the "
|
||
"built binary by seeing if it contains a \".note.stapsdt\" section."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:80
|
||
msgid ""
|
||
"If you've built Python as a shared library (with --enable-shared), you need "
|
||
"to look instead within the shared library. For example::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:86
|
||
msgid "Sufficiently modern readelf can print the metadata::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:123
|
||
msgid ""
|
||
"The above metadata contains information for SystemTap describing how it can "
|
||
"patch strategically-placed machine code instructions to enable the tracing "
|
||
"hooks used by a SystemTap script."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:129
|
||
msgid "Static DTrace probes"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:131
|
||
msgid ""
|
||
"The following example DTrace script can be used to show the call/return "
|
||
"hierarchy of a Python script, only tracing within the invocation of a "
|
||
"function called \"start\". In other words, import-time function invocations "
|
||
"are not going to be listed:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:170 ../Doc/howto/instrumentation.rst:228
|
||
msgid "It can be invoked like this::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:174 ../Doc/howto/instrumentation.rst:234
|
||
msgid "The output looks like this:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:199
|
||
msgid "Static SystemTap markers"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:201
|
||
msgid ""
|
||
"The low-level way to use the SystemTap integration is to use the static "
|
||
"markers directly. This requires you to explicitly state the binary file "
|
||
"containing them."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:205
|
||
msgid ""
|
||
"For example, this SystemTap script can be used to show the call/return "
|
||
"hierarchy of a Python script:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:245
|
||
msgid "where the columns are:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:247
|
||
msgid "time in microseconds since start of script"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:249
|
||
msgid "name of executable"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:251
|
||
msgid "PID of process"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:253
|
||
msgid ""
|
||
"and the remainder indicates the call/return hierarchy as the script executes."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:255
|
||
msgid ""
|
||
"For a `--enable-shared` build of CPython, the markers are contained within "
|
||
"the libpython shared library, and the probe's dotted path needs to reflect "
|
||
"this. For example, this line from the above example:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:263
|
||
msgid "should instead read:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:269
|
||
msgid "(assuming a debug build of CPython 3.6)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:273
|
||
msgid "Available static markers"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:279
|
||
msgid ""
|
||
"This marker indicates that execution of a Python function has begun. It is "
|
||
"only triggered for pure-Python (bytecode) functions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:282
|
||
msgid ""
|
||
"The filename, function name, and line number are provided back to the "
|
||
"tracing script as positional arguments, which must be accessed using ``"
|
||
"$arg1``, ``$arg2``, ``$arg3``:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:286
|
||
msgid ""
|
||
"``$arg1`` : ``(const char *)`` filename, accessible using "
|
||
"``user_string($arg1)``"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:288
|
||
msgid ""
|
||
"``$arg2`` : ``(const char *)`` function name, accessible using "
|
||
"``user_string($arg2)``"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:291
|
||
msgid "``$arg3`` : ``int`` line number"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:295
|
||
msgid ""
|
||
"This marker is the converse of :c:func:`function__entry`, and indicates that "
|
||
"execution of a Python function has ended (either via ``return``, or via an "
|
||
"exception). It is only triggered for pure-Python (bytecode) functions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:299
|
||
msgid "The arguments are the same as for :c:func:`function__entry`"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:303
|
||
msgid ""
|
||
"This marker indicates a Python line is about to be executed. It is the "
|
||
"equivalent of line-by-line tracing with a Python profiler. It is not "
|
||
"triggered within C functions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:307
|
||
msgid "The arguments are the same as for :c:func:`function__entry`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:311
|
||
msgid ""
|
||
"Fires when the Python interpreter starts a garbage collection cycle. "
|
||
"``arg0`` is the generation to scan, like :func:`gc.collect()`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:316
|
||
msgid ""
|
||
"Fires when the Python interpreter finishes a garbage collection cycle. "
|
||
"``arg0`` is the number of collected objects."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:321
|
||
msgid ""
|
||
"Fires before :mod:`importlib` attempts to find and load the module. ``arg0`` "
|
||
"is the module name."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:328
|
||
msgid ""
|
||
"Fires after :mod:`importlib`'s find_and_load function is called. ``arg0`` is "
|
||
"the module name, ``arg1`` indicates if module was successfully loaded."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:337
|
||
msgid ""
|
||
"Fires when :func:`sys.audit` or :c:func:`PySys_Audit` is called. ``arg0`` is "
|
||
"the event name as C string, ``arg1`` is a :c:type:`PyObject` pointer to a "
|
||
"tuple object."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:345
|
||
msgid "SystemTap Tapsets"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:347
|
||
msgid ""
|
||
"The higher-level way to use the SystemTap integration is to use a \"tapset"
|
||
"\": SystemTap's equivalent of a library, which hides some of the lower-level "
|
||
"details of the static markers."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:351
|
||
msgid "Here is a tapset file, based on a non-shared build of CPython:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:374
|
||
msgid ""
|
||
"If this file is installed in SystemTap's tapset directory (e.g. ``/usr/share/"
|
||
"systemtap/tapset``), then these additional probepoints become available:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:380
|
||
msgid ""
|
||
"This probe point indicates that execution of a Python function has begun. It "
|
||
"is only triggered for pure-Python (bytecode) functions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:385
|
||
msgid ""
|
||
"This probe point is the converse of :c:func:`python.function.return`, and "
|
||
"indicates that execution of a Python function has ended (either via "
|
||
"``return``, or via an exception). It is only triggered for pure-Python "
|
||
"(bytecode) functions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:392
|
||
msgid "Examples"
|
||
msgstr "Exemples"
|
||
|
||
#: ../Doc/howto/instrumentation.rst:393
|
||
msgid ""
|
||
"This SystemTap script uses the tapset above to more cleanly implement the "
|
||
"example given above of tracing the Python function-call hierarchy, without "
|
||
"needing to directly name the static markers:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/howto/instrumentation.rst:412
|
||
msgid ""
|
||
"The following script uses the tapset above to provide a top-like view of all "
|
||
"running CPython code, showing the top 20 most frequently-entered bytecode "
|
||
"frames, each second, across the whole system:"
|
||
msgstr ""
|