Home | History | Annotate | Download | only in trappy
      1 {
      2  "cells": [
      3   {
      4    "cell_type": "markdown",
      5    "metadata": {},
      6    "source": [
      7     "# TRAPpy custom events\n",
      8     "\n",
      9     "Detailed information on Trappy can be found at **examples/trappy/trappy_example.ipynb**."
     10    ]
     11   },
     12   {
     13    "cell_type": "code",
     14    "execution_count": 1,
     15    "metadata": {
     16     "collapsed": false
     17    },
     18    "outputs": [
     19     {
     20      "name": "stderr",
     21      "output_type": "stream",
     22      "text": [
     23       "2016-12-12 12:37:47,136 INFO    : root         : Using LISA logging configuration:\n",
     24       "2016-12-12 12:37:47,136 INFO    : root         :   /home/vagrant/lisa/logging.conf\n"
     25      ]
     26     }
     27    ],
     28    "source": [
     29     "import logging\n",
     30     "from conf import LisaLogging\n",
     31     "LisaLogging.setup()"
     32    ]
     33   },
     34   {
     35    "cell_type": "code",
     36    "execution_count": 2,
     37    "metadata": {
     38     "collapsed": false
     39    },
     40    "outputs": [],
     41    "source": [
     42     "# Generate plots inline\n",
     43     "%matplotlib inline\n",
     44     "\n",
     45     "import copy\n",
     46     "import json\n",
     47     "import os\n",
     48     "import time\n",
     49     "import math\n",
     50     "import logging\n",
     51     "\n",
     52     "# Support to access the remote target\n",
     53     "import devlib\n",
     54     "from env import TestEnv\n",
     55     "\n",
     56     "# Support to configure and run RTApp based workloads\n",
     57     "from wlgen import RTA\n",
     58     "\n",
     59     "# Support for performance analysis of RTApp workloads\n",
     60     "from perf_analysis import PerfAnalysis\n",
     61     "\n",
     62     "# Support for trace events analysis\n",
     63     "from trace import Trace\n",
     64     "\n",
     65     "# Suport for FTrace events parsing and visualization\n",
     66     "import trappy"
     67    ]
     68   },
     69   {
     70    "cell_type": "markdown",
     71    "metadata": {},
     72    "source": [
     73     "## Test environment setup\n",
     74     "\n",
     75     "For more details on this please check out **examples/utils/testenv_example.ipynb**."
     76    ]
     77   },
     78   {
     79    "cell_type": "code",
     80    "execution_count": 3,
     81    "metadata": {
     82     "collapsed": false
     83    },
     84    "outputs": [],
     85    "source": [
     86     "# Setup a target configuration\n",
     87     "my_target_conf = {\n",
     88     "    \n",
     89     "    # Define the kind of target platform to use for the experiments\n",
     90     "    \"platform\"    : 'linux',  # Linux system, valid other options are:\n",
     91     "                              # android - access via ADB\n",
     92     "                              # linux   - access via SSH\n",
     93     "                              # host    - direct access\n",
     94     "    \n",
     95     "    # Preload settings for a specific target\n",
     96     "    \"board\"       : 'juno',  # juno - JUNO board with mainline hwmon\n",
     97     "    \n",
     98     "    # Define devlib module to load\n",
     99     "    \"modules\"     : [\n",
    100     "        'bl',           # enable big.LITTLE support\n",
    101     "        'cpufreq'       # enable CPUFreq support\n",
    102     "    ],\n",
    103     "\n",
    104     "    # Account to access the remote target\n",
    105     "    \"host\"        : '192.168.0.1',\n",
    106     "    \"username\"    : 'root',\n",
    107     "    \"password\"    : 'juno',\n",
    108     "\n",
    109     "    # Comment the following line to force rt-app calibration on your target\n",
    110     "    \"rtapp-calib\" : {\n",
    111     "        '0': 361, '1': 138, '2': 138, '3': 352, '4': 360, '5': 353\n",
    112     "    }\n",
    113     "\n",
    114     "}\n",
    115     "\n",
    116     "# Setup the required Test Environment supports\n",
    117     "my_tests_conf = {\n",
    118     "        \n",
    119     "    # Binary tools required to run this experiment\n",
    120     "    # These tools must be present in the tools/ folder for the architecture\n",
    121     "    \"tools\"   : ['trace-cmd'],\n",
    122     "    \n",
    123     "    # FTrace events buffer configuration\n",
    124     "    # events listed here MUST be \n",
    125     "    \"ftrace\"  : {\n",
    126     "        \n",
    127     "        \n",
    128     "##############################################################################\n",
    129     "# EVENTS SPECIFICATIPON\n",
    130     "##############################################################################\n",
    131     "# Here is where we specify the list of events we are interested into:\n",
    132     "# Events are of two types:\n",
    133     "# 1. FTrace tracepoints that _must_ be supported by the target's kernel in use.\n",
    134     "#    These events will be enabled at ftrace start time, thus if the kernel does\n",
    135     "#    not support one of them, ftrace starting will fails.\n",
    136     "\n",
    137     "        \"events\" : [\n",
    138     "            \"sched_switch\",\n",
    139     "            \"cpu_frequency\",\n",
    140     "        ],\n",
    141     "\n",
    142     "# 2. FTrace events generated via trace_printk, from either kernel or user\n",
    143     "#    space. These events are different from the previous because they do not\n",
    144     "#    need to be explicitely enabled at ftrace start time.\n",
    145     "#    It's up to the user to ensure that the generated events satisfies these\n",
    146     "#    formatting requirements:\n",
    147     "#    a) the name must be a unique word into the trace\n",
    148     "#    b) values must be reported as a sequence of key=value paires\n",
    149     "#    For example, a valid custom event string is:\n",
    150     "#      my_math_event: kay1=val1 key2=val2 key3=val3\n",
    151     "\n",
    152     "        \"custom\" : [\n",
    153     "            \"my_math_event\",\n",
    154     "        ],\n",
    155     "        \n",
    156     "# For each of these events, TRAPpy will generate a Pandas dataframe accessible\n",
    157     "# via a TRAPpy::FTrace object, whith the same name of the event.\n",
    158     "# Thus for example, ftrace.my_math_event will be the object exposing the\n",
    159     "# dataframe with all the event matching the \"my_math_event\" unique word.\n",
    160     "        \n",
    161     "##############################################################################\n",
    162     "        \n",
    163     "         \"buffsize\" : 10240,\n",
    164     "    },\n",
    165     "\n",
    166     "}"
    167    ]
    168   },
    169   {
    170    "cell_type": "code",
    171    "execution_count": 4,
    172    "metadata": {
    173     "collapsed": false,
    174     "scrolled": false
    175    },
    176    "outputs": [
    177     {
    178      "name": "stderr",
    179      "output_type": "stream",
    180      "text": [
    181       "2016-12-12 12:37:50,978 INFO    : TestEnv      : Using base path: /home/vagrant/lisa\n",
    182       "2016-12-12 12:37:50,980 INFO    : TestEnv      : Loading custom (inline) target configuration\n",
    183       "2016-12-12 12:37:50,981 INFO    : TestEnv      : Loading custom (inline) test configuration\n",
    184       "2016-12-12 12:37:50,982 INFO    : TestEnv      : Devlib modules to load: ['bl', 'cpufreq', 'hwmon']\n",
    185       "2016-12-12 12:37:50,983 INFO    : TestEnv      : Connecting linux target:\n",
    186       "2016-12-12 12:37:50,983 INFO    : TestEnv      :   username : root\n",
    187       "2016-12-12 12:37:50,984 INFO    : TestEnv      :       host : 192.168.0.1\n",
    188       "2016-12-12 12:37:50,984 INFO    : TestEnv      :   password : juno\n",
    189       "2016-12-12 12:37:50,985 INFO    : TestEnv      : Connection settings:\n",
    190       "2016-12-12 12:37:50,985 INFO    : TestEnv      :    {'username': 'root', 'host': '192.168.0.1', 'password': 'juno'}\n",
    191       "2016-12-12 12:38:07,171 INFO    : TestEnv      : Initializing target workdir:\n",
    192       "2016-12-12 12:38:07,171 INFO    : TestEnv      :    /root/devlib-target\n",
    193       "2016-12-12 12:38:16,815 INFO    : TestEnv      : Topology:\n",
    194       "2016-12-12 12:38:16,816 INFO    : TestEnv      :    [[0, 3, 4, 5], [1, 2]]\n",
    195       "2016-12-12 12:38:18,066 INFO    : TestEnv      : Loading default EM:\n",
    196       "2016-12-12 12:38:18,068 INFO    : TestEnv      :    /home/vagrant/lisa/libs/utils/platforms/juno.json\n",
    197       "2016-12-12 12:38:21,639 INFO    : TestEnv      : Enabled tracepoints:\n",
    198       "2016-12-12 12:38:21,640 INFO    : TestEnv      :    sched_switch\n",
    199       "2016-12-12 12:38:21,641 INFO    : TestEnv      :    cpu_frequency\n",
    200       "2016-12-12 12:38:21,642 INFO    : EnergyMeter  : Scanning for HWMON channels, may take some time...\n",
    201       "2016-12-12 12:38:21,644 INFO    : EnergyMeter  : Channels selected for energy sampling:\n",
    202       "2016-12-12 12:38:21,645 INFO    : EnergyMeter  :    BOARDBIG_energy\n",
    203       "2016-12-12 12:38:21,645 INFO    : EnergyMeter  :    BOARDLITTLE_energy\n",
    204       "2016-12-12 12:38:21,646 INFO    : TestEnv      : Set results folder to:\n",
    205       "2016-12-12 12:38:21,647 INFO    : TestEnv      :    /home/vagrant/lisa/results/20161212_123821\n",
    206       "2016-12-12 12:38:21,647 INFO    : TestEnv      : Experiment results available also in:\n",
    207       "2016-12-12 12:38:21,648 INFO    : TestEnv      :    /home/vagrant/lisa/results_latest\n"
    208      ]
    209     }
    210    ],
    211    "source": [
    212     "# Initialize a test environment using:\n",
    213     "#  - the provided target configuration (my_target_conf)\n",
    214     "#  - the provided test configuration (my_test_conf)\n",
    215     "te = TestEnv(target_conf=my_target_conf, test_conf=my_tests_conf)\n",
    216     "target = te.target"
    217    ]
    218   },
    219   {
    220    "cell_type": "code",
    221    "execution_count": 5,
    222    "metadata": {
    223     "collapsed": false
    224    },
    225    "outputs": [
    226     {
    227      "name": "stderr",
    228      "output_type": "stream",
    229      "text": [
    230       "2016-12-12 12:38:25,875 INFO    : root         : Target ABI: arm64, CPus: ['A53', 'A57', 'A57', 'A53', 'A53', 'A53']\n"
    231      ]
    232     }
    233    ],
    234    "source": [
    235     "logging.info(\"Target ABI: %s, CPus: %s\",\n",
    236     "             target.abi,\n",
    237     "             target.cpuinfo.cpu_names)"
    238    ]
    239   },
    240   {
    241    "cell_type": "markdown",
    242    "metadata": {},
    243    "source": [
    244     "## Example of custom event definition"
    245    ]
    246   },
    247   {
    248    "cell_type": "code",
    249    "execution_count": 6,
    250    "metadata": {
    251     "collapsed": false
    252    },
    253    "outputs": [
    254     {
    255      "name": "stderr",
    256      "output_type": "stream",
    257      "text": [
    258       "2016-12-12 12:38:33,871 INFO    : root         : Generating events from user-space (will take ~140[s])...\n"
    259      ]
    260     }
    261    ],
    262    "source": [
    263     "# Define the format string for the custom events we will inject from user-space\n",
    264     "my_math_event_fmt = \"my_math_event: sin={} cos={}\"\n",
    265     "\n",
    266     "# Start FTrace\n",
    267     "te.ftrace.start()\n",
    268     "\n",
    269     "# Let's generate some interesting \"custom\" events from userspace\n",
    270     "logging.info('Generating events from user-space (will take ~140[s])...')\n",
    271     "for angle in range(360):\n",
    272     "    v_sin = int(1e6 * math.sin(math.radians(angle)))\n",
    273     "    v_cos = int(1e6 * math.cos(math.radians(angle)))\n",
    274     "    my_math_event = my_math_event_fmt.format(v_sin, v_cos)\n",
    275     "    # custom events can be generated either from userspace, like in this\n",
    276     "    # example, or also from kernelspace (using a trace_printk call)\n",
    277     "    target.execute('echo {} > /sys/kernel/debug/tracing/trace_marker'\\\n",
    278     "                   .format(my_math_event))\n",
    279     "\n",
    280     "# Stop FTrace\n",
    281     "te.ftrace.stop()"
    282    ]
    283   },
    284   {
    285    "cell_type": "code",
    286    "execution_count": 7,
    287    "metadata": {
    288     "collapsed": false
    289    },
    290    "outputs": [],
    291    "source": [
    292     "# Collect the generate trace\n",
    293     "trace_file = '/tmp/trace.dat'\n",
    294     "te.ftrace.get_trace(trace_file)"
    295    ]
    296   },
    297   {
    298    "cell_type": "code",
    299    "execution_count": 8,
    300    "metadata": {
    301     "collapsed": false
    302    },
    303    "outputs": [
    304     {
    305      "name": "stderr",
    306      "output_type": "stream",
    307      "text": [
    308       "2016-12-12 12:44:50,076 INFO    : Trace        : Parsing FTrace format...\n",
    309       "2016-12-12 12:44:51,500 INFO    : Trace        : Platform clusters verified to be Frequency coherent\n",
    310       "2016-12-12 12:44:51,682 INFO    : Trace        : Collected events spans a 113.228 [s] time interval\n",
    311       "2016-12-12 12:44:51,682 INFO    : Trace        : Set plots time range to (0.000000, 113.227578)[s]\n",
    312       "2016-12-12 12:44:51,683 INFO    : Analysis     : Registering trace analysis modules:\n",
    313       "2016-12-12 12:44:51,684 INFO    : Analysis     :    tasks\n",
    314       "2016-12-12 12:44:51,684 INFO    : Analysis     :    status\n",
    315       "2016-12-12 12:44:51,687 INFO    : Analysis     :    frequency\n",
    316       "2016-12-12 12:44:51,688 INFO    : Analysis     :    cpus\n",
    317       "2016-12-12 12:44:51,690 INFO    : Analysis     :    latency\n",
    318       "2016-12-12 12:44:51,693 INFO    : Analysis     :    idle\n",
    319       "2016-12-12 12:44:51,694 INFO    : Analysis     :    functions\n",
    320       "2016-12-12 12:44:51,695 INFO    : Analysis     :    eas\n"
    321      ]
    322     }
    323    ],
    324    "source": [
    325     "# Parse trace\n",
    326     "events_to_parse = my_tests_conf['ftrace']['events'] + my_tests_conf['ftrace']['custom']\n",
    327     "trace = Trace(te.platform, '/tmp', events_to_parse)"
    328    ]
    329   },
    330   {
    331    "cell_type": "markdown",
    332    "metadata": {},
    333    "source": [
    334     "## Inspection of the generated TRAPpy FTrace object"
    335    ]
    336   },
    337   {
    338    "cell_type": "code",
    339    "execution_count": 9,
    340    "metadata": {
    341     "collapsed": true
    342    },
    343    "outputs": [],
    344    "source": [
    345     "# Get the TRAPpy FTrace object which has been generated from the trace parsing\n",
    346     "ftrace = trace.ftrace"
    347    ]
    348   },
    349   {
    350    "cell_type": "code",
    351    "execution_count": 10,
    352    "metadata": {
    353     "collapsed": false
    354    },
    355    "outputs": [
    356     {
    357      "name": "stderr",
    358      "output_type": "stream",
    359      "text": [
    360       "2016-12-12 12:44:55,642 INFO    : root         : List of events identified in the trace:\n",
    361       "['cpu_frequency', 'my_math_event', 'sched_switch', 'cpu_idle']\n"
    362      ]
    363     }
    364    ],
    365    "source": [
    366     "# The FTrace object allows to verify which (of the registered) events have been\n",
    367     "# identified into the trace\n",
    368     "logging.info(\"List of events identified in the trace:\\n%s\",\n",
    369     "             ftrace.class_definitions.keys())"
    370    ]
    371   },
    372   {
    373    "cell_type": "code",
    374    "execution_count": 11,
    375    "metadata": {
    376     "collapsed": false
    377    },
    378    "outputs": [
    379     {
    380      "name": "stderr",
    381      "output_type": "stream",
    382      "text": [
    383       "2016-12-12 12:44:57,476 INFO    : root         : First 10 events of our 'my_math_event' custom event:\n"
    384      ]
    385     },
    386     {
    387      "data": {
    388       "text/html": [
    389        "<div>\n",
    390        "<table border=\"1\" class=\"dataframe\">\n",
    391        "  <thead>\n",
    392        "    <tr style=\"text-align: right;\">\n",
    393        "      <th></th>\n",
    394        "      <th>__comm</th>\n",
    395        "      <th>__cpu</th>\n",
    396        "      <th>__pid</th>\n",
    397        "      <th>cos</th>\n",
    398        "      <th>sin</th>\n",
    399        "    </tr>\n",
    400        "    <tr>\n",
    401        "      <th>Time</th>\n",
    402        "      <th></th>\n",
    403        "      <th></th>\n",
    404        "      <th></th>\n",
    405        "      <th></th>\n",
    406        "      <th></th>\n",
    407        "    </tr>\n",
    408        "  </thead>\n",
    409        "  <tbody>\n",
    410        "    <tr>\n",
    411        "      <th>0.000000</th>\n",
    412        "      <td>bash</td>\n",
    413        "      <td>2</td>\n",
    414        "      <td>608</td>\n",
    415        "      <td>1000000</td>\n",
    416        "      <td>0</td>\n",
    417        "    </tr>\n",
    418        "    <tr>\n",
    419        "      <th>0.309391</th>\n",
    420        "      <td>bash</td>\n",
    421        "      <td>2</td>\n",
    422        "      <td>608</td>\n",
    423        "      <td>999847</td>\n",
    424        "      <td>17452</td>\n",
    425        "    </tr>\n",
    426        "    <tr>\n",
    427        "      <th>0.621478</th>\n",
    428        "      <td>bash</td>\n",
    429        "      <td>2</td>\n",
    430        "      <td>608</td>\n",
    431        "      <td>999390</td>\n",
    432        "      <td>34899</td>\n",
    433        "    </tr>\n",
    434        "    <tr>\n",
    435        "      <th>0.932506</th>\n",
    436        "      <td>bash</td>\n",
    437        "      <td>1</td>\n",
    438        "      <td>608</td>\n",
    439        "      <td>998629</td>\n",
    440        "      <td>52335</td>\n",
    441        "    </tr>\n",
    442        "    <tr>\n",
    443        "      <th>1.242157</th>\n",
    444        "      <td>bash</td>\n",
    445        "      <td>2</td>\n",
    446        "      <td>608</td>\n",
    447        "      <td>997564</td>\n",
    448        "      <td>69756</td>\n",
    449        "    </tr>\n",
    450        "    <tr>\n",
    451        "      <th>1.551930</th>\n",
    452        "      <td>bash</td>\n",
    453        "      <td>1</td>\n",
    454        "      <td>608</td>\n",
    455        "      <td>996194</td>\n",
    456        "      <td>87155</td>\n",
    457        "    </tr>\n",
    458        "    <tr>\n",
    459        "      <th>1.863359</th>\n",
    460        "      <td>bash</td>\n",
    461        "      <td>2</td>\n",
    462        "      <td>608</td>\n",
    463        "      <td>994521</td>\n",
    464        "      <td>104528</td>\n",
    465        "    </tr>\n",
    466        "    <tr>\n",
    467        "      <th>2.173332</th>\n",
    468        "      <td>bash</td>\n",
    469        "      <td>1</td>\n",
    470        "      <td>608</td>\n",
    471        "      <td>992546</td>\n",
    472        "      <td>121869</td>\n",
    473        "    </tr>\n",
    474        "    <tr>\n",
    475        "      <th>2.484736</th>\n",
    476        "      <td>bash</td>\n",
    477        "      <td>2</td>\n",
    478        "      <td>608</td>\n",
    479        "      <td>990268</td>\n",
    480        "      <td>139173</td>\n",
    481        "    </tr>\n",
    482        "    <tr>\n",
    483        "      <th>2.795345</th>\n",
    484        "      <td>bash</td>\n",
    485        "      <td>1</td>\n",
    486        "      <td>608</td>\n",
    487        "      <td>987688</td>\n",
    488        "      <td>156434</td>\n",
    489        "    </tr>\n",
    490        "  </tbody>\n",
    491        "</table>\n",
    492        "</div>"
    493       ],
    494       "text/plain": [
    495        "         __comm  __cpu  __pid      cos     sin\n",
    496        "Time                                          \n",
    497        "0.000000   bash      2    608  1000000       0\n",
    498        "0.309391   bash      2    608   999847   17452\n",
    499        "0.621478   bash      2    608   999390   34899\n",
    500        "0.932506   bash      1    608   998629   52335\n",
    501        "1.242157   bash      2    608   997564   69756\n",
    502        "1.551930   bash      1    608   996194   87155\n",
    503        "1.863359   bash      2    608   994521  104528\n",
    504        "2.173332   bash      1    608   992546  121869\n",
    505        "2.484736   bash      2    608   990268  139173\n",
    506        "2.795345   bash      1    608   987688  156434"
    507       ]
    508      },
    509      "execution_count": 11,
    510      "metadata": {},
    511      "output_type": "execute_result"
    512     }
    513    ],
    514    "source": [
    515     "# Each event identified in the trace is appended to a table (i.e. data_frame)\n",
    516     "# which has the same name of the event\n",
    517     "logging.info(\"First 10 events of our 'my_math_event' custom event:\")\n",
    518     "ftrace.my_math_event.data_frame.head(10)"
    519    ]
    520   },
    521   {
    522    "cell_type": "code",
    523    "execution_count": 12,
    524    "metadata": {
    525     "collapsed": false
    526    },
    527    "outputs": [
    528     {
    529      "name": "stderr",
    530      "output_type": "stream",
    531      "text": [
    532       "2016-12-12 12:44:58,945 INFO    : root         : First 10 events of our 'cpu_frequency' tracepoint:\n"
    533      ]
    534     },
    535     {
    536      "data": {
    537       "text/html": [
    538        "<div>\n",
    539        "<table border=\"1\" class=\"dataframe\">\n",
    540        "  <thead>\n",
    541        "    <tr style=\"text-align: right;\">\n",
    542        "      <th></th>\n",
    543        "      <th>__comm</th>\n",
    544        "      <th>__cpu</th>\n",
    545        "      <th>__pid</th>\n",
    546        "      <th>cpu</th>\n",
    547        "      <th>frequency</th>\n",
    548        "    </tr>\n",
    549        "    <tr>\n",
    550        "      <th>Time</th>\n",
    551        "      <th></th>\n",
    552        "      <th></th>\n",
    553        "      <th></th>\n",
    554        "      <th></th>\n",
    555        "      <th></th>\n",
    556        "    </tr>\n",
    557        "  </thead>\n",
    558        "  <tbody>\n",
    559        "    <tr>\n",
    560        "      <th>111.728239</th>\n",
    561        "      <td>cfinteractive</td>\n",
    562        "      <td>2</td>\n",
    563        "      <td>44</td>\n",
    564        "      <td>1</td>\n",
    565        "      <td>625000</td>\n",
    566        "    </tr>\n",
    567        "    <tr>\n",
    568        "      <th>111.728245</th>\n",
    569        "      <td>cfinteractive</td>\n",
    570        "      <td>2</td>\n",
    571        "      <td>44</td>\n",
    572        "      <td>2</td>\n",
    573        "      <td>625000</td>\n",
    574        "    </tr>\n",
    575        "    <tr>\n",
    576        "      <th>111.868680</th>\n",
    577        "      <td>cfinteractive</td>\n",
    578        "      <td>2</td>\n",
    579        "      <td>44</td>\n",
    580        "      <td>1</td>\n",
    581        "      <td>450000</td>\n",
    582        "    </tr>\n",
    583        "    <tr>\n",
    584        "      <th>111.868690</th>\n",
    585        "      <td>cfinteractive</td>\n",
    586        "      <td>2</td>\n",
    587        "      <td>44</td>\n",
    588        "      <td>2</td>\n",
    589        "      <td>450000</td>\n",
    590        "    </tr>\n",
    591        "  </tbody>\n",
    592        "</table>\n",
    593        "</div>"
    594       ],
    595       "text/plain": [
    596        "                   __comm  __cpu  __pid  cpu  frequency\n",
    597        "Time                                                   \n",
    598        "111.728239  cfinteractive      2     44    1     625000\n",
    599        "111.728245  cfinteractive      2     44    2     625000\n",
    600        "111.868680  cfinteractive      2     44    1     450000\n",
    601        "111.868690  cfinteractive      2     44    2     450000"
    602       ]
    603      },
    604      "execution_count": 12,
    605      "metadata": {},
    606      "output_type": "execute_result"
    607     }
    608    ],
    609    "source": [
    610     "logging.info(\"First 10 events of our 'cpu_frequency' tracepoint:\")\n",
    611     "ftrace.cpu_frequency.data_frame.head(10)"
    612    ]
    613   },
    614   {
    615    "cell_type": "markdown",
    616    "metadata": {},
    617    "source": [
    618     "## Plotting tracepoint and/or custom events"
    619    ]
    620   },
    621   {
    622    "cell_type": "code",
    623    "execution_count": 13,
    624    "metadata": {
    625     "code_folding": [],
    626     "collapsed": false
    627    },
    628    "outputs": [
    629     {
    630      "data": {
    631       "image/png": "iVBORw0KGgoAAAANSUhEUgAABZUAAALrCAYAAACGQmmVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3X+U1PWd5/unDJOw/JI4xKOCmERB0CBKC2fiwuLij40Z\nbmdMmu2tCboRzTBR2rVvgnEV7+hqElEDRiQzZgUd5Z5Kh+bK9uSaSeaQyMqwE0m3S7wRBDFBQbPq\njkgD8Qex7x9fvvWrq7urf9T3W9+q5+McDlVdX6o+1fDuot71+b7eJ3R1dXUhSZIkSZIkSVIJhsW9\nAEmSJEmSJElScthUliRJkiRJkiSVzKayJEmSJEmSJKlkNpUlSZIkSZIkSSWzqSxJkiRJkiRJKplN\nZUmSJEmSJElSyWwqS5IkSZIkSZJKZlNZkiRJkiRJklQym8qSJEmSJEmSpJLZVJYkSZIkSZIklWx4\nue74hRdeoK2tjd/85jccPHiQr3/968yaNSvvmB/+8Ids3ryZI0eOMHnyZK699lomTpyYuf2DDz7g\niSee4J/+6Z94//33mT59Otdddx0nnXRS5pjDhw/z6KOP0t7eDsCFF17I4sWLGTlyZOaYt956i0ce\neYRf//rXfOQjH2HOnDlcddVVDB+effqvvPIKa9euZe/evYwePZpLL72UhoaGbs/p7/7u79i/fz8n\nnXQS9fX1XHbZZUP6fZMkSZIkSZKkSla2ncrvv/8+n/zkJ7n22msBOOGEE/Ju37RpE0899RTXXnst\n3/72tznxxBO56667ePfddzPHPPbYY2zfvp3m5ubMbffccw8ffvhh5pgHH3yQV155hdtuu41bb72V\n3/72t6xevTpz+4cffsi3v/1tPvjgA+666y5uuukmfvGLX/D4449njjl69Ch33XUXf/Inf8I999zD\n4sWL+fu//3t+9KMfZY554403+Pa3v80555zDfffdx5VXXsmjjz7KL37xiyH/3kmSJEmSJElSpSpb\nU/n888+nsbGR2bNnd7utq6uLp556ii984QvMnj2b008/naVLl/L++++zdetWIGj0/vznP+fqq6/m\n05/+NJ/4xCdoamrilVde4fnnnwdg//797NixgyVLljB58mSmTJnCkiVL6Ojo4PXXXwdgx44dHDhw\ngKamJj7xiU8wffp0rr76ajZv3pxpYG/dupVjx45x/fXXM3HiRGbPns2VV16Z11T+6U9/ysc//nH+\n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\nzz4ce+yxjB07NjqVDPDOO+8wbdo03njjDQ444ACOP/74uKYywLJly3j44YdZu3Yt7dq14zvf+Q7H\nHXdc3DF///vfKSsr4/3336dz586cddZZ0Snk0NNPP81jjz1GdXU13bt357zzzqNPnz5xx8yePZtn\nnnmGjz/+mCOOOIILL7yQrl277tF9JUmSJEmSJEnZJCVNZUmSJEmSJElSbmqZ7gVIkiRJkiRJkrKH\nTWVJkiRJkiRJUsJsKkuSJEmSJEmSEmZTWZIkSZIkSZKUsFbpXkCue+qpp6ioqKC6uppu3bpx/vnn\n06dPn3QvS8pajz76KIsXL+a9995jn3324YgjjuCcc86hS5cuccfNmjWLuXPnsnXrVnr16sWFF15I\n165d07RqKTfMmTOHSCTCSSedxPnnnx/9vPUm7bkPP/yQmTNnsnTpUj777DMOPvhgLr74Ynr27Bk9\nxlqT9tz27duZNWsWL7zwAps2beLAAw9kxIgRnH766bRo0SJ6nPUm7Zply5ZRUVHB6tWrqa6u5sor\nr2TIkCFxx+ysrj7//HP+93//lxdeeIHPPvuM/v37M27cONq1a9fc/xwpozVVb1988QWRSIR//OMf\nvP/+++y3337079+fc845hwMPPDB6G8moNyeVU2jRokU8/PDDnH766UyePJk+ffpwyy23sHHjxnQv\nTcpay5cv58QTT+Tmm2/m2muv5YsvvuDmm2/m008/jR4zZ84cnnjiCS688EImTpxImzZtuPHGG/nk\nk0/SuHIpu73xxhs888wzdO/ePe4/3dabtOc+/vhjrrvuOvbee2+uueYapk6dyrnnnsv+++8fPcZa\nk5Lj0UcfZe7cuYwbN4477riDc845hz/96U88+eST0WOsN2nXffbZZxx66KFceOGFAHG/L0JidfXb\n3/6WJUuWMH78+Oh1t956Kzt27GjWf4uU6Zqqt08//ZS3336bkpISbrvtNq688krWr1/PbbfdFncb\nyag3m8op9PjjjzNq1ChGjRpFly5dOP/882nfvj1PP/10upcmZa1rrrmGESNG0LVrVw455BAuueQS\nNm7cyOrVqwGoqanhiSee4Hvf+x5Dhw6lW7duXHrppXz22WcsXLgwzauXstMnn3zC3XffzcUXX8wB\nBxwQ/bz1JiXHY489RocOHfjRj37EYYcdRocOHTjqqKM46KCDAGtNSqY333yTIUOGMGjQIDp06MDR\nRx9N//79eeuttwDrTdpd//Ef/8GYMWMYOnRovesSqatt27bx3HPPce6553LUUUfRo0cPLrvsMt55\n5x1effXV5v7nSBmtqXrbb7/9uPbaazn66KM5+OCD6dWrFxdccAFvvfUW//rXv4Dk1ZtN5RTZvn07\nq1evZuDAgXGfHzhwIKtWrUrTqqTcs23bNoBoo2vDhg1s2rSJAQMGRI9p1aoVffv2ZeXKlWlZo5Tt\nHnzwQYqKijjqqKOoqamJft56k5LjpZdeomfPnkyZMoUf/vCH/PznP2fu3LnR6601KXmKiop49dVX\nWb9+PQBvv/02K1euZPDgwYD1JqVCInX11ltv8cUXX8T1UA488EC6detm7Ul7aOvWrQDRs+CSVW9m\nKqfI5s2b2bFjB23atIn7fOvWramurk7TqqTcUlNTw29/+1v69OkTzeIK66tt27Zxx7Zp08boGWk3\nvPDCC6xZs4aJEycC8adWWW9ScmzYsIGnn36ab3/723zve9/jjTfe4KGHHqJVq1aMGDHCWpOS6Pjj\nj+eDDz7g8ssvp2XLluzYsYPS0lKGDRsG+NompUIidVVdXU2rVq3Yb7/94o5p27YtmzZtap6FSjno\ns88+4/e//z3HHnss++67L5C8erOpLClrTZs2jbVr1/I///M/CR1fN9dLUtM2btzIb3/7W6677jpa\ntQp+ZaipqYmbVm6M9SYlbseOHRx++OGcddZZAPTo0YN3332Xv/71r4wYMaLJr7XWpF3zxBNPMG/e\nPH7605/SrVs3Vq9ezcMPPxzdsK8p1puUfNaVlDrbt2/njjvuAGDcuHFJv32byinSunVrWrZsWa/D\nH+4wLGnPTJ8+naqqKm644Ya43UnDd7+rq6vj3gnftGlTvXfGJTXtrbfeYvPmzfz85z+Pfm7Hjh0s\nX76cp556KvoLivUm7Zl27dpFz7gJFRYW8uKLLwK+tknJ9Oijj1JSUhKdTO7WrRsbN25kzpw5jBgx\nwnqTUiCRumrbti3bt29n27ZtcdOT1dXVHHHEEc27YCkHbN++nalTp7Jx40Z++ctfRqeUIXn1ZqZy\nirRq1YqePXuydOnSuM+/8sorPiFKe6CmpoZp06axZMkSfvnLX9KxY8e46zt16kTbtm155ZVXop/b\nvn07y5Yts/akXTRgwAB+9atfMXnyZCZPnsxtt91Gz549OfbYY5k8ebL1JiVJ7969ee+99+I+9957\n70Vf46w1KXlqampo2TL+v8EtWrSInoVjvUnJl0hd9ezZk7322iuuh/LRRx/x7rvv0rt372Zfs5TN\nwoby+++/z3XXXRe32Tokr972mjBhwoRkLVrxvvrVr1JWVka7du3Ye++9+eMf/8jy5cv50Y9+VC+3\nRFJipk2bxgsvvMD48eM58MAD+eSTT/jkk09o2bIle+21Fy1atGDHjh3MmTOHLl268MUXXzBjxgyq\nq6v5z//8z+gp/JJ2rlWrVrRu3Tr6p02bNixcuJBOnTrxzW9+03qTkqRDhw7Mnj2bvfbaiwMPPJB/\n/OMfzJ49mzFjxtC9e3drTUqi9evX89xzz9GlSxf22msvXnvtNf7whz8wfPhw+vfvb71Ju+mTTz5h\n7dq1VFdX88wzz3D44Yezzz77sH37dvbff/+d1tXee+/NRx99xF/+8hd69OjB1q1b+c1vfsN+++3H\nOeecY0yGFKOpevvKV77ClClTWL16NVdccQX77LNPtG/SqlUrWrZsmbR6a1GTSDCidtvTTz/NY489\nRnV1Nd27d+e8886jT58+6V6WlLXGjBnT4OcvueSSuBy82bNn88wzz/Dxxx9zxBFHcOGFF9Y7tVjS\nrrvhhhvo0aMH5513XvRz1pu056qqqvj973/P+vXrOeiggzj11FMZNWpU3DHWmrTnPvnkE2bNmsWL\nL74YjSYcPnw4JSUl7LXXXtHjrDdp17z22msN7nUzYsQILrnkEmDndbV9+3ZmzJjBCy+8wGeffUb/\n/v0ZN25cXNyhpKbr7YwzzuDSSy9t8Ouuv/56+vXrBySn3mwqS5IkSZIkSZISZqayJEmSJEmSJClh\nNpUlSZIkSZIkSQmzqSxJkiRJkiRJSphNZUmSJEmSJElSwmwqS5IkSZIkSZISZlNZkiRJkiRJkpQw\nm8qSJEmSJEmSpITZVJYkSZIkSZIkJcymsiRJkiRJkiQpYTaVJUmSJEmSJEkJs6ksSZIkSZIkSUqY\nTWVJkiRJkiRJUsJsKkuSJEmSJEmSEmZTWZIkSZIkSZKUMJvKkiRJkiRJkqSE2VSWJEmSJEmSJCXM\nprIkSZIkSZIkKWE2lSVJkiRJkiRJCbOpLEmSJEmSJElKmE1lSZIkSZIkSVLCbCpLkiRJkiRJkhJm\nU1mSJEmSJEmSlDCbypIkSZIkSZKkhNlUliRJkiRJkiQlzKayJEmSJEmSJClhNpUlSZIkSZIkSQmz\nqSxJkiRJkiRJSphNZUmSJEmSJElSwmwqS5IkSZIkSZISZlNZkiRJkiRJkpQwm8qSJEmSJEmSpITZ\nVJYkSZIkSZIkJcymsiRJkiRJkiQpYTaVJUmSJEmSJEkJs6ksSZIkSZIkSUqYTWVJkiRJkiRJUsJs\nKkuSJEmSJEmSEmZTWZIkSZIkSZKUMJvKkiRJkiRJkqSE2VSWJEmSJEmSJCXMprIkSZIkSZIkKWE2\nlSVJkiRJkiRJCbOpLEmSJEmSJElKmE1lSZIkSZIkSVLCbCpLkiRJkiRJkhJmU1mSJEmSJEmSlDCb\nypIkSZIkSZKkhNlUliRJkiRJkiQlzKayJEmSJEmSJClhNpUlSZIkSZIkSQmzqSxJkiRJkiRJSphN\nZUmSJEmSJElSwmwqS5IkSZIkSZISZlNZkiRJkiRJkpQwm8qSJEmSJEmSpITZVJYkSZIkSZIkJcym\nsiRJkiRJkiQpYTaVJUmSJEmSJEkJs6ksSZIkSZIkSUqYTWVJkiRJkiRJUsJapXsBknbN559/zrp1\n6/joo4/SvRRJkiRJkvbYgQceSGFhIXvvvXe6lyIpQS1qampq0r0ISYn5/PPPeeWVV+jUqRNt27al\nZUtPNpAkSZIkZa8dO3ZQXV3Nhg0bGDBggI1lKUvYVJayyNtvv81ee+1Fu3bt0r0USZIkSZKS5sMP\nP+SLL76gR48e6V6KpAQ45ihlkY8++oi2bdumexmSJEmSJCVV27ZtjXmUsohNZSnLGHkhSZIkSco1\n/l9Xyi5WrCRJkiRJkiQpYTaVJUmSJEmSJEkJs6ksSZIkSZIkSUqYTWVJaVdQUJDQn4ULF6Z7qQl5\n7rnnGDVqFJ06deKQQw7h4osv5oMPPkj3svbYhx9+yHnnncehhx5KQUEBpaWl6V5STlmzZg2nn346\n3bt3p6CggKuvvjrdS1Ke8bk4vz311FPccsstDV5XUFDAFVdc0cwrSo/169dz88038+qrryb1dgsK\nCpg4cWJSb1ON8/ksv/l8FkjV85kkhVqlewGSUmevWbP44swzM/62n3vuuejlmpoaJk2axIIFC/jz\nn/8cd1zv3r2T8v1SacGCBZx22mmcdNJJXHfddXzwwQdcd911nHrqqSxYsIB99tkn3UvcbZMmTeLx\nxx/nvvvuo2fPnhx44IHpXlJO+fnPf85LL73Efffdx0EHHUTnzp3TvSQlySN7zeL0L1LzXJzM2/e5\nOL899dRT/OY3v+Gaa65p8PoWLVo084rSY/369dx6660ceuih9O/fP2m3+9xzz1FYWJi020unWXP2\n4szvfpHRt+3zWX7z+SyQquczSQrZVJZyWKvy8pQ1lZN521/72tfiPm7fvj0tWrSo9/m6/v3vf/PV\nr341KWtIlmuvvZYjjjiC3/3ud9Hdiw855BCOO+44ZsyYwbhx49K8wt23bNkyevbsyZk7+bl/8cUX\nfPHFF/4nZxctX76cIUOGcMoppzR53Oeff07Lli3Za6+9mmll2lN/bFWe0qZysm7f52LlS6MlETU1\nNUm9vZ3VUTYpf6xVyprKybptn8/k81mtZD+fSVLI+AtJWeHEE09k6NChLFy4kNGjR9OpUycuueQS\nAMrLyykuLubwww+nY8eOFBUVcf3117Nt27Z6t7NkyRLOOOMMunfvTocOHRgwYAA///nP44554403\n+MEPfsChhx5K+/btKSoq4oEHHtjpGt977z2qqqooLS2N/tIP8PWvf53DDz+cP/3pTwn9W3e2xptv\nvpmCggJeeeUVSktL6dKlC4WFhYwbN46NGzfG3VZBQUGDp//169ePiy++OKH1rFmzhoKCAubNm8eK\nFSviThkNr7vjjjuYNGkSRx55JO3bt2fBggUAVFVVceaZZ0b/Ld/4xjf44x//WO97LF68mOOOO44O\nHTrQq1cvJkyYwEMPPURBQQHvvvvubv173n//fS677DJ69+5Nu3btOOqoo5g4cSJffFH7n9Vw/Xfd\ndRd33303Rx55JJ07d2b06NEsWbKk3vdp6mfzwgsvUFBQwOzZs+t93e9//3sKCgqoqqqqd93zzz9P\nQUEBb731Fk899VT0/n333Xej1/3hD3/gF7/4Bb169aJ9+/a89dZbQDCJdcopp9ClSxc6duzI8ccf\nz7x58+p9j7/85S8cc8wxtG/fnqOOOoq77ror+jiqe1/87ne/q/f1Dd3vidRJuP7Zs2czYcIEevXq\nRZcuXfj2t7/N66+/Xu/7/PWvf+WUU06hsLCQTp06UVRUxK9+9SsAIpEIBQUFLF68uN7XTZw4kQMP\nPJD333+/3nVKrnx5Lr7ooovo3Lkzq1atori4mIMOOojDDz+c22+/HYC//e1vHH/88Rx00EEMGjSI\nsrKy6NeuWbOGNm3aRB+7sRYuXEhBQQGPPvroTtcQ3lZBQQF33nknU6ZMoW/fvnTs2JETTzyRVatW\n8emnn3LttdfSq1cvunbtytlnn13vdSCRn8tFF13Eb37zG2pqauKiAWKff2tqaohEIgwePJhOnTpx\nzDHH8Je//CWhf0eszz77jEmTJjFo0CDat29Pjx49+NGPfhS37rPOOot+/fo12Aj51re+xTe+8Y24\ndT3wwAMcc8wxdOzYkW7dujF27FjefvvtuK8LH7uVlZUcf/zxdOrUif79+zNlypTo93n++ecZMWIE\nABdffHH0fthZbMW8efM48cQT6d69Ox07dqRv376cc845/Pvf/44eU/d5dObMmRQUFPD888/z05/+\nlEMOOYTu3btz9tln889//jPxO1S7zeczn898PmvYrFmzGDVqFJ07d6Zz584MGzaMGTNmxB0zY8YM\njj76aDp06ED37t0pLS1l5cqVccesXr2a8847L/r7a8+ePTn11FON45ByiJPKUq7ato0WmzbR8h//\nSMnNt9i0CbZtg/32S8nt1/t+LVrwz3/+kx/+8IeMHz+eG264IfrL9ZtvvskJJ5zAj3/8Yw444ABW\nrlzJ1KlTeemll+JOc3zmmWc444wz6Nu3L5MmTaJr166sWbOGZ599NnrM8uXLOe644+jevTu33nor\nnTp14plnnuGqq67iX//6F7/4xS8aXeOyZcsAOOqoo+pdd+SRR/Liiy/Gfa5fv360aNGC1157bZfW\nGCotLeX000/nP//zP1m2bBk33ngjK1asYN68ebRqVfv03tCkRosWLRKe4Dj44IN59tlnGT9+PFu2\nbGHatGlAcMrohx9+CMB9991Hr169mDhxIgUFBRx22GHMnz+f0047jaFDh3LnnXfSpk0bZs+ezXnn\nnccnn3zC2WefDQT3+amnnkqPHj24//77+epXv8pvfvMbysrKGl37zv4977//PiNGjKBVq1b84he/\n4NBDD+XFF1/ktttu45133uG+++6L+/oHHniA3r17M3nyZGpqarjxxhs5/fTT+b//+z9at24N7Pxn\n841vfIOBAwfywAMPcMYZZ8Td/v3338/XvvY1Bg8ezMyZM/nRj37E//t//49zzjmHQYMG8eyzz1Ja\nWkrPnj2jTYeDDjqI1atXA3D99dfz9a9/nbvvvpuWLVvSoUMH/vCHP/DDH/6Qb3/72zzwwAO0atWK\n6dOn893vfpc5c+YwcuRIIGg8jxkzhqOPPpqHH36Y7du3c8cdd7Bhw4aE79+6n9/VOrnhhhs45phj\n+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\n",
    632       "text/plain": [
    633        "<matplotlib.figure.Figure at 0x7f72339dd750>"
    634       ]
    635      },
    636      "metadata": {},
    637      "output_type": "display_data"
    638     }
    639    ],
    640    "source": [
    641     "# It is possible to mix in the same plot tracepoints and custom events\n",
    642     "\n",
    643     "# The LinePlot module requires to specify a list of signals to plot.\n",
    644     "# Each signal is defined as:\n",
    645     "#       <event>:<column>\n",
    646     "# where:\n",
    647     "#  <event>   is one of the events collected from the trace by the FTrace object\n",
    648     "#  <column>  is one of the column of the previously defined event\n",
    649     "my_signals = [\n",
    650     "    'cpu_frequency:frequency',\n",
    651     "    'my_math_event:sin',\n",
    652     "    'my_math_event:cos'\n",
    653     "]\n",
    654     "\n",
    655     "# These two paramatere are passed to the LinePlot call as long with the\n",
    656     "# TRAPpy FTrace object\n",
    657     "trappy.LinePlot(\n",
    658     "    ftrace,                      # FTrace object\n",
    659     "    signals=my_signals,          # Signals to be plotted\n",
    660     "    drawstyle='steps-post',      # Plot style options\n",
    661     "    marker = '+'\n",
    662     ").view()"
    663    ]
    664   }
    665  ],
    666  "metadata": {
    667   "kernelspec": {
    668    "display_name": "Python 2",
    669    "language": "python",
    670    "name": "python2"
    671   },
    672   "language_info": {
    673    "codemirror_mode": {
    674     "name": "ipython",
    675     "version": 2
    676    },
    677    "file_extension": ".py",
    678    "mimetype": "text/x-python",
    679    "name": "python",
    680    "nbconvert_exporter": "python",
    681    "pygments_lexer": "ipython2",
    682    "version": "2.7.6"
    683   }
    684  },
    685  "nbformat": 4,
    686  "nbformat_minor": 0
    687 }
    688