# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2025-05-09 14:19+0000\n" "PO-Revision-Date: 2024-05-11 01:07+0000\n" "Language-Team: Indonesian (https://app.transifex.com/python-doc/teams/5390/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../c-api/monitoring.rst:6 msgid "Monitoring C API" msgstr "" #: ../../c-api/monitoring.rst:8 msgid "Added in version 3.13." msgstr "" #: ../../c-api/monitoring.rst:10 msgid "" "An extension may need to interact with the event monitoring system. " "Subscribing to events and registering callbacks can be done via the Python " "API exposed in :mod:`sys.monitoring`." msgstr "" #: ../../c-api/monitoring.rst:15 msgid "Generating Execution Events" msgstr "" #: ../../c-api/monitoring.rst:17 msgid "" "The functions below make it possible for an extension to fire monitoring " "events as it emulates the execution of Python code. Each of these functions " "accepts a ``PyMonitoringState`` struct which contains concise information " "about the activation state of events, as well as the event arguments, which " "include a ``PyObject*`` representing the code object, the instruction offset" " and sometimes additional, event-specific arguments (see " ":mod:`sys.monitoring` for details about the signatures of the different " "event callbacks). The ``codelike`` argument should be an instance of " ":class:`types.CodeType` or of a type that emulates it." msgstr "" #: ../../c-api/monitoring.rst:27 msgid "" "The VM disables tracing when firing an event, so there is no need for user " "code to do that." msgstr "" #: ../../c-api/monitoring.rst:30 msgid "" "Monitoring functions should not be called with an exception set, except " "those listed below as working with the current exception." msgstr "" #: ../../c-api/monitoring.rst:35 msgid "" "Representation of the state of an event type. It is allocated by the user " "while its contents are maintained by the monitoring API functions described " "below." msgstr "" #: ../../c-api/monitoring.rst:39 msgid "" "All of the functions below return 0 on success and -1 (with an exception " "set) on error." msgstr "" #: ../../c-api/monitoring.rst:41 msgid "See :mod:`sys.monitoring` for descriptions of the events." msgstr "" #: ../../c-api/monitoring.rst:45 msgid "Fire a ``PY_START`` event." msgstr "" #: ../../c-api/monitoring.rst:50 msgid "Fire a ``PY_RESUME`` event." msgstr "" #: ../../c-api/monitoring.rst:55 msgid "Fire a ``PY_RETURN`` event." msgstr "" #: ../../c-api/monitoring.rst:60 msgid "Fire a ``PY_YIELD`` event." msgstr "" #: ../../c-api/monitoring.rst:65 msgid "Fire a ``CALL`` event." msgstr "" #: ../../c-api/monitoring.rst:70 msgid "Fire a ``LINE`` event." msgstr "" #: ../../c-api/monitoring.rst:75 msgid "Fire a ``JUMP`` event." msgstr "" #: ../../c-api/monitoring.rst:80 msgid "Fire a ``BRANCH_LEFT`` event." msgstr "" #: ../../c-api/monitoring.rst:85 msgid "Fire a ``BRANCH_RIGHT`` event." msgstr "" #: ../../c-api/monitoring.rst:90 msgid "Fire a ``C_RETURN`` event." msgstr "" #: ../../c-api/monitoring.rst:95 msgid "" "Fire a ``PY_THROW`` event with the current exception (as returned by " ":c:func:`PyErr_GetRaisedException`)." msgstr "" #: ../../c-api/monitoring.rst:101 msgid "" "Fire a ``RAISE`` event with the current exception (as returned by " ":c:func:`PyErr_GetRaisedException`)." msgstr "" #: ../../c-api/monitoring.rst:107 msgid "" "Fire a ``C_RAISE`` event with the current exception (as returned by " ":c:func:`PyErr_GetRaisedException`)." msgstr "" #: ../../c-api/monitoring.rst:113 msgid "" "Fire a ``RERAISE`` event with the current exception (as returned by " ":c:func:`PyErr_GetRaisedException`)." msgstr "" #: ../../c-api/monitoring.rst:119 msgid "" "Fire an ``EXCEPTION_HANDLED`` event with the current exception (as returned " "by :c:func:`PyErr_GetRaisedException`)." msgstr "" #: ../../c-api/monitoring.rst:125 msgid "" "Fire a ``PY_UNWIND`` event with the current exception (as returned by " ":c:func:`PyErr_GetRaisedException`)." msgstr "" #: ../../c-api/monitoring.rst:131 msgid "" "Fire a ``STOP_ITERATION`` event. If ``value`` is an instance of " ":exc:`StopIteration`, it is used. Otherwise, a new :exc:`StopIteration` " "instance is created with ``value`` as its argument." msgstr "" #: ../../c-api/monitoring.rst:136 msgid "Managing the Monitoring State" msgstr "" #: ../../c-api/monitoring.rst:138 msgid "" "Monitoring states can be managed with the help of monitoring scopes. A scope" " would typically correspond to a python function." msgstr "" #: ../../c-api/monitoring.rst:143 msgid "" "Enter a monitored scope. ``event_types`` is an array of the event IDs for " "events that may be fired from the scope. For example, the ID of a " "``PY_START`` event is the value ``PY_MONITORING_EVENT_PY_START``, which is " "numerically equal to the base-2 logarithm of " "``sys.monitoring.events.PY_START``. ``state_array`` is an array with a " "monitoring state entry for each event in ``event_types``, it is allocated by" " the user but populated by :c:func:`!PyMonitoring_EnterScope` with " "information about the activation state of the event. The size of " "``event_types`` (and hence also of ``state_array``) is given in ``length``." msgstr "" #: ../../c-api/monitoring.rst:153 msgid "" "The ``version`` argument is a pointer to a value which should be allocated " "by the user together with ``state_array`` and initialized to 0, and then set" " only by :c:func:`!PyMonitoring_EnterScope` itself. It allows this function " "to determine whether event states have changed since the previous call, and " "to return quickly if they have not." msgstr "" #: ../../c-api/monitoring.rst:159 msgid "" "The scopes referred to here are lexical scopes: a function, class or method." " :c:func:`!PyMonitoring_EnterScope` should be called whenever the lexical " "scope is entered. Scopes can be reentered, reusing the same *state_array* " "and *version*, in situations like when emulating a recursive Python " "function. When a code-like's execution is paused, such as when emulating a " "generator, the scope needs to be exited and re-entered." msgstr "" #: ../../c-api/monitoring.rst:166 msgid "The macros for *event_types* are:" msgstr "" #: ../../c-api/monitoring.rst:174 msgid "Macro" msgstr "" #: ../../c-api/monitoring.rst:174 msgid "Event" msgstr "" #: ../../c-api/monitoring.rst:176 msgid ":monitoring-event:`BRANCH_LEFT`" msgstr "" #: ../../c-api/monitoring.rst:177 msgid ":monitoring-event:`BRANCH_RIGHT`" msgstr "" #: ../../c-api/monitoring.rst:178 msgid ":monitoring-event:`CALL`" msgstr "" #: ../../c-api/monitoring.rst:179 msgid ":monitoring-event:`C_RAISE`" msgstr "" #: ../../c-api/monitoring.rst:180 msgid ":monitoring-event:`C_RETURN`" msgstr "" #: ../../c-api/monitoring.rst:181 msgid ":monitoring-event:`EXCEPTION_HANDLED`" msgstr "" #: ../../c-api/monitoring.rst:182 msgid ":monitoring-event:`INSTRUCTION`" msgstr "" #: ../../c-api/monitoring.rst:183 msgid ":monitoring-event:`JUMP`" msgstr "" #: ../../c-api/monitoring.rst:184 msgid ":monitoring-event:`LINE`" msgstr "" #: ../../c-api/monitoring.rst:185 msgid ":monitoring-event:`PY_RESUME`" msgstr "" #: ../../c-api/monitoring.rst:186 msgid ":monitoring-event:`PY_RETURN`" msgstr "" #: ../../c-api/monitoring.rst:187 msgid ":monitoring-event:`PY_START`" msgstr "" #: ../../c-api/monitoring.rst:188 msgid ":monitoring-event:`PY_THROW`" msgstr "" #: ../../c-api/monitoring.rst:189 msgid ":monitoring-event:`PY_UNWIND`" msgstr "" #: ../../c-api/monitoring.rst:190 msgid ":monitoring-event:`PY_YIELD`" msgstr "" #: ../../c-api/monitoring.rst:191 msgid ":monitoring-event:`RAISE`" msgstr "" #: ../../c-api/monitoring.rst:192 msgid ":monitoring-event:`RERAISE`" msgstr "" #: ../../c-api/monitoring.rst:193 msgid ":monitoring-event:`STOP_ITERATION`" msgstr "" #: ../../c-api/monitoring.rst:198 msgid "" "Exit the last scope that was entered with " ":c:func:`!PyMonitoring_EnterScope`." msgstr "" #: ../../c-api/monitoring.rst:203 msgid "" "Return true if the event corresponding to the event ID *ev* is a :ref:`local" " event `." msgstr "" #: ../../c-api/monitoring.rst:210 msgid "This function is :term:`soft deprecated`." msgstr ""