Skip to content

Welcome to Gradual

A comprehensive Python stress testing framework for applications and systems.

What is Gradual?

Gradual is a powerful, extensible stress testing framework designed to help developers and DevOps engineers validate the performance and reliability of their applications under various load conditions. Built with Python, it provides a flexible and intuitive way to create, execute, and analyze stress tests.

Key Features

  • 🚀 High Performance: Built on gevent for efficient concurrency
  • 🔌 Protocol Support: HTTP, WebSocket, and custom protocol support
  • 📊 Real-time Monitoring: Live dashboard with Bokeh visualizations
  • 📈 Comprehensive Metrics: Detailed performance analytics and reporting
  • 🔐 Authentication: Support for Kerberos, NTLM, OAuth, and more
  • 🌐 Distributed Testing: Scale tests across multiple machines
  • 📝 YAML Configuration: Simple, declarative test configuration
  • 🎯 CLI Interface: Easy-to-use command-line tools

Quick Start

# Install Gradual
pip install -e ".[dev,bokeh,websockets]"

# Run a stress test
stress-run --test_config examples/api_test.yaml --request_config examples/requests.yaml

# Start the monitoring dashboard
stress-dashboard --mode bokeh

Architecture Overview

graph TB
    A[Test Configuration] --> B[Configuration Parser]
    B --> C[Orchestrator]
    C --> D[Phase Runner]
    D --> E[Scenario Runner]
    E --> F[Request Execution]

    G[Reporting] --> H[Metrics Collection]
    G --> I[Results Output]

    J[Configuration Files] --> B
    K[YAML Parser] --> B
    L[Validation] --> B

Documentation Sections

Getting Help

  • 📖 Documentation: This site contains comprehensive guides
  • 🐛 Issues: Report bugs on GitHub Issues
  • 💬 Discussions: Join the conversation on GitHub Discussions
  • 📧 Contact: Reach out to the maintainers

License

Gradual is licensed under the MIT License. See the LICENSE file for details.