A simple tool to analyze CI failures for the SGLang project. This tool fetches recent CI run data from GitHub Actions and provides detailed analysis of failure patterns.
> **Note**: This README.md is primarily generated by Claude 4 with some manual adjustments.
A comprehensive toolkit to analyze CI failures and performance trends for the SGLang project. This toolkit includes two main tools:
1.**CI Analyzer** (`ci_analyzer.py`): Analyzes CI failures and provides detailed failure pattern analysis
2.**Performance Analyzer** (`ci_analyzer_perf.py`): Tracks performance metrics over time and generates trend charts
## Features
### CI Analyzer (`ci_analyzer.py`)
-**Simple Analysis**: Analyze recent CI runs and identify failure patterns
-**Category Classification**: Automatically categorize failures by type (unit-test, performance, etc.)
-**Pattern Recognition**: Identify common failure patterns (timeouts, build failures, etc.)
-**CI Links**: Direct links to recent failed CI runs for detailed investigation
-**Last Success Tracking**: Track the last successful run for each failed job with PR information
-**JSON Export**: Export detailed analysis data to JSON format
-**Automated Monitoring**: GitHub Actions workflow for continuous CI monitoring
### Performance Analyzer (`ci_analyzer_perf.py`)
-**Performance Tracking**: Monitor performance metrics across CI runs over time
-**Automated Chart Generation**: Generate time-series charts for each performance metric
-**Multi-Test Support**: Track performance for all test types (throughput, latency, accuracy)
-**CSV Export**: Export performance data in structured CSV format
-**Trend Analysis**: Visualize performance trends with interactive charts
-**Comprehensive Metrics**: Track output throughput, E2E latency, TTFT, accept length, and more
### Common Features
-**Automated Monitoring**: GitHub Actions workflow for continuous CI and performance monitoring
## Installation
### For CI Analyzer
No additional dependencies required beyond Python standard library and `requests`:
```bash
pip install requests
```
### For Performance Analyzer
Additional dependencies required for chart generation:
```bash
pip install requests matplotlib pandas
```
## Usage
### Basic Usage
### CI Analyzer
#### Basic Usage
```bash
# Replace YOUR_GITHUB_TOKEN with your actual token from https://github.com/settings/tokens