Towards Scalable Cross-Platform Application Performance Analysis -- Tool Goals and Progress
Naarad : Performance Analysis Tool
-
date post
17-Oct-2014 -
Category
Software
-
view
775 -
download
0
description
Transcript of Naarad : Performance Analysis Tool
NaaradA Performance Analysis Tool
Ritesh Maheshwari, Sharad GandhiPerformance Team @ LinkedIngithub.com/linkedin/naarad
2
Agenda
1. Motivation2. What is Naarad?3. Architecture4. Usage5. Demo6. Extending Naarad7. Next Play
3
4
Environment Setup
Monitoring
Test Kickoff
Metrics Collection
Parse
Grade
Report
Analysis
Performance Analysis
5
Environment Setup
Monitoring
Test Kickoff
Metrics Collection
Parse
Grade
Report
Analysis
NAARAD
6
What is Naarad?
• Naarad is a performance analysis tool– Analyze various metrics– Evaluate rules / SLAs– Visualize Data (plot timeseries, CDF)– Compare (diff)– CLI / Python API
• Open Sourced – http://github.com/linkedin/naarad
7
Fetch & Parse
Run CommandRun Command
DiffReport
NAARAD
Analysis
Visualization
config
GC Logs
System Metrics
inGraphs
…
Workload Logs
Report
Pass or
Fail
8
Fetch & Parse
Run CommandRun Command
DiffReport
NAARAD
Analysis
Visualization
config
Report 2
Report 1
Pass or
Fail
9
Extensible Architecture
metric charting reporting
• Delimited files• GC logs• sar• /proc metrics• RUM logs• Jmeter logs• netstat• cluster
• png (matplotlib)• svg (pygal)• js (dygraphs)
NAARAD
• Jinja2 templates
10
Supports Proprietary Extensions
metric charting reporting
NAARAD
inGraphs HighCharts Custom templates
ProprietaryOpen Source
11
Usage
NAARADPython API
API ClientsContinuous Integration
CLI
12
Extensible Architecture
metric charting reporting
• Delimited files• GC logs• sar• /proc metrics• RUM logs• Jmeter logs• netstat• cluster
• png (matplotlib)• svg (pygal)• js (dygraphs)
NAARAD
• analysis report• diff report• Jinja2 templates
13
Adding New Metricsmetric
collect()
parse()
calc()
calculate_stats()
check_sla()
graph_data()
custom metric
parse()
Fetch Logs
Parse Logs
Derived metrics
Calculate Statistics
Validate SLAs
Plot timeseries, cdf charts
14
$ sar –n DEV 1 3
SAR-dev.eth0.rxpck-per-s.csv SAR-dev.eth0.rxkB-per-s.csv
15
Next Play
• Root Cause Analysis– Anomaly Detection– Metric Correlation– Potential Culprits Stack Ranked
• Pip install