Home | History | Annotate | only in /external/bart
Up to higher level directory
NameDateSize
.travis.yml21-Aug-2018673
bart/21-Aug-2018
docs/21-Aug-2018
LICENSE21-Aug-201811.1K
MODULE_LICENSE_APACHE221-Aug-20180
NOTICE21-Aug-201811.1K
README.md21-Aug-20183.6K
setup.cfg21-Aug-201860
setup.py21-Aug-20182.2K
tests/21-Aug-2018

README.md

      1 BART [![Build Status](https://travis-ci.org/ARM-software/bart.svg?branch=master)](https://travis-ci.org/ARM-software/bart) [![Version](https://img.shields.io/pypi/v/bart-py.svg)](https://pypi.python.org/pypi/bart-py)
      2 ====
      3 
      4 The Behavioural Analysis and Regression Toolkit is based on
      5 [TRAPpy](https://github.com/ARM-software/trappy). The primary goal is to assert
      6 behaviours using the FTrace output from the kernel.
      7 
      8 ## Target Audience
      9 
     10 The framework is designed to cater to a wide range of audience. Aiding
     11 developers as well as automating the testing of "difficult to test" behaviours.
     12 
     13 #### Kernel Developers
     14 
     15 Making sure that the code that you are writing is doing the right thing.
     16 
     17 #### Performance Engineers
     18 
     19 Plotting/Asserting performance behaviours between different revisions of the
     20 kernel.
     21 
     22 #### Quality Assurance/Release Engineers
     23 
     24 Verifying behaviours when different components/patches are integrated.
     25 
     26 # Installation
     27 
     28 The following instructions are for Ubuntu 14.04 LTS but they should
     29 also work with Debian jessie.  Older versions of Ubuntu or Debian
     30 (e.g. Ubuntu 12.04 or Debian wheezy) will likely require to install
     31 more packages from pip as the ones present in Ubuntu 12.04 or Debian
     32 wheezy will probably be too old.
     33 
     34 ## Required dependencies
     35 
     36 #### Install additional tools required for some tests and functionalities
     37 
     38     $ sudo apt install trace-cmd kernelshark
     39 
     40 #### Install the Python package manager
     41 
     42     $ sudo apt install python-pip python-dev
     43 
     44 #### Install required python packages
     45 
     46     $ sudo apt install libfreetype6-dev libpng12-dev python-nose
     47     $ sudo pip install numpy matplotlib pandas ipython[all]
     48     $ sudo pip install --upgrade trappy
     49 
     50 `ipython[all]` will install [IPython
     51 Notebook](http://ipython.org/notebook.html), a web based interactive
     52 python programming interface.  It is required if you plan to use interactive
     53 plotting in BART.
     54 
     55 #### Install BART
     56 
     57     $ sudo pip install --upgrade bart-py
     58 
     59 # For developers
     60 
     61 Instead of installing TRAPpy and BART using `pip` you should clone the repositories:
     62 
     63     $ git clone git (a] github.com:ARM-software/bart.git
     64     $ git clone git (a] github.com:ARM-software/trappy.git
     65 
     66 Add the directories to your PYTHONPATH
     67 
     68     $ export PYTHONPATH=$BASE_DIR/bart:$BASE_DIR/trappy:$PYTHONPATH
     69 
     70 
     71 # Trace Analysis Language
     72 
     73 BART also provides a generic Trace Analysis Language, which allows the user to
     74 construct complex relation statements on trace data and assert their expected
     75 behaviours. The usage of the Analyzer module can be seen for the thermal
     76 behaviours
     77 [here](https://github.com/ARM-software/bart/blob/master/docs/notebooks/thermal/Thermal.ipynb)
     78 
     79 # Scheduler Assertions
     80 
     81 Enables assertion and the calculation of the following parameters:
     82 
     83 #### Runtime
     84 
     85 The total time that the task spent on a CPU executing.
     86 
     87 #### Switch
     88 
     89 Assert that a task switched between CPUs/Clusters in a given window of time.
     90 
     91 #### Duty Cycle
     92 
     93 The ratio of the execution time to the total time.
     94 
     95 #### Period
     96 
     97 The average difference between two switch-in or two switch-out events of a
     98 task.
     99 
    100 #### First CPU
    101 
    102 The first CPU that a task ran on.
    103 
    104 #### Residency
    105 
    106 Calculate and assert the total residency of a task on a CPU or cluster.
    107 
    108 #### Examples
    109 
    110 The Scheduler assertions also use TRAPpy's EventPlot to provide a `kernelshark`
    111 like timeline for the tasks under consideration. (in IPython notebooks).
    112 
    113 A notebook explaining the usage of the framework for asserting the deadline
    114 scheduler behaviours can be seen
    115 [here](https://rawgit.com/sinkap/0abbcc4918eb228b8887/raw/a1b4d6e0079f4ea0368d595d335bc340616501ff/SchedDeadline.html).
    116 
    117 # API reference
    118 
    119 The API reference can be found in https://pythonhosted.org/bart-py
    120