Skip to main content

🦈 LLMShark

Comprehensive analysis tool for LLM streaming traffic from PCAP files

Python 3.10+ License: MIT Code style: black Ruff

LLMShark is a powerful tool for analyzing Large Language Model (LLM) streaming traffic captured in PCAP files. It provides in-depth analysis of HTTP/SSE (Server-Sent Events) streaming sessions, extracting detailed timing statistics, detecting anomalies, and generating comprehensive reports.

✨ Features

🔍 Deep Analysis

  • Time to First Token (TTFT) analysis
  • Inter-Token Latency (ITL) measurement and statistics
  • HTTP session reconstruction from PCAP files
  • SSE chunk parsing and timing analysis
  • Throughput and performance metrics

🚨 Anomaly Detection

  • Large timing gaps detection
  • Silence period identification
  • Statistical outlier detection
  • Pattern anomaly recognition
  • Configurable thresholds

📊 Comparison & Reporting

  • Multi-capture comparison analysis
  • Performance ranking and scoring
  • Statistical significance testing
  • HTML and JSON report generation
  • Interactive visualizations (optional)

🎨 Beautiful CLI

  • Rich terminal interface with colors and progress bars
  • Multiple output formats (console, JSON, HTML)
  • Batch processing capabilities
  • Verbose and quiet modes

🚀 Installation

From PyPI (Recommended)

pip install llmshark

From Source

git clone https://github.com/llmshark/llmshark.git
cd llmshark
pip install -e .

Development Installation

git clone https://github.com/llmshark/llmshark.git
cd llmshark
pip install -e ".[dev]"

With Visualization Support

pip install "llmshark[viz]"

📋 Requirements

  • Python 3.10 or higher
  • Wireshark PCAP files containing HTTP/SSE traffic
  • Root privileges may be required for live packet capture

Dependencies

  • Core: scapy, pydantic, rich, typer, numpy, pandas, scipy
  • Visualization: matplotlib, seaborn, plotly (optional)
  • Development: pytest, black, ruff, mypy (optional)

🎯 Quick Start

Basic Analysis

# Analyze a single PCAP file
llmshark analyze capture.pcap

# Analyze multiple files with detailed output
llmshark analyze *.pcap --verbose

# Save results to files
llmshark analyze capture.pcap --output-dir ./results --format all

Comparison Analysis

# Compare multiple captures
llmshark analyze session1.pcap session2.pcap --compare

# Batch process directory
llmshark batch ./pcap_files/ --output-dir ./analysis_results

Quick File Information

# Get PCAP file information without full analysis
llmshark info capture.pcap

📖 Usage Examples

Single File Analysis

llmshark analyze llm_session.pcap --output-dir ./results --format html

Multi-File Comparison

llmshark analyze before_optimization.pcap after_optimization.pcap \
  --compare --output-dir ./comparison --verbose

Batch Processing

llmshark batch ./captures/ --output-dir ./analysis \
  --recursive --pattern "*.pcap"

Custom Configuration

llmshark analyze capture.pcap \
  --detect-anomalies \
  --format json \
  --output-dir ./results \
  --verbose

🏗️ Architecture

LLMShark is built with modern Python practices and consists of several key components:

llmshark/
├── models.py          # Pydantic data models
├── parser.py          # PCAP parsing and session extraction
├── analyzer.py        # Statistical analysis and anomaly detection
├── comparator.py      # Multi-capture comparison logic
├── visualization.py   # Charts and HTML report generation
└── cli.py            # Command-line interface

Key Models

  • StreamSession: Complete HTTP streaming session
  • StreamChunk: Individual SSE data chunk
  • TimingStats: Comprehensive timing statistics
  • AnalysisResult: Complete analysis results
  • ComparisonReport: Multi-capture comparison results

📊 Analysis Metrics

Timing Metrics

  • TTFT (Time to First Token): Time from request to first response chunk
  • ITL (Inter-Token Latency): Time between consecutive tokens
  • Mean, Median, P95, P99: Statistical distributions
  • Throughput: Tokens per second, bytes per second

Quality Metrics

  • Consistency: Variance and coefficient of variation
  • Reliability: Gap detection and silence periods
  • Performance: Comparative scoring across sessions

Anomaly Detection

  • Large Gaps: Configurable threshold for timing gaps
  • Silence Periods: Detection of inactive periods
  • Statistical Outliers: Z-score based outlier detection
  • Pattern Analysis: Unusual behavior identification

🔧 Configuration

Environment Variables

export LLMSHARK_LOG_LEVEL=INFO
export LLMSHARK_OUTPUT_DIR=./results
export LLMSHARK_ANOMALY_THRESHOLD=3.0

Command Line Options

llmshark analyze --help

📈 Output Formats

Console Output

Rich terminal interface with:

  • Summary statistics tables
  • Performance insights
  • Anomaly warnings
  • Recommendations

JSON Output

{
  "session_count": 5,
  "total_tokens_analyzed": 1250,
  "overall_timing_stats": {
    "ttft_ms": 245.6,
    "mean_itl_ms": 67.8,
    "p95_itl_ms": 124.5
  },
  "key_insights": [...],
  "recommendations": [...]
}

HTML Reports

  • Interactive charts and graphs
  • Detailed session breakdowns
  • Comparison tables
  • Exportable results

🧪 Testing

Run the test suite:

# Run all tests
pytest

# Run with coverage
pytest --cov=llmshark

# Run only unit tests
pytest -m unit

# Run only integration tests
pytest -m integration

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

git clone https://github.com/llmshark/llmshark.git
cd llmshark
pip install -e ".[dev]"
pre-commit install

Code Quality

  • Code Formatting: black and ruff
  • Type Checking: mypy
  • Testing: pytest with coverage
  • Pre-commit Hooks: Automated quality checks

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Scapy: For powerful packet analysis capabilities
  • Pydantic: For robust data validation and modeling
  • Rich: For beautiful terminal interfaces
  • Typer: For excellent CLI framework

📚 Documentation

🐛 Bug Reports & Feature Requests

Please use the GitHub Issues page to report bugs or request features.

📊 Performance

LLMShark is designed for efficiency:

  • Streams processing for large PCAP files
  • Memory-efficient chunk processing
  • Parallel analysis capabilities
  • Optimized for Python 3.10+ features

🔮 Roadmap

  • Real-time capture analysis
  • WebUI dashboard
  • Plugin system for custom analyzers
  • Machine learning anomaly detection
  • Distributed analysis capabilities
  • Integration with monitoring systems

Made with ❤️ for the LLM and networking communities

Metadata

Release files for llmshark 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llmshark 0.1.0
File Size Uploaded
llmshark-0.1.0.tar.gz 177.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llmshark 0.1.0
File Interpreter ABI Platform
llmshark-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 231.1 kB

Release files / llmshark-0.1.0.tar.gz

Download URL llmshark-0.1.0.tar.gz
Size 177.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b803583abf4c7df64f0a97b1fe490ce828535a342939c4fd1e95c5f4eb52593a
BLAKE2b-256 checksum
How to use checksums
cdc9d7d6a9ef33ca06cee139a9572e047135f1022e3e953455957be3e5e6e37f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Release files / llmshark-0.1.0-py3-none-any.whl

Download URL llmshark-0.1.0-py3-none-any.whl
Size 53.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a5c3a3338cf24b521c90653cd6b759059d23a4ce9d5bbb056b8617a29f29f15a
BLAKE2b-256 checksum
How to use checksums
901bcdd6c46628cb601645463e7521a27e67ed4a90f490f6af11e4026c85c572
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page