Comment out non string based decorator to decide later and also make

changes to decorator adding a "section"
This commit is contained in:
2025-09-03 18:46:46 +05:30
parent 0ee8b541d1
commit 9b4ef23a62
3 changed files with 25 additions and 15 deletions

View File

@ -1,11 +1,13 @@
from pythonbpf.decorators import tracepoint, syscalls
from pythonbpf.decorators import section
# from pythonbpf.decorators import tracepoint, syscalls
from ctypes import c_void_p, c_int32
#This is a test function
def test_function():
print("test_function called")
@tracepoint(syscalls.sys_enter_execve)
# @tracepoint(syscalls.sys_enter_execve)
@section("tracepoint/syscalls/sys_enter_execve")
def trace_execve(ctx: c_void_p) -> c_int32:
print("execve called")
print("execve2 called")

View File

@ -1,14 +1,21 @@
from types import SimpleNamespace
syscalls = SimpleNamespace(
sys_enter_execve="syscalls:sys_enter_execve",
sys_exit_execve="syscalls:sys_exit_execve",
sys_clone="syscalls:sys_clone",
)
def tracepoint(name: str):
def section(name: str):
def wrapper(fn):
fn._section = f"tracepoint/{name}"
fn._section = name
return fn
return wrapper
# from types import SimpleNamespace
# syscalls = SimpleNamespace(
# sys_enter_execve="syscalls:sys_enter_execve",
# sys_exit_execve="syscalls:sys_exit_execve",
# sys_clone="syscalls:sys_clone",
# )
# def tracepoint(name: str):
# def wrapper(fn):
# fn._section = f"tracepoint/{name}"
# fn._section = name
# return fn
# return wrapper

View File

@ -33,9 +33,10 @@ def globals_processing(tree, module: ir.Module):
if (
isinstance(dec, ast.Call)
and isinstance(dec.func, ast.Name)
and dec.func.id == "section"
and len(dec.args) == 1
and isinstance(dec.args[0], ast.Attribute)
and isinstance(dec.args[0].value, ast.Name)
and isinstance(dec.args[0], ast.Constant)
and isinstance(dec.args[0].value, str)
):
collected.append(node.name)