aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/instrumentation.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/instrumentation.c')
-rw-r--r--Python/instrumentation.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/Python/instrumentation.c b/Python/instrumentation.c
index 9ee11588e44..35b0e7a8f35 100644
--- a/Python/instrumentation.c
+++ b/Python/instrumentation.c
@@ -1833,6 +1833,23 @@ _PyMonitoring_SetLocalEvents(PyCodeObject *code, int tool_id, _PyMonitoringEvent
return 0;
}
+int
+_PyMonitoring_GetLocalEvents(PyCodeObject *code, int tool_id, _PyMonitoringEventSet *events)
+{
+ assert(0 <= tool_id && tool_id < PY_MONITORING_TOOL_IDS);
+ PyInterpreterState *interp = _PyInterpreterState_GET();
+ if (check_tool(interp, tool_id)) {
+ return -1;
+ }
+ if (code->_co_monitoring == NULL) {
+ *events = 0;
+ return 0;
+ }
+ _Py_LocalMonitors *local = &code->_co_monitoring->local_monitors;
+ *events = get_local_events(local, tool_id);
+ return 0;
+}
+
/*[clinic input]
module monitoring
[clinic start generated code]*/