diff --git a/BCC-Examples/hello_world.ipynb b/BCC-Examples/hello_world.ipynb new file mode 100644 index 0000000..51bbf4d --- /dev/null +++ b/BCC-Examples/hello_world.ipynb @@ -0,0 +1,116 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 9, + "id": "7d5d3cfb-39ba-4516-9856-b3bed47a0cef", + "metadata": {}, + "outputs": [], + "source": [ + "from pythonbpf import bpf, section, bpfglobal, BPF, trace_pipe\n", + "from ctypes import c_void_p, c_int64" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "cf1c87aa-e173-4156-8f2d-762225bc6d19", + "metadata": {}, + "outputs": [], + "source": [ + "@bpf\n", + "@section(\"tracepoint/syscalls/sys_enter_clone\")\n", + "def hello_world(ctx: c_void_p) -> c_int64:\n", + " print(\"Hello, World!\")\n", + " return 0\n", + "\n", + "\n", + "@bpf\n", + "@bpfglobal\n", + "def LICENSE() -> str:\n", + " return \"GPL\"\n", + "\n", + "\n", + "b = BPF()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd81383d-f75a-4269-8451-3d985d85b124", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Cache2 I/O-4716 [003] ...21 8218.000492: bpf_trace_printk: count: 11 with 4716\n", + "\n", + " Cache2 I/O-4716 [003] ...21 8218.000499: bpf_trace_printk: Hello, World!\n", + "\n", + " WebExtensions-5168 [002] ...21 8219.320392: bpf_trace_printk: count: 13 with 5168\n", + "\n", + " WebExtensions-5168 [002] ...21 8219.320399: bpf_trace_printk: Hello, World!\n", + "\n", + " python-21155 [001] ...21 8220.933716: bpf_trace_printk: count: 5 with 21155\n", + "\n", + " python-21155 [001] ...21 8220.933721: bpf_trace_printk: Hello, World!\n", + "\n", + " python-21155 [002] ...21 8221.341290: bpf_trace_printk: count: 6 with 21155\n", + "\n", + " python-21155 [002] ...21 8221.341295: bpf_trace_printk: Hello, World!\n", + "\n", + " Isolated Web Co-5462 [000] ...21 8223.095033: bpf_trace_printk: count: 7 with 5462\n", + "\n", + " Isolated Web Co-5462 [000] ...21 8223.095043: bpf_trace_printk: Hello, World!\n", + "\n", + " firefox-4542 [000] ...21 8227.760067: bpf_trace_printk: count: 8 with 4542\n", + "\n", + " firefox-4542 [000] ...21 8227.760080: bpf_trace_printk: Hello, World!\n", + "\n", + " Isolated Web Co-12404 [003] ...21 8227.917086: bpf_trace_printk: count: 7 with 12404\n", + "\n", + " Isolated Web Co-12404 [003] ...21 8227.917095: bpf_trace_printk: Hello, World!\n", + "\n" + ] + } + ], + "source": [ + "b.load()\n", + "b.attach_all()\n", + "trace_pipe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "01e1f25b-decc-425b-a1aa-a5e701082574", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}