# Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. # docs-es@python.org / # https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" "PO-Revision-Date: 2021-08-04 17:42+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" "Language: es\n" "Language-Team: python-doc-es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.13.0\n" #: ../Doc/howto/instrumentation.rst:7 msgid "Instrumenting CPython with DTrace and SystemTap" msgstr "Instrumentación de CPython con DTrace y SystemTap" #: ../Doc/howto/instrumentation.rst msgid "author" msgstr "autor" #: ../Doc/howto/instrumentation.rst:9 msgid "David Malcolm" msgstr "David Malcolm" #: ../Doc/howto/instrumentation.rst:10 msgid "Łukasz Langa" msgstr "Łukasz Langa" #: ../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 "" "DTrace y SystemTap son herramientas de monitoreo, cada una de las cuales " "proporciona una forma de inspeccionar lo que están haciendo los procesos en " "un sistema informático. Ambos usan lenguajes específicos de dominio que " "permiten al usuario escribir scripts que:" #: ../Doc/howto/instrumentation.rst:16 msgid "filter which processes are to be observed" msgstr "filtrar qué procesos deben observarse" #: ../Doc/howto/instrumentation.rst:17 msgid "gather data from the processes of interest" msgstr "recopilar datos de los procesos de interés" #: ../Doc/howto/instrumentation.rst:18 msgid "generate reports on the data" msgstr "generar reportes sobre los datos" #: ../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 "" "A partir de Python 3.6, CPython se puede construir con \"marcadores\" " "incrustados, también conocidos como \"sondas\", que se pueden observar " "mediante un script de DTrace o SystemTap, lo que facilita la supervisión de " "lo que hacen los procesos de CPython en un sistema." #: ../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 "" "Los marcadores de DTrace son detalles de implementación del intérprete " "CPython. No se ofrecen garantías sobre la compatibilidad de la sonda entre " "versiones de CPython. Los scripts de DTrace pueden dejar de funcionar o " "funcionar incorrectamente sin previo aviso al cambiar las versiones de " "CPython." #: ../Doc/howto/instrumentation.rst:34 msgid "Enabling the static markers" msgstr "Habilitando los marcadores estáticos" #: ../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 "" "macOS viene con soporte integrado para DTrace. En Linux, para construir " "CPython con los marcadores incrustados para SystemTap, se deben instalar las " "herramientas de desarrollo de SystemTap." #: ../Doc/howto/instrumentation.rst:40 msgid "On a Linux machine, this can be done via::" msgstr "En una máquina Linux, esto se puede hacer a través de::" #: ../Doc/howto/instrumentation.rst:44 msgid "or::" msgstr "o::" #: ../Doc/howto/instrumentation.rst:49 msgid "" "CPython must then be :option:`configured with the --with-dtrace option <--" "with-dtrace>`:" msgstr "" "CPython debe ser :option:`configurado con la opción --with-dtrace <--with-" "dtrace>`:" #: ../Doc/howto/instrumentation.rst:56 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 "" "En macOS, puede enumerar las sondas disponibles de DTrace ejecutando un " "proceso de Python en segundo plano y listando todas las sondas disponibles " "por el proveedor de Python::" #: ../Doc/howto/instrumentation.rst:73 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 "" "En Linux, puede verificar si los marcadores estáticos SystemTap están " "presentes en el binario construido al ver si contiene una sección \".note." "stapsdt\"." #: ../Doc/howto/instrumentation.rst:81 msgid "" "If you've built Python as a shared library (with the :option:`--enable-" "shared` configure option), you need to look instead within the shared " "library. For example::" msgstr "" "Si ha creado Python como una biblioteca compartida (con la opción de " "configuración :option:`--enable-shared`), debe buscar en la biblioteca " "compartida. Por ejemplo::" #: ../Doc/howto/instrumentation.rst:88 msgid "Sufficiently modern readelf can print the metadata::" msgstr "" "Un lector de formato ELF suficientemente moderno puede imprimir los " "metadatos::" #: ../Doc/howto/instrumentation.rst:125 #, fuzzy 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 "" "Los metadatos anteriores contienen información para SystemTap que describe " "cómo puede parchear instrucciones de código de máquina ubicadas " "estratégicamente para habilitar los *hooks* de rastreo utilizados por un " "script de SystemTap." #: ../Doc/howto/instrumentation.rst:131 msgid "Static DTrace probes" msgstr "Sondas estáticas DTrace" #: ../Doc/howto/instrumentation.rst:133 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 "" "El siguiente ejemplo de script DTrace se puede utilizar para mostrar la " "jerarquía de llamada/retorno de un script de Python, solo rastreando dentro " "de la invocación de una función llamada \"start\". En otras palabras, las " "llamadas a funciones durante la importación aparecerán en la lista:" #: ../Doc/howto/instrumentation.rst:172 ../Doc/howto/instrumentation.rst:230 msgid "It can be invoked like this::" msgstr "Se puede invocar así::" #: ../Doc/howto/instrumentation.rst:176 ../Doc/howto/instrumentation.rst:236 msgid "The output looks like this:" msgstr "La salida se verá así:" #: ../Doc/howto/instrumentation.rst:201 msgid "Static SystemTap markers" msgstr "Marcadores estáticos SystemTap" #: ../Doc/howto/instrumentation.rst:203 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 "" "La forma de bajo nivel para utilizar la integración de SystemTap es utilizar " "los marcadores estáticos directamente. Esto requiere que indique " "explícitamente el archivo binario que los contiene." #: ../Doc/howto/instrumentation.rst:207 msgid "" "For example, this SystemTap script can be used to show the call/return " "hierarchy of a Python script:" msgstr "" "Por ejemplo, este script SystemTap se puede utilizar para mostrar la " "jerarquía de llamada/retorno de un script de Python:" #: ../Doc/howto/instrumentation.rst:247 msgid "where the columns are:" msgstr "donde las columnas son:" #: ../Doc/howto/instrumentation.rst:249 msgid "time in microseconds since start of script" msgstr "tiempo en microsegundos desde el inicio del script" #: ../Doc/howto/instrumentation.rst:251 msgid "name of executable" msgstr "nombre del ejecutable" #: ../Doc/howto/instrumentation.rst:253 msgid "PID of process" msgstr "PID de proceso" #: ../Doc/howto/instrumentation.rst:255 msgid "" "and the remainder indicates the call/return hierarchy as the script executes." msgstr "" "y el resto indica la jerarquía de llamada/retorno a medida que se ejecuta el " "script." #: ../Doc/howto/instrumentation.rst:257 msgid "" "For a :option:`--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 "" "Para una compilación :option:`--enable-shared` de CPython, los marcadores " "están contenidos dentro de la biblioteca compartida libpython, y la ruta de " "puntos de la sonda debe reflejar esto. Por ejemplo, esta línea del ejemplo " "anterior:" #: ../Doc/howto/instrumentation.rst:265 msgid "should instead read:" msgstr "en su lugar debería leer:" #: ../Doc/howto/instrumentation.rst:271 msgid "(assuming a :ref:`debug build ` of CPython 3.6)" msgstr "" "(asumiendo una :ref:`compilación de depuración ` de CPython 3.6)" #: ../Doc/howto/instrumentation.rst:275 msgid "Available static markers" msgstr "Marcadores estáticos disponibles" #: ../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 "" "Este marcador indica que ha comenzado la ejecución de una función de Python. " "Solo se activa para funciones de Python puro (código de bytes)." #: ../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 "" "El nombre del archivo, el nombre de la función y el número de línea se " "retornan al script de rastreo como argumentos posicionales, a los que se " "debe acceder usando ``$arg1``, ``$arg2``, ``$arg3``:" #: ../Doc/howto/instrumentation.rst:286 msgid "" "``$arg1`` : ``(const char *)`` filename, accessible using " "``user_string($arg1)``" msgstr "" "``$arg1`` : ``(const char *)`` nombre del archivo, accesible usando " "``user_string($arg1)``" #: ../Doc/howto/instrumentation.rst:288 msgid "" "``$arg2`` : ``(const char *)`` function name, accessible using " "``user_string($arg2)``" msgstr "" "``$arg2`` : ``(const char *)`` nombre de la función, accesible usando " "``user_string($arg2)``" #: ../Doc/howto/instrumentation.rst:291 msgid "``$arg3`` : ``int`` line number" msgstr "``$arg3`` : ``int`` número de linea" #: ../Doc/howto/instrumentation.rst:295 #, fuzzy 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 "" "Este marcador es el inverso de :c:func:`function__entry`, e indica que la " "ejecución de una función de Python ha finalizado (ya sea mediante ``return`` " "o vía una excepción). Solo se activa para funciones de Python puro (código " "de bytes)." #: ../Doc/howto/instrumentation.rst:299 #, fuzzy msgid "The arguments are the same as for :c:func:`!function__entry`" msgstr "Los argumentos son los mismos que para :c:func:`function__entry`" #: ../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 "" "Este marcador indica que una línea de Python está a punto de ejecutarse. Es " "el equivalente al rastreo línea por línea con un generador de perfiles de " "Python. No se activa con las funciones de C." #: ../Doc/howto/instrumentation.rst:307 #, fuzzy msgid "The arguments are the same as for :c:func:`!function__entry`." msgstr "Los argumentos son los mismos que para :c:func:`function__entry`." #: ../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 "" "Se activa cuando el intérprete de Python inicia un ciclo de recolección de " "basura. ``arg0`` es la generación a escanear, como :func:`gc.collect()`." #: ../Doc/howto/instrumentation.rst:316 msgid "" "Fires when the Python interpreter finishes a garbage collection cycle. " "``arg0`` is the number of collected objects." msgstr "" "Se activa cuando el intérprete de Python finaliza un ciclo de recolección de " "basura. ``arg0`` es el número de objetos recopilados." #: ../Doc/howto/instrumentation.rst:321 msgid "" "Fires before :mod:`importlib` attempts to find and load the module. ``arg0`` " "is the module name." msgstr "" "Se activa antes :mod:`importlib` e intenta encontrar y cargar el módulo. " "``arg0`` es el nombre del módulo." #: ../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 "" "Se activa después de que la función *find_and_load* de :mod:`importlib` es " "llamada. ``arg0`` es el nombre del módulo, ``arg1`` indica si el módulo se " "cargó correctamente." #: ../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 "" "Se activa cuando se llama :func:`sys.audit` o :c:func:`PySys_Audit`. " "``arg0`` es el nombre del evento como cadena C, ``arg1`` es un puntero :c:" "type:`PyObject` a un objeto tupla." #: ../Doc/howto/instrumentation.rst:345 msgid "SystemTap Tapsets" msgstr "SystemTap Tapsets" #: ../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 "" "La forma de nivel superior de utilizar la integración de SystemTap es " "utilizar un \"tapset\": el equivalente de SystemTap a una biblioteca, que " "oculta algunos de los detalles de bajo nivel de los marcadores estáticos." #: ../Doc/howto/instrumentation.rst:351 msgid "Here is a tapset file, based on a non-shared build of CPython:" msgstr "" "A continuación un archivo de tapset, basado en una compilación no compartida " "de CPython:" #: ../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 "" "Si este archivo está instalado en el directorio de tapset de SystemTap (por " "ejemplo, ``/usr/share/systemtap/tapset``), estos puntos de sonda adicionales " "estarán disponibles:" #: ../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 "" "Este punto de sonda indica que ha comenzado la ejecución de una función de " "Python. Solo se activa para funciones de Python puro (código de bytes)." #: ../Doc/howto/instrumentation.rst:385 msgid "" "This probe point is the converse of ``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 "" "Este punto de prueba es el inverso de ``python.function.return``, e indica " "que la ejecución de una función de Python ha finalizado (ya sea mediante " "``return`` o mediante una excepción). Solo se activa para funciones de " "Python puro (código de bytes)." #: ../Doc/howto/instrumentation.rst:392 msgid "Examples" msgstr "Ejemplos" #: ../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 "" "Este script de SystemTap utiliza el tapset anterior para implementar de " "manera más limpia el ejemplo de rastrear la jerarquía de llamadas a " "funciones de Python, sin necesidad de nombrar directamente los marcadores " "estáticos:" #: ../Doc/howto/instrumentation.rst:412 #, fuzzy 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 "" "El siguiente script utiliza el tapset de arriba para proporcionar una vista " "superior de todo el código CPython en ejecución, mostrando los 20 marcos de " "código de bytes que se ingresan con más frecuencia, cada segundo, en todo el " "sistema:"