GithubHelp home page GithubHelp logo

isabella232 / satt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intel/satt

0.0 0.0 0.0 619 KB

License: Other

Python 18.09% Shell 1.14% Makefile 0.10% C 6.76% C++ 61.63% Assembly 0.09% Objective-C 0.03% HTML 1.85% JavaScript 9.63% CSS 0.67%

satt's Introduction

SATT Software Analyze Trace Tool

Experimental Linux SW tool to trace, process and analyze full stack SW traces utilizing Intel HW tracing block Intel PT (Intel Processor Trace).

alt text

Overview

SATT allows to trace Linux based OSes running in X86 which has Intel PT tracing block. Intel PT feature needs to be enabled in HW.

Currently it is possible to trace full SW stack from the Linux based system E.g. Android or Ubuntu linux.

Tracing does not need any additional HW, but Intel PT trace is collected in to RAM. In addition to HW instruction trace data, SATT collects needed info from running kernel, e.g. scheduling and memory map information needed to generate execution flow. Post-processing will generate function flow with timing and instruction count of each thread.

Web based UI will allow to study execution in function level from All CPU's, Processes, Threads and modules.

License

  • SATT kernel module under GNU General Public License version 2.
  • Rest of the SATT tool is licensed under Apache License, Version 2.0.

Dependencies

Needed libraries to build and use SATT

packages:

  build-essential scons libelf-dev python-pip git binutils-dev autoconf libtool libiberty-dev zlib1g-dev python-dev (python-virtualenv) postgresql-9.x libpq-dev

Install SATT

Install needed dependencies

Ubuntu 16.04 tracing PC example:

sudo apt install build-essential scons libelf-dev python-pip git binutils-dev autoconf libtool libiberty-dev zlib1g-dev python-dev python-virtualenv postgresql-9.5 libpq-dev

Clone or Download SATT tool

git clone https://github.com/01org/satt.git

Install

./bin/satt install --ui

Installer will ask sudo access rights when needed

  • Adds the satt command to to path
  • Adds the satt to bash completion (sudo)
  • Download and compile disassembler (Capstone)
  • Compile SATT parser
  • Install python virtual-env under /bin/env folder
  • Install needed python packaged to virtual-env

When --ui flag used

  • Adds satt user for postgres db (sudo)
  • Adds satt db for postgres db (sudo)

Build UI

satt devel build-ui

Usage

Simple instructions how to use SATT

Configure

satt config

Build SATT kernel module

satt build

Tracing

NOTE: sudo needed in case tracing local machine

satt trace

Process the traces

NOTE: sudo needed in case processing trace taken from local machine

satt process <given-trace-name>

Import & Launch UI

satt visualize <given-trace-name>

Disclimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

satt's People

Contributors

akoski1 avatar codernavi18 avatar storola avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.