Files
python-bpf/examples/clone-matplotlib.ipynb
2025-10-22 21:47:16 +05:30

127 lines
23 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 4,
"id": "22dd4e7b-2ea2-49cb-a8d5-1da108c10034",
"metadata": {},
"outputs": [],
"source": [
"import time\n",
"\n",
"from pythonbpf import bpf, map, section, bpfglobal, BPF\n",
"from pythonbpf.helper import pid\n",
"from pythonbpf.maps import HashMap\n",
"from ctypes import c_void_p, c_int64, c_uint64, c_int32\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "ac7a07bf-440f-41e2-bec8-95f520f9cd53",
"metadata": {},
"outputs": [],
"source": [
"@bpf\n",
"@map\n",
"def hist() -> HashMap:\n",
" return HashMap(key=c_int32, value=c_uint64, max_entries=4096)\n",
"\n",
"\n",
"@bpf\n",
"@section(\"tracepoint/syscalls/sys_enter_clone\")\n",
"def hello(ctx: c_void_p) -> c_int64:\n",
" process_id = pid()\n",
" one = 1\n",
" prev = hist.lookup(process_id)\n",
" if prev:\n",
" previous_value = prev + 1\n",
" print(f\"count: {previous_value} with {process_id}\")\n",
" hist.update(process_id, previous_value)\n",
" return c_int64(0)\n",
" else:\n",
" hist.update(process_id, one)\n",
" return c_int64(0)\n",
"\n",
"\n",
"@bpf\n",
"@bpfglobal\n",
"def LICENSE() -> str:\n",
" return \"GPL\"\n",
"\n",
"\n",
"b = BPF()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "93fae9f8-464e-48d6-b61e-57b9f93e508a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Recording\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAOrxJREFUeJzt3XlYVdX+x/HPAeWABmgqg0o4jygoDqGVqRipedW6Zlaipjaopdmk1S+1icqr2eBwu5XW9ZpTZuVMDllKmQOm5pAjmYCaCkIJCuv3h4/n3hOgcEQO7N6v59nP89trr7XPd29uns9v77XPthljjAAAACzCw90FAAAAFCfCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDYBiYbPZNH78eMf6rFmzZLPZdPjw4aved3HuC4D1EW6AUmLHjh36+9//rtDQUHl7e6tGjRrq0qWL3nnnHXeXBgvYuHGjxo8frzNnzri7FOCaI9wApcDGjRvVqlUrbd++XUOHDtW7776rIUOGyMPDQ2+99Za7y4MFbNy4URMmTCDc4C+hnLsLACC98sor8vf31w8//KBKlSo5bTt+/Lh7igKAMoorN0ApcODAATVt2jRPsJGkgIAAx//doUMHhYeH57uPhg0bKiYmxrE+d+5cRUZGytfXV35+fmrWrFmeq0BnzpzR448/rlq1aslut6tmzZqKjY3VyZMnJUnZ2dl64YUXFBkZKX9/f1WsWFE333yz1q5dWwxH/V979uzR3XffrWrVqsnHx0cNGzbUc889d8Vx06ZNU9OmTWW321W9enUNHz48z5WJW2+9VWFhYfrpp5/UsWNHVahQQTVq1NAbb7yRZ39ZWVkaN26c6tWrJ7vdrpCQED399NPKysoq1HF8//336tatmypXrqyKFSuqefPmec75mjVrdPPNN6tixYqqVKmSevbsqd27dzv1GThwoGrVqpVn/+PHj5fNZnNqs9lsGjFihBYvXqywsDDZ7XY1bdpUK1ascBr31FNPSZJq164tm83mNIcpPj5eN910kypVqqTrrrtODRs21LPPPluoYwZKI67cAKVAaGioEhIStHPnToWFhRXYr3///ho6dGiefj/88IP27dun559/XtLFL6t+/fqpc+fOev311yVJu3fv1oYNGzRy5EhJUkZGhm6++Wbt3r1bDzzwgFq2bKmTJ0/qiy++0NGjR1W1alWlp6fr/fffV79+/TR06FCdPXtWH3zwgWJiYrRp0yZFRERc9bH/+OOPuvnmm1W+fHk9+OCDqlWrlg4cOKAvv/xSr7zySoHjxo8frwkTJig6OlqPPPKI9u7dq+nTp+uHH37Qhg0bVL58eUff06dP6/bbb9edd96pu+++WwsXLtQzzzyjZs2aqWvXrpKk3Nxc/e1vf9O3336rBx98UI0bN9aOHTv05ptvat++fVq8ePFljyM+Pl533HGHgoODNXLkSAUFBWn37t1asmSJ45x/9dVX6tq1q+rUqaPx48frjz/+0DvvvKP27dtr69at+Qaawvj222+1aNEiDRs2TL6+vnr77bd11113KSkpSVWqVNGdd96pffv26ZNPPtGbb76pqlWrSpKqVaumXbt26Y477lDz5s314osvym63a//+/dqwYYNLtQClggHgdqtWrTKenp7G09PTREVFmaefftqsXLnSZGdnO/U7c+aM8fb2Ns8884xT+2OPPWYqVqxoMjIyjDHGjBw50vj5+ZkLFy4U+JkvvPCCkWQWLVqUZ1tubq4xxpgLFy6YrKwsp22nT582gYGB5oEHHnBql2TGjRvnWJ85c6aRZA4dOnTZY7/llluMr6+vOXLkSL415Lev48ePGy8vL3PbbbeZnJwcR793333XSDIffviho61Dhw5Gkvn4448dbVlZWSYoKMjcddddjrZ///vfxsPDw3zzzTdOdcyYMcNIMhs2bCjwGC5cuGBq165tQkNDzenTpws8joiICBMQEGB+++03R9v27duNh4eHiY2NdbQNGDDAhIaG5vmccePGmT//sy3JeHl5mf379zvtU5J55513HG0TJ07M9+/x5ptvGknmxIkTBR4fUNZwWwooBbp06aKEhAT97W9/0/bt2/XGG28oJiZGNWrU0BdffOHo5+/vr549e+qTTz6RMUaSlJOTo3nz5qlXr16qWLGiJKlSpUrKzMxUfHx8gZ/56aefKjw8XL17986z7dKtD09PT3l5eUm6eGXj1KlTunDhglq1aqWtW7de9XGfOHFC69ev1wMPPKAbbrgh3xry89VXXyk7O1ujRo2Sh8d//xkbOnSo/Pz8tHTpUqf+1113ne6//37HupeXl9q0aaODBw862hYsWKDGjRurUaNGOnnypGPp1KmTJF32Vty2bdt06NAhjRo1Ks+txUvHkZycrMTERA0cOFDXX3+9Y3vz5s3VpUsXLVu2rMD9X0l0dLTq1q3rtE8/Pz+n4yvIpXo///xz5ebmulwDUJoQboBSonXr1lq0aJFOnz6tTZs2aezYsTp79qz+/ve/66effnL0i42NVVJSkr755htJF7/oU1NT1b9/f0efYcOGqUGDBuratatq1qypBx54wGkOhnRxns/lboFd8tFHH6l58+by9vZWlSpVVK1aNS1dulRpaWlXfcyXvnwLU8f/OnLkiKSL84z+l5eXl+rUqePYfknNmjXzhKXKlSvr9OnTjvWff/5Zu3btUrVq1ZyWBg0aSLr8xO4DBw5c8TgKqlmSGjdurJMnTyozM7PA8Zfz52Ao5T2+gvTt21ft27fXkCFDFBgYqHvuuUfz588n6KBMY84NUMp4eXmpdevWat26tRo0aKBBgwZpwYIFGjdunCQpJiZGgYGBmj17tm655RbNnj1bQUFBio6OduwjICBAiYmJWrlypZYvX67ly5dr5syZio2N1UcffVToWmbPnq2BAweqV69eeuqppxQQECBPT0/FxcU5vtDLAk9Pz3zbL139ki5emWrWrJkmT56cb9+QkJBrUlt+CrpqlZOTk297YY6vID4+Plq/fr3Wrl2rpUuXasWKFZo3b546deqkVatWFbhvoDTjyg1QirVq1UrSxVsal3h6euree+/VwoULdfr0aS1evFj9+vXL8yXk5eWlHj16aNq0aTpw4IAeeughffzxx9q/f78kqW7dutq5c+dlP3/hwoWqU6eOFi1apP79+ysmJkbR0dE6d+5csRxfnTp1JOmKdfxZaGioJGnv3r1O7dnZ2Tp06JBje1HUrVtXp06dUufOnRUdHZ1nye+Ky/+OlS5/HAXVLF18Wqxq1aqO24qVK1fO9/do/nxFqigud5vPw8NDnTt31uTJk/XTTz/plVde0Zo1a4r9qTigpBBugFJg7dq1+f5/2ZfmYfz5i7V///46ffq0HnroIWVkZDjNJ5Gk3377zWndw8NDzZs3lyTHY8133XWXtm/frs8++yzP516q5VJg+t/avv/+eyUkJBTp+ApSrVo13XLLLfrwww+VlJSUbw35iY6OlpeXl95++22nfh988IHS0tLUvXv3Itdy991369dff9W//vWvPNv++OOPy94yatmypWrXrq0pU6bkCSWX6gsODlZERIQ++ugjpz47d+7UqlWr1K1bN0db3bp1lZaWph9//NHRlpycnO/fqrAuBac/13fq1Kk8fS89BVfYR+CB0obbUkAp8Oijj+r3339X79691ahRI2VnZ2vjxo2aN2+eatWqpUGDBjn1b9GihcLCwhyTYFu2bOm0fciQITp16pQ6deqkmjVr6siRI3rnnXcUERGhxo0bS5KeeuopLVy4UH369NEDDzygyMhInTp1Sl988YVmzJih8PBw3XHHHVq0aJF69+6t7t2769ChQ5oxY4aaNGmijIyMYjn2t99+WzfddJNatmypBx98ULVr19bhw4e1dOlSJSYm5jumWrVqGjt2rCZMmKDbb79df/vb37R3715NmzZNrVu3zhP2CqN///6aP3++Hn74Ya1du1bt27dXTk6O9uzZo/nz52vlypWOK2l/5uHhoenTp6tHjx6KiIjQoEGDFBwcrD179mjXrl1auXKlJGnixInq2rWroqKiNHjwYMej4P7+/k7v5brnnnv0zDPPqHfv3nrsscf0+++/a/r06WrQoIHLE7kjIyMlSc8995zuuecelS9fXj169NCLL76o9evXq3v37goNDdXx48c1bdo01axZUzfddJNLnwW4ndue0wLgsHz5cvPAAw+YRo0ameuuu854eXmZevXqmUcffdSkpqbmO+aNN94wksyrr76aZ9vChQvNbbfdZgICAoyXl5e54YYbzEMPPWSSk5Od+v32229mxIgRpkaNGsbLy8vUrFnTDBgwwJw8edIYc/Ex5ldffdWEhoYau91uWrRoYZYsWZLvo8py8VFwY4zZuXOn6d27t6lUqZLx9vY2DRs2NP/3f/93xX29++67plGjRqZ8+fImMDDQPPLII3kexe7QoYNp2rRpns/M7xiys7PN66+/bpo2bWrsdrupXLmyiYyMNBMmTDBpaWlXPI5vv/3WdOnSxfj6+pqKFSua5s2bOz2ObYwxX331lWnfvr3x8fExfn5+pkePHuann37Ks69Vq1aZsLAw4+XlZRo2bGhmz55d4KPgw4cPzzM+NDTUDBgwwKntpZdeMjVq1DAeHh6O87l69WrTs2dPU716dePl5WWqV69u+vXrZ/bt23fF4wVKK5sxhZhxBqDUeeutt/T444/r8OHD+T4tAwB/VYQboAwyxig8PFxVqlRh0icA/Alz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AACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACW4tZwExcXp9atW8vX11cBAQHq1auX9u7de8VxCxYsUKNGjeTt7a1mzZpp2bJlJVAtAAAoC9wabr7++msNHz5c3333neLj43X+/HnddtttyszMLHDMxo0b1a9fPw0ePFjbtm1Tr1691KtXL+3cubMEKwcAAKWVzRhj3F3EJSdOnFBAQIC+/vpr3XLLLfn26du3rzIzM7VkyRJH24033qiIiAjNmDHjip+Rnp4uf39/paWlyc/Pr9hqB1A61Bqz1N0lFNnh17q7uwSg1CvK93epmnOTlpYmSbr++usL7JOQkKDo6GintpiYGCUkJOTbPysrS+np6U4LAACwrlITbnJzczVq1Ci1b99eYWFhBfZLSUlRYGCgU1tgYKBSUlLy7R8XFyd/f3/HEhISUqx1AwCA0qXUhJvhw4dr586dmjt3brHud+zYsUpLS3Msv/zyS7HuHwAAlC7l3F2AJI0YMUJLlizR+vXrVbNmzcv2DQoKUmpqqlNbamqqgoKC8u1vt9tlt9uLrVYAAFC6ufXKjTFGI0aM0GeffaY1a9aodu3aVxwTFRWl1atXO7XFx8crKirqWpUJAADKELdeuRk+fLjmzJmjzz//XL6+vo55M/7+/vLx8ZEkxcbGqkaNGoqLi5MkjRw5Uh06dNCkSZPUvXt3zZ07V5s3b9Z7773ntuMAAAClh1uv3EyfPl1paWm69dZbFRwc7FjmzZvn6JOUlKTk5GTHert27TRnzhy99957Cg8P18KFC7V48eLLTkIGAAB/HW69clOYn9hZt25dnrY+ffqoT58+16AiAABQ1pWap6UAAACKA+EGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYikvh5uDBg8VdBwAAQLFwKdzUq1dPHTt21OzZs3Xu3LnirgkAAMBlLoWbrVu3qnnz5ho9erSCgoL00EMPadOmTcVdGwAAQJG5FG4iIiL01ltv6dixY/rwww+VnJysm266SWFhYZo8ebJOnDhR3HUCAAAUylVNKC5XrpzuvPNOLViwQK+//rr279+vJ598UiEhIYqNjVVycnJx1QkAAFAoVxVuNm/erGHDhik4OFiTJ0/Wk08+qQMHDig+Pl7Hjh1Tz549i6tOAACAQinnyqDJkydr5syZ2rt3r7p166aPP/5Y3bp1k4fHxaxUu3ZtzZo1S7Vq1SrOWgEAAK7IpXAzffp0PfDAAxo4cKCCg4Pz7RMQEKAPPvjgqooDAAAoKpfCzc8//3zFPl5eXhowYIAruwcAAHCZS3NuZs6cqQULFuRpX7BggT766KOrLgoAAMBVLoWbuLg4Va1aNU97QECAXn311asuCgAAwFUuhZukpCTVrl07T3toaKiSkpKuuigAAABXuRRuAgIC9OOPP+Zp3759u6pUqXLVRQEAALjKpXDTr18/PfbYY1q7dq1ycnKUk5OjNWvWaOTIkbrnnnuKu0YAAIBCc+lpqZdeekmHDx9W586dVa7cxV3k5uYqNjaWOTcAAMCtXAo3Xl5emjdvnl566SVt375dPj4+atasmUJDQ4u7PgAAgCJxKdxc0qBBAzVo0KC4agEAALhqLoWbnJwczZo1S6tXr9bx48eVm5vrtH3NmjXFUhwAAEBRuRRuRo4cqVmzZql79+4KCwuTzWYr7roAAABc4lK4mTt3rubPn69u3boVdz0AAABXxaVHwb28vFSvXr3irgUAAOCquRRunnjiCb311lsyxhR3PQAAAFfFpdtS3377rdauXavly5eradOmKl++vNP2RYsWFUtxAAAAReVSuKlUqZJ69+5d3LUAAABcNZfCzcyZM4u7DgAAgGLh0pwbSbpw4YK++uor/fOf/9TZs2clSceOHVNGRkaxFQcAAFBULl25OXLkiG6//XYlJSUpKytLXbp0ka+vr15//XVlZWVpxowZxV0nAABAobh05WbkyJFq1aqVTp8+LR8fH0d77969tXr16mIrDgAAoKhcunLzzTffaOPGjfLy8nJqr1Wrln799ddiKQwAAMAVLl25yc3NVU5OTp72o0ePytfX96qLAgAAcJVL4ea2227TlClTHOs2m00ZGRkaN24cr2QAAABu5dJtqUmTJikmJkZNmjTRuXPndO+99+rnn39W1apV9cknnxR3jQAAAIXmUripWbOmtm/frrlz5+rHH39URkaGBg8erPvuu89pgjEAAEBJcyncSFK5cuV0//33F2ctAAAAV82lcPPxxx9fdntsbKxLxQAAAFwtl8LNyJEjndbPnz+v33//XV5eXqpQoQLhBgAAuI1LT0udPn3aacnIyNDevXt10003MaEYAAC4lcvvlvqz+vXr67XXXstzVedy1q9frx49eqh69eqy2WxavHjxZfuvW7dONpstz5KSknKV1QMAAKsotnAjXZxkfOzYsUL3z8zMVHh4uKZOnVqkz9m7d6+Sk5MdS0BAQFFLBQAAFuXSnJsvvvjCad0Yo+TkZL377rtq3759offTtWtXde3atcifHxAQoEqVKhV5HAAAsD6Xwk2vXr2c1m02m6pVq6ZOnTpp0qRJxVHXZUVERCgrK0thYWEaP358kQIVAACwNpfCTW5ubnHXUSjBwcGaMWOGWrVqpaysLL3//vu69dZb9f3336tly5b5jsnKylJWVpZjPT09vaTKBQAAbuDyj/i5Q8OGDdWwYUPHert27XTgwAG9+eab+ve//53vmLi4OE2YMKGkSgQAAG7mUrgZPXp0oftOnjzZlY8otDZt2ujbb78tcPvYsWOd6k1PT1dISMg1rQkAALiPS+Fm27Zt2rZtm86fP++4krJv3z55eno63R6y2WzFU+VlJCYmKjg4uMDtdrtddrv9mtcBAABKB5fCTY8ePeTr66uPPvpIlStXlnTxh/0GDRqkm2++WU888USh9pORkaH9+/c71g8dOqTExERdf/31uuGGGzR27Fj9+uuvjtc9TJkyRbVr11bTpk117tw5vf/++1qzZo1WrVrlymEAAAALcincTJo0SatWrXIEG0mqXLmyXn75Zd12222FDjebN29Wx44dHeuXbh8NGDBAs2bNUnJyspKSkhzbs7Oz9cQTT+jXX39VhQoV1Lx5c3311VdO+wAAAH9tLoWb9PR0nThxIk/7iRMndPbs2ULv59Zbb5UxpsDts2bNclp/+umn9fTTTxd6/wAA4K/HpV8o7t27twYNGqRFixbp6NGjOnr0qD799FMNHjxYd955Z3HXCAAAUGguXbmZMWOGnnzySd177706f/78xR2VK6fBgwdr4sSJxVogAABAUbgUbipUqKBp06Zp4sSJOnDggCSpbt26qlixYrEWBwAAUFRX9eLMSy+urF+/vipWrHjZ+TMAAAAlwaVw89tvv6lz585q0KCBunXrpuTkZEnS4MGDC/2kFAAAwLXgUrh5/PHHVb58eSUlJalChQqO9r59+2rFihXFVhwAAEBRuTTnZtWqVVq5cqVq1qzp1F6/fn0dOXKkWAoDAABwhUtXbjIzM52u2Fxy6tQpXnUAAADcyqVwc/PNNzteiSBdfIdUbm6u3njjDX4tGAAAuJVLt6XeeOMNde7cWZs3b1Z2draefvpp7dq1S6dOndKGDRuKu0YAAIBCc+nKTVhYmPbt26ebbrpJPXv2VGZmpu68805t27ZNdevWLe4aAQAACq3IV27Onz+v22+/XTNmzNBzzz13LWoCAABwWZGv3JQvX14//vjjtagFAADgqrl0W+r+++/XBx98UNy1AAAAXDWXJhRfuHBBH374ob766itFRkbmeafU5MmTi6U4AACAoipSuDl48KBq1aqlnTt3qmXLlpKkffv2OfWx2WzFVx0AAEARFSnc1K9fX8nJyVq7dq2ki69bePvttxUYGHhNigMAACiqIs25+fNbv5cvX67MzMxiLQgAAOBquDSh+JI/hx0AAAB3K1K4sdlseebUMMcGAACUJkWac2OM0cCBAx0vxzx37pwefvjhPE9LLVq0qPgqBAAAKIIihZsBAwY4rd9///3FWgwAAMDVKlK4mTlz5rWqAwAAoFhc1YRiAACA0oZwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALMWt4Wb9+vXq0aOHqlevLpvNpsWLF19xzLp169SyZUvZ7XbVq1dPs2bNuuZ1AgCAssOt4SYzM1Ph4eGaOnVqofofOnRI3bt3V8eOHZWYmKhRo0ZpyJAhWrly5TWuFAAAlBXl3PnhXbt2VdeuXQvdf8aMGapdu7YmTZokSWrcuLG+/fZbvfnmm4qJiblWZQIAgDKkTM25SUhIUHR0tFNbTEyMEhISChyTlZWl9PR0pwUAAFhXmQo3KSkpCgwMdGoLDAxUenq6/vjjj3zHxMXFyd/f37GEhISURKkAAMBNylS4ccXYsWOVlpbmWH755Rd3lwQAAK4ht865KaqgoCClpqY6taWmpsrPz08+Pj75jrHb7bLb7SVRHgAAKAXK1JWbqKgorV692qktPj5eUVFRbqoIAACUNm4NNxkZGUpMTFRiYqKki496JyYmKikpSdLFW0qxsbGO/g8//LAOHjyop59+Wnv27NG0adM0f/58Pf744+4oHwAAlEJuDTebN29WixYt1KJFC0nS6NGj1aJFC73wwguSpOTkZEfQkaTatWtr6dKlio+PV3h4uCZNmqT333+fx8ABAICDzRhj3F1ESUpPT5e/v7/S0tLk5+fn7nIAFLNaY5a6u4QiO/xad3eXAJR6Rfn+LlNzbgAAAK6EcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACylVISbqVOnqlatWvL29lbbtm21adOmAvvOmjVLNpvNafH29i7BagEAQGnm9nAzb948jR49WuPGjdPWrVsVHh6umJgYHT9+vMAxfn5+Sk5OdixHjhwpwYoBAEBp5vZwM3nyZA0dOlSDBg1SkyZNNGPGDFWoUEEffvhhgWNsNpuCgoIcS2BgYAlWDAAASjO3hpvs7Gxt2bJF0dHRjjYPDw9FR0crISGhwHEZGRkKDQ1VSEiIevbsqV27dhXYNysrS+np6U4LAACwLreGm5MnTyonJyfPlZfAwEClpKTkO6Zhw4b68MMP9fnnn2v27NnKzc1Vu3btdPTo0Xz7x8XFyd/f37GEhIQU+3EAAIDSw+23pYoqKipKsbGxioiIUIcOHbRo0SJV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bjp16uTUNnr0aNO+fftrWqeVSDKfffbZZfs8/fTTpmnTpk5tffv2NTExMdewMmspzHnOT5MmTcyECROKvyCLKsp57tu3r3n++efNuHHjTHh4+DWtq6ziyo2FZWdna8uWLYqOjna0eXh4KDo6WgkJCfmO+eKLLxQVFaXhw4crMDBQYWFhevXVV5WTk1NSZZc5rpzndu3aacuWLY5bVwcPHtSyZcvUrVu3Eqn5ryIhIcHp7yJJMTExBf5dUDxyc3N19uxZXX/99e4uxXJmzpypgwcPaty4ce4upVQrFb9QjGvj5MmTysnJcbzK4pLAwEDt2bMn3zEHDx7UmjVrdN9992nZsmXav3+/hg0bpvPnz/MfUwFcOc/33nuvTp48qZtuuknGGF24cEEPP/wwt6WKWUpKSr5/l/T0dP3xxx/y8fFxU2XW9o9//EMZGRm6++673V2Kpfz8888aM2aMvvnmG5Urx9f35XDlBk5yc3MVEBCg9957T5GRkerbt6+ee+45zZgxw92lWcq6dev06quvatq0adq6dasWLVqkpUuX6qWXXnJ3acBVmTNnjiZMmKD58+crICDA3eVYRk5Oju69915NmDBBDRo0cHc5pR7Rz8KqVq0qT09PpaamOrWnpqYqKCgo3zHBwcEqX768PD09HW2NGzdWSkqKsrOz5eXldU1rLotcOc//93//p/79+2vIkCGSpGbNmikzM1MPPvignnvuOaeXxcJ1QUFB+f5d/Pz8uGpzDcydO1dDhgzRggUL8twOxNU5e/asNm/erG3btjnexZibmytjjMqVK6dVq1apU6dObq6y9OBfUAvz8vJSZGSkVq9e7WjLzc3V6tWrFRUVle+Y9u3ba//+/crNzXW07du3T8HBwQSbArhynn///fc8AeZSoDS87q3YREVFOf1dJCk+Pr7Avwtc98knn2jQoEH65JNP1L17d3eXYzl+fn7asWOHEhMTHcvDDz+shg0bKjExUW3btnV3iaWLmyc04xqbO3eusdvtZtasWeann34yDz74oKlUqZJJSUkxxhjTv39/M2bMGEf/pKQk4+vra0aMGGH27t1rlixZYgICAszLL7/srkMoE4p6nseNG2d8fX3NJ598Yg4ePGhWrVpl6tata+6++253HUKZcPbsWbNt2zazbds2I8lMnjzZbNu2zRw5csQYY8yYMWNM//79Hf0PHjxoKlSoYJ566imze/duM3XqVOPp6WlWrFjhrkMoE4p6nv/zn/+YcuXKmalTp5rk5GTHcubMGXcdQplQ1PP8ZzwtVTDCzV/AO++8Y2644Qbj5eVl2rRpY7777jvHtg4dOpgBAwY49d+4caNp27atsdvtpk6dOuaVV14xFy5cKOGqy56inOfz58+b8ePHm7p16xpvb28TEhJihg0bZk6fPl3yhZcha9euNZLyLJfO7YABA0yHDh3yjImIiDBeXl6mTp06ZubMmSVed1lT1PPcoUOHy/ZH/lz53/P/ItwUzGYM18ABAIB1MOcGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEG+Iuy2WxavHixu8u4arfeeqtGjRrlWK9Vq5amTJnitnoAuB/hBrCglJQUPfroo6pTp47sdrtCQkLUo0ePPO9ZgnvVqlVLNptNNptNFStWVMuWLbVgwQLH9vHjxysiIsJp/VL/cuXKqWrVqrrllls0ZcoUZWVlueEIgNKJcANYzOHDhxUZGak1a9Zo4sSJ2rFjh1asWKGOHTtq+PDh7i7vL+n8+fMFbnvxxReVnJysbdu2qXXr1urbt682btxYYP+mTZsqOTlZSUlJWrt2rfr06aO4uDi1a9dOZ8+evRblA2UO4QawmGHDhslms2nTpk2666671KBBAzVt2lSjR4/Wd999V+C4HTt2qFOnTvLx8VGVKlX04IMPKiMjw7F94MCB6tWrl/7xj38oODhYVapU0fDhw52+uLOysvTkk0+qRo0aqlixotq2bat169Zdtt4zZ87ooYceUmBgoLy9vRUWFqYlS5ZIkn777Tf169dPNWrUUIUKFdSsWTN98sknhT4XxhiNHz9eN9xwg+x2u6pXr67HHnuswP6XrpT885//VEhIiCpUqKC7775baWlpTv3ef/99NW7cWN7e3mrUqJGmTZvm2Hb48GHZbDbNmzdPHTp0kLe3t/7zn/8U+Jm+vr4KCgpSgwYNNHXqVPn4+OjLL78ssH+5cuUUFBSk6tWrq1mzZnr00Uf19ddfa+fOnXr99dcLfW4AKyvn7gIAFJ9Tp05pxYoVeuWVV1SxYsU82ytVqpTvuMzMTMXExCgqKko//PCDjh8/riFDhmjEiBGaNWuWo9/atWsVHBystWvXav/+/erbt68iIiI0dOhQSdKIESP0008/ae7cuapevbo+++wz3X777dqxY4fq16+f53Nzc3PVtWtXnT17VrNnz1bdunX1008/ydPTU5J07tw5RUZG6plnnpGfn5+WLl2q/v37q27dumrTps0Vz8enn36qN998U3PnzlXTpk2VkpKi7du3X3bM/v37NX/+fH355ZdKT0/X4MGDNWzYMEdA+c9//qMXXnhB7777rlq0aKFt27Zp6NChqlixogYMGODYz5gxYzRp0iS1aNFC3t7eV6xVuhhcypcvr+zs7EL1v6RRo0bq2rWrFi1apJdffrlIYwFLcvOLOwEUo++//95IMosWLbpiX0nms88+M8YY895775nKlSubjIwMx/alS5caDw8Pk5KSYoy5+Ibi0NBQpzfE9+nTx/Tt29cYY8yRI0eMp6en+fXXX50+p3Pnzmbs2LH51rBy5Urj4eFh9u7dW+hj7N69u3niiScc6x06dDAjR450rIeGhpo333zTGGPMpEmTTIMGDUx2dnah9j1u3Djj6elpjh496mhbvny58fDwMMnJycYYY+rWrWvmzJnjNO6ll14yUVFRxhhjDh06ZCSZKVOmXPHz/rfWrKws8+qrrxpJZsmSJY56/vetz5d7C/QzzzxjfHx8CnWcgNVx5QawEGOMS+N2796t8PBwp6s97du3V25urvbu3avAwEBJF+d7XLqqIknBwcHasWOHpIu3tXJyctSgQQOnfWdlZalKlSr5fm5iYqJq1qyZZ8wlOTk5evXVVzV//nz9+uuvys7OVlZWlipUqFCo4+rTp4+mTJmiOnXq6Pbbb1e3bt3Uo0cPlStX8D99N9xwg2rUqOFYj4qKcpwHX19fHThwQIMHD3ZcrZKkCxcuyN/f32k/rVq1KlSNzzzzjJ5//nmdO3dO1113nV577TV17969UGP/lzFGNputyOMAKyLcABZSv3592Ww27dmz55rsv3z58k7rNptNubm5kqSMjAx5enpqy5YtTgFIkq677rp89+fj43PZz5s4caLeeustTZkyRc2aNVPFihU1atSoQt+2CQkJ0d69e/XVV18pPj5ew4YN08SJE/X111/nOZbCuDQH6V//+pfatm3rtO3Px5zfbcH8PPXUUxo4cKCuu+46BQYGuhxQdu/erdq1a7s0FrAaJhQDFnL99dcrJiZGU6dOVWZmZp7tZ86cyXdc48aNtX37dqcxGzZskIeHhxo2bFioz27RooVycnJ0/Phx1atXz2kJCgrKd0zz5s119OhR7du3L9/tGzZsUM+ePXX//fcrPDxcderUKbBvQXx8fNSjRw+9/fbbWrdunRISEhxXm/KTlJSkY8eOOda/++47x3kIDAxU9erVdfDgwTzH6GqwqFq1quMcuRps9uzZoxUrVuiuu+5yaTxgNYQbwGKmTp2qnJwctWnTRp9++ql+/vln7d69W2+//baioqLyHXPffffJ29tbAwYM0M6dO7V27Vo9+uij6t+/v+OW1JU0aNBA9913n2JjY7Vo0SIdOnRImzZtUlxcnJYuXZrvmA4dOuiWW27RXXfdpfj4eB06dEjLly/XihUrJF28EhUfH6+NGzdq9+7deuihh5SamlroczFr1ix98MEH2rlzpw4ePKjZs2fLx8dHoaGhBY65dB62b9+ub775Ro899pjuvvtuR0CbMGGC4uLi9Pbbb2vfvn3asWOHZs6cqcmTJxe6rqtx4cIFpaSk6NixY9qxY4feeecddejQQREREXrqqadKpAagtOO2FGAxderU0datW/XKK6/oiSeeUHJysqpVq6bIyEhNnz493zEVKlTQypUrNXLkSLVu3VoVKlTQXXfdVeQv7JkzZ+rll1/WE088oV9//VVVq1bVjTfeqDvuuKPAMZ9++qmefPJJ9evXT5mZmapXr55ee+01SdLzzz+vgwcPKiYmRhUqVNCDDz6oXr165Xk0uyCVKlXSa6+9ptGjRysnJ0fNmjXTl19+WeAcIEmqV6+e7rzzTnXr1k2nTp3SHXfc4fSo95AhQ1ShQgVNnDhRTz31lCpWrKhmzZo5/UrytbRr1y4FBwfL09NT/v7+atKkicaOHatHHnlEdru9RGoASjubcXUGIgBYzPjx47V48WIlJia6uxQAV4HbUgAAwFIINwAAwFK4LQUAACyFKzcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBS/h+V28zQoqB6OAAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"b.load()\n",
"b.attach_all()\n",
"print(\"Recording\")\n",
"time.sleep(10)\n",
"\n",
"counts = list(b[\"hist\"].values())\n",
"\n",
"plt.hist(counts, bins=10)\n",
"plt.xlabel(\"Clone calls per PID\")\n",
"plt.ylabel(\"Frequency\")\n",
"plt.title(\"Syscall clone counts\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "37fc74e9-d69c-4a8f-b84a-a3a4113f87cc",
"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
}