perf python: Add evlist enable and disable methods
authorIan Rogers <irogers@google.com>
Fri, 28 Feb 2025 22:23:01 +0000 (14:23 -0800)
committerNamhyung Kim <namhyung@kernel.org>
Wed, 12 Mar 2025 01:55:37 +0000 (18:55 -0700)
By default the evsels from parse_events will be disabled. Add access
to the evlist functions so they can be enabled/disabled.

Reviewed-by: Howard Chu <howardchu95@gmail.com>
Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lore.kernel.org/r/20250228222308.626803-5-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/python.c

index e2b9032c1311dbd0ad7e2d4eac75e5ff6f5e6d97..0cf81cfcfafb1c879d777255aa8d56cde635ea5d 100644 (file)
@@ -1028,6 +1028,20 @@ static PyObject *pyrf_evlist__open(struct pyrf_evlist *pevlist,
        return Py_None;
 }
 
+static PyObject *pyrf_evlist__disable(struct pyrf_evlist *pevlist)
+{
+       evlist__disable(&pevlist->evlist);
+       Py_INCREF(Py_None);
+       return Py_None;
+}
+
+static PyObject *pyrf_evlist__enable(struct pyrf_evlist *pevlist)
+{
+       evlist__enable(&pevlist->evlist);
+       Py_INCREF(Py_None);
+       return Py_None;
+}
+
 static PyMethodDef pyrf_evlist__methods[] = {
        {
                .ml_name  = "mmap",
@@ -1065,6 +1079,18 @@ static PyMethodDef pyrf_evlist__methods[] = {
                .ml_flags = METH_VARARGS | METH_KEYWORDS,
                .ml_doc   = PyDoc_STR("reads an event.")
        },
+       {
+               .ml_name  = "disable",
+               .ml_meth  = (PyCFunction)pyrf_evlist__disable,
+               .ml_flags = METH_NOARGS,
+               .ml_doc   = PyDoc_STR("Disable the evsels in the evlist.")
+       },
+       {
+               .ml_name  = "enable",
+               .ml_meth  = (PyCFunction)pyrf_evlist__enable,
+               .ml_flags = METH_NOARGS,
+               .ml_doc   = PyDoc_STR("Enable the evsels in the evlist.")
+       },
        { .ml_name = NULL, }
 };