# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2016, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-29 00:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.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 "SystemTap Tapsets"
msgstr ""

#: ../Doc/howto/instrumentation.rst:323
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:327
msgid "Here is a tapset file, based on a non-shared build of CPython:"
msgstr ""

#: ../Doc/howto/instrumentation.rst:350
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:356
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:361
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:368
msgid "Examples"
msgstr "Exemples"

#: ../Doc/howto/instrumentation.rst:369
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:388
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 ""
