blaze-performance-tester
v3.1.61
Published
A high-performance, multi-threaded load testing engine built with Rust and QuickJS.
Readme
🔥 Blaze Performance Tester Blaze is an ultra-high-performance, lightweight load testing engine powered by a native Rust core integration (NAPI-RS). It is architected to simulate massive parallel virtual user (VU) traffic concurrently while tracking script latencies, system throughput capacities, and error frequencies in real-time.
🛠️ Prerequisites Because Blaze leverages a pre-compiled native core engine for bare-metal execution performance, your system must satisfy the following baseline parameters:
Runtime Environment Node.js: v18.0.0 or higher (Node v20+ or v24+ recommended for peak ES Module stability).
Operating System Dependencies (For Loading Pre-compiled Binaries) 💡 No Rust Required: End-users do not need to install Rust, Cargo, or any compilation toolchains. Blaze ships with pre-built system binaries inside the NPM bundle. However, your host OS needs standard runtime compatibility libraries to interface with the binary layer:
Windows: Requires the standard Microsoft Visual C++ Redistributable installed (pre-installed on almost all developer setups, or packaged alongside Git/VS Code).
macOS: Native architecture compatibility (Intel/Apple Silicon M-series). Ensure Xcode Command Line Tools are active (xcode-select --install).
Linux: Requires glibc 2.28 or higher (standard on Ubuntu 20.04+, Debian 10+, Fedora, and CentOS).
- File System Permissions Blaze generates performance reporting assets on-disk at the end of each session. Ensure your terminal session has active write permissions inside your current active testing directory.
📦 Installation & Execution Philosophy You do not need to clone this repository, configure build configs, or install dependencies locally. Blaze utilizes a fully on-demand delivery layout via npx to keep your workspace pristine.
📝 Step 1: Create a Workload Test Script Blaze targets modular test scripts to evaluate target endpoint resilience. Create a test directory and save the following workload layout as tests/test-script.ts (or use a standard .js extension):
TypeScript // tests/test-script.ts
export default async function workload() { // Define the exact request workflow you want to load-test here const response = await fetch('https://api.example.com/v1/health');
if (!response.ok) {
throw new Error(Target endpoint returned unhealthy status code: ${response.status});
}
}
💡 Design Constraint: Your script file must export a single default asynchronous function block. The underlying native Blaze runtime hooks directly into this entry point to distribute it across concurrent worker execution threads.
🏃 Step 2: Execute the Performance Test Suite Trigger the core runner directly out of your execution context terminal layout by supplying your test script path, virtual user target count, and your benchmarking time window.
Command Execution Syntax Bash npx [email protected] Execution Example To launch 10 concurrent virtual user threads pounding your target workload continuously for an execution duration window of 5 seconds, run this exact command inside your terminal:
DOS C:\perf>npx blaze-performance-tester@latest tests/test-script.ts 10 5 📊 Analytics & Telemetry Engine Upon wrapping up its concurrency window, Blaze automatically maps, calculates, and dumps a dual-layered architectural metrics profile straight into your working path.
- Tabular Terminal Summary (JMeter CLI Layout) Blaze generates a strict, highly detailed performance grid directly into your active console screen for instant feedback:
Plaintext 🔥 [Blaze] Injecting load tests using Blaze metrics aggregation engine...
💻 ======================================== JMETER-STYLE SUMMARY REPORT ======================================== Label | # Samples | Average (ms) | Min (ms) | Max (ms) | 90% Line | 95% Line | 99% Line | Error % | Throughput | Received KB/sec -------------|-----------|--------------|----------|----------|----------|----------|----------|---------|------------|---------------- test-script | 1250 | 42.6 | 14.2 | 184.1 | 54.2 | 78.5 | 142.1 | 0.00% | 248.5/sec | 1043.70 KB/s -------------|-----------|--------------|----------|----------|----------|----------|----------|---------|------------|---------------- Total | 1250 | 42.6 | 14.2 | 184.1 | 54.2 | 78.5 | 142.1 | 0.00% | 248.5/sec | 1043.70 KB/s
Test Execution Finished. Elapsed time: 5.03s | Target VUs: 10 2. Beautiful HTML Interactive Dashboard Alongside the console logs, a fully styled, portable, dark-mode data visualization dashboard file is generated on-disk: 📁 Location: ./blaze-html-report.html
AI Mode (Agentic AI)
📑 Blaze Performance TesterAn ultra-high-performance, native C++ accelerated performance engineering framework with built-in Intelligent Autonomous Agent Mode. Blaze lets you design script-based load configurations, profile core infrastructure capacity boundaries safely, and automatically generate telemetry dashboards.
🚀 Getting Started
You can invoke the runner globally without installing dependencies directly from npm.Standard Fixed-Workload Command PatternTo spin up a rigid, predefined benchmark wave, pass your metrics targets as standard CLI flags:
npx blaze-performance-tester@latest tests/test-script.ts --threads 50 --duration 5 --target-error 0.02
🧠 Agentic AI Mode (Autonomous Performance Engineering)Don’t know your system limits? Just define your SLA parameters and let the AI agent discover your infrastructure breaking points safely.
npx blaze-performance-tester@latest tests/test-script.ts --agentic 100 250 2.0
📊 Analytics & Automated Reporting Every run automatically generates a self-contained, interactive blaze-dashboard.html visualization suite.
Features Includes:
💀 AI Stress-Testing Agent Verdict: A visual diagnostic block summarizing the exact nature of system constraints (e.g., infrastructure saturation vs direct SLA latency/error guardrail breaches) alongside detailed logs of each evaluated test wave.
📈 Dual-Axis Telemetry Tracking: Real-time visual tracking mapping throughput ($req/sec$) directly alongside corresponding $P_{95}$ latency metrics scaling over your execution timeline.
📋 JMeter-Style Matrix Log: Detailed breakdown charts outputting comprehensive metrics matrices (Samples, Average Latency, $P_{95}$ Latency, Error Rates, Apdex Scores) across every incremental concurrency level tested.
