Skip to content

shivanshanand/FlowLoad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Project Overview

This project is an early-stage load testing system designed to automatically discover real user flows using a browser engine and replay them as concurrent load.

⚠️ Project Status
The backend core is under active development.
The frontend UI and database are not implemented yet and are documented as planned components.

The long-term goal is to move beyond synthetic load testing by using real navigation and form interaction flows as the foundation for realistic traffic generation.


Current Implementation Status

✅ In Progress

  • Core backend services in Golang
  • Test run lifecycle and orchestration logic
  • Browser-based flow detection (Playwright – WIP)
  • Load generation engine (worker-based concurrency – WIP)

🚧 Planned (Not Implemented Yet)

  • Frontend dashboard (React + Tailwind)
  • Persistent storage (PostgreSQL)
  • Metrics aggregation and reporting
  • Authentication and multi-user support

MVP Execution Flow (Planned Runtime Design)

This section describes the intended runtime behavior once all components are implemented.

Step-by-step Flow

  1. User enters a target URL and desired user count
  2. Control API creates a test_run
  3. Test Orchestrator starts execution
  4. Browser Engine:
    • Crawls application pages
    • Detects navigation and form flows
    • Records executable user steps
  5. Load Engine:
    • Replays detected flows
    • Generates concurrent traffic
  6. Metrics are aggregated
  7. Results are stored
  8. Frontend polls and visualizes results

MVP System Architecture (High Level – Planned)

The diagram below represents the intended system architecture, not the current deployment state.

Developer │ ▼ Web Dashboard (React) [PLANNED] │ POST /run-test ▼ Control API (Go) [IN PROGRESS] │ ▼ Test Orchestrator (Go) [IN PROGRESS] │ ├──▶ Browser Engine [WIP] │ (Playwright) │ ├──▶ Load Engine [WIP] │ (Go workers) │ └──▶ Metrics Collector [PLANNED] │ ▼ PostgreSQL [PLANNED]


Detailed Component Responsibilities

Frontend UI (Planned)

Tech: React + Tailwind

  • URL input
  • User count selection
  • Start test trigger
  • Test history and results view

Control API (In Progress)

Tech: Golang (REST)

  • Create and manage test runs
  • Fetch test state and results
  • Trigger orchestrator execution
  • Authentication (planned)

Test Orchestrator (In Progress)

Tech: Golang (Core Logic)

  • Central state machine
  • Test run lifecycle management
  • Timeout and retry handling
  • Resource and concurrency limits

Browser Engine (Work In Progress)

Tech: Playwright

  • Crawl application pages
  • Detect links and forms
  • Record reproducible user flows

Load Engine (Work In Progress)

Tech: Golang Workers

  • Replay detected flows
  • Generate concurrent HTTP traffic
  • Support ramp-up strategies

Metrics & Events (Planned)

  • Latency tracking
  • Error and failure aggregation
  • Event-based reporting

Database (Planned)

Tech: PostgreSQL

  • test_runs
  • steps
  • metrics_summary

Notes

This repository currently focuses on backend architecture and execution logic.
UI, persistence, and analytics will be added incrementally as the system stabilizes.

Contributions and architectural discussions are welcome.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors