Coder Social home page Coder Social logo

zhenyun / naarad Goto Github PK

View Code? Open in Web Editor NEW

This project forked from linkedinattic/naarad

0.0 1.0 0.0 23.12 MB

Naarad is a highly configurable system analysis tool that parses and plots timeseries data for better visual correlation. Naarad was built to help in performance analysis and investigations.

License: Apache License 2.0

Awk 20.89% Python 70.25% Shell 0.48% CSS 1.08% JavaScript 7.30%

naarad's Introduction

Naarad

What is Naarad?

Naarad is a framework for performance analysis & rating of sharded & stateful services

Why Naarad?

Use-cases:

  • Scalability / Headroom Rating
  • Continuous Integration ( Performance )
  • Performance Investigation

Naarad is a highly configurable system analysis tool that parses and plots timeseries data for better visual correlation. It can be used for performance analysis of your service/application. You collect data for the metrics you want to monitor and:

  • Naarad parses JVM Garbage Collection (GC), System/Network (SAR), Mysql (Innotop), Jmeter (JTL/XML) logs, VMStat, ZoneInfo, and MemInfo
  • Naarad reads other metrics you have pre-processed and written in CSV format
  • Naarad plots the metrics you specify.

The power of Naarad is in its configurablity. You can use it to glance at various metrics and then choose the important metrics to plot to visually correlate the metrics together. An example use-case is when your application's throughput dropped, you want to know if it was because of some GC activity or a spike in CPU usage or disk I/O. Naarad can help you investigate such issue better.

Features

  • Configurable input format, so you can specify which metrics to inspect. GC, SAR and Innotop logs supported currently, with support for more metrics coming in near future.
  • Logs for the supported metrics are parsed by Naarad.
  • Also supports generic metric logs in csv format.
  • Pick 'n Choose which metrics to plot together for visual correlation.
  • Html report with all the plots for a visual inspection of your application's performance profile.
  • Grading support
  • Diff support. Ability to diff two naarad reports. Reports generated with naarad version < 1.0.5 are not supported for diff functionality.

How is it different?

Many tools and frameworks like Zenoss, rrdtool etc have solved the use-case of metric collection, parsing and plotting. Naarad has an overlap in functionality with these tools, but the main advantage of naarad is in its flexibility, which lets it be a powerful tool for performance investigations. Naarad users are performance experts who need to look for 'needle in a haystack'. Naarad was built to support this use-case.

Installation

  1. Check out Naarad code:

     git clone https://github.com/linkedin/naarad.git
    
  2. Make sure you have python (2.6 or 2.7), pip and awk.

  3. Install the necessary Python libraries using PIP.

     cd naarad; pip install -r requirements.txt
    
  4. For problems in installation, check out our troubleshooting wiki

More details

Please check out our wiki page for more details on Naarad's usage, supported metrics etc.

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.