Giter Site home page Giter Site logo

gesalous / perfspect Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intel/perfspect

0.0 0.0 0.0 854 KB

System performance characterization tool based on linux perf

Home Page: https://intel.github.io/PerfSpect/

License: BSD 3-Clause "New" or "Revised" License

Python 66.50% C 0.63% Makefile 1.76% HTML 31.12%

perfspect's Introduction

PerfSpect is a system performance characterization tool built on top of linux perf. It contains two parts:

perf-collect: Collects hardware events at a 5 second output interval with practically zero overhead since PMU's run in counting mode.

  • Collection mode:
    • sudo ./perf-collect default system wide
    • sudo ./perf-collect --socket
    • sudo ./perf-collect --cpu
    • sudo ./perf-collect --pid <process-id>
    • sudo ./perf-collect --cid by default, selects the 5 containers using the most CPU at start of perf-collect. To monitor specific containers provide up to 5 comma separated cids i.e. <cid_1>,<cid_2>
  • Duration:
    • sudo ./perf-collect default run until terminated
    • sudo ./perf-collect --timeout 10 run for 10 seconds
    • sudo ./perf-collect --app "myapp.sh myparameter" runs for duration of another process

perf-postprocess: Calculates high level metrics from hardware events

  • ./perf-postprocess

Quick start (requires perf installed)

wget -qO- https://github.com/intel/PerfSpect/releases/latest/download/perfspect.tgz | tar xvz
cd perfspect
sudo ./perf-collect --timeout 10
./perf-postprocess

Output

perf-collect outputs:

  1. perfstat.csv: raw event counts with system metadata

perf-postprocess outputs:

  1. metric_out.sys.average.csv: average metrics
  2. metric_out.sys.csv: metric values at every 5 second interval
  3. metric_out.html: html view of a few select metrics

basic_stats

Deploy in Kubernetes

Modify the template deamonset.yml to deploy in kubernetes

Requirements

perf - PerfSpect uses the Linux perf tool to collect PMU counters

Different events require different minimum kernels (PerfSpect will automatically collect only supported events)

  1. Base (CPU util, CPI, Cache misses, etc.)
    • 3.10
  2. Uncore (NUMA traffic, DRAM traffic, etc.)
    • 4.9
  3. TMA (Micro-architecture boundness breakdown)
    • ICX, SPR: 5.10
    • BDX, SKX, CLX: 3.10

Build from source

Requires recent python. On successful build, binaries will be created in dist folder

pip3 install -r requirements.txt
make

Note: Most metrics and events come from perfmon and TMA v4.5

perfspect's People

Contributors

karanrk avatar hilldani avatar harp-intel avatar swanandmhalagi avatar hsane2001 avatar ashrafmahgoub avatar faqeerurrehmanintel avatar nadyaten avatar amblakem avatar colinianking avatar aaamogol 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.