v4.0.0 β "The Headless Horseman"
Welcome to MicroChaosβa precision-built WP-CLI load testing tool forged in the fires of real-world WordPress hosting constraints.
When external load testing tools are blocked, when rate limits make your bots cry, and when SSH feels like a locked door... MicroChaos lets you stress test like a ninja from the inside.
Built for staging environments like Pressable, MicroChaos simulates traffic at scaleβwarm or cold cache, anonymous or authenticated, fast bursts or slow burns.
No known bugs at this time.
- π Run realistic load tests inside WordPress with zero external traffic
- π§ Simulate logged-in users, WooCommerce flows, REST endpoints, and custom paths
- π§° Profile caching, resource usage, and performance regressions from the CLI
- π¦ Built for staging, QA, support engineers, TAMs, and performance-hungry devs
v4.0.0 brings first-class headless WordPress support for testing GraphQL endpoints.
--graphqlshorthand - Sets method=POST and endpoint=/graphql automatically--user-agentflag - Custom User-Agent for Pressable headless apps- GraphQL error detection - Automatically detects errors in 200 OK responses
- Comprehensive guide - Full workflow for headless WordPress capacity planning
Per-request GraphQL error reporting:
-> 200 in 0.45s [GQL errors: 1]
Summary with GraphQL error tracking:
Success: 95 | HTTP Errors: 0 | GraphQL Errors: 5 | Error Rate: 5%
Because testing a headless site without proper load testing is like Ichabod Crane riding through Sleepy Hollow without a lantern. MicroChaos is your lantern.
v3.0.0 is a radical simplification. We removed features that didn't work reliably on Pressable (parallel testing, progressive mode) and focused on what actually delivers value:
- 52% smaller codebase - Removed 2,590 lines of non-functional code
- Single command -
wp microchaos loadtestdoes everything - Serial execution optimized - Works perfectly within Pressable's loopback rate limits
- Execution Metrics - Every test now reports:
- Requests per second (RPS) achieved
- Capacity projections (hourly/daily/monthly)
- Test timestamps (human-readable + ISO 8601)
- Total duration with formatted display
- 100% type hints - All public methods have PHP 8.2+ type declarations
- Testable architecture - Logger interface enables unit testing without WordPress
- 61 unit tests - Core components tested in 14ms without WordPress runtime
- Clean separation - Thin CLI wrapper (63 lines) + LoadTestOrchestrator (656 lines)
These features were removed because they don't work on Pressable due to loopback rate limiting:
- β
wp microchaos parallel- Parallel test execution - β
wp microchaos progressive- Progressive load testing - β
--concurrencyflag - True concurrent requests
If you need these features, use an external load testing tool (k6, Artillery, etc.) that can hit your site from outside.
- Copy the file
microchaos-cli.phpfrom thedistdirectory towp-content/mu-plugins/on your site. - Make sure WP-CLI is available in your environment.
- You're ready to chaos!
MicroChaos is built specifically for Pressable and similar managed WordPress hosts where loopback requests are rate-limited (~10 concurrent max). The tool uses serial execution which works perfectly within these constraints.
The --burst flag controls how many sequential requests fire before pausing (via --delay). This is NOT concurrencyβit's throughput control.
Choosing burst values:
| Site Speed | Recommended Burst | Reasoning |
|---|---|---|
| Fast (<100ms) | 200-500 | High throughput, quick completion |
| Medium (100-500ms) | 50-200 | Balance throughput vs duration |
| Slow (>500ms) | 20-50 | Avoid duration overshoot |
--duration=X), the current burst always completes before the test stops. A 1-minute test with --burst=500 on a slow site (1s per request) could run 8+ minutes. Start conservative, scale up.
For capacity planning, always combine these three:
--resource-logging --resource-trends --cache-headers- resource-logging: Memory/CPU per burst (are we hitting limits?)
- resource-trends: Memory over time (detecting leaks)
- cache-headers: Pressable cache behavior (x-ac, x-nananana)
This is how MicroChaos is actually used for Pressable capacity audits.
Establish how the site performs under known conditions:
wp microchaos loadtest --endpoint=home --duration=5 --burst=50 \
--warm-cache --resource-logging --cache-headers \
--save-baseline=initialWhat you're measuring: Warm cache response times, baseline memory usage, cache hit rates.
Simulate realistic traffic over time to find degradation:
wp microchaos loadtest --endpoint=home --duration=10 --burst=100 \
--resource-logging --resource-trends --cache-headersWhat you're looking for:
- Does RPS stay stable or decline?
- Does memory climb (leak) or stay flat?
- What's the cache HIT/MISS ratio under load?
Test realistic user flows across the site:
wp microchaos loadtest --endpoints=home,shop,cart,checkout \
--duration=10 --burst=100 --rotation-mode=serial \
--resource-logging --resource-trends --cache-headersWhy this matters: Single-endpoint tests miss bottlenecks. Real users hit multiple paths, triggering different code, queries, and cache patterns.
Throughput: 4.74 RPS
Capacity: 17,064/hour | 409,536/day | 12.3M/month
Decision logic:
- Compare achieved RPS to traffic requirements
- If target is 10 RPS and you hit 4.7 RPS β need optimization or scaling
- Capacity projections show monthly headroom
Memory Trend: β12.3% over test duration
Pattern: Moderate growth
| Trend | Meaning | Action |
|---|---|---|
| Flat (Β±5%) | Stable, safe for sustained load | β Good to go |
| Climbing (5-15%) | Possible leak or buffer growth | |
| Steep climb (>15%) | Memory leak, will eventually crash | π¨ Fix before scaling |
Edge Cache (x-ac): HIT 20% | STALE 50% | UPDATING 30%
Batcache (x-nananana): HIT 40% | MISS 60%
| Pattern | Meaning | Action |
|---|---|---|
| High HIT % | Cache working well | β Efficient |
| High STALE % | Cache invalidating too often | Check invalidation logic |
| High MISS % | Database getting hammered | Review caching strategy |
# Warm cache baseline
wp microchaos loadtest --endpoint=home --duration=5 --burst=50 \
--warm-cache --resource-logging --cache-headers --save-baseline=warm
# Cold cache comparison (worst case)
wp microchaos loadtest --endpoint=home --duration=5 --burst=50 \
--flush-between --resource-logging --cache-headers --compare-baseline=warmLook for: Big gap between warm/cold = cache is critical. Small gap = cache isn't helping much.
# Start conservative
wp microchaos loadtest --endpoint=home --duration=5 --burst=50 \
--resource-logging --auto-thresholds
# Scale up incrementally
wp microchaos loadtest --endpoint=home --duration=10 --burst=100 \
--resource-logging --use-thresholds=default
wp microchaos loadtest --endpoint=home --duration=10 --burst=200 \
--resource-logging --use-thresholds=defaultFind the breaking point: Where does RPS plateau? Where does memory peak? That's your capacity ceiling.
# Test checkout as authenticated user
wp microchaos loadtest --endpoint=checkout --duration=10 --burst=50 \
--auth=customer@example.com \
--resource-logging --resource-trends --cache-headers --save-baseline=checkout
# Compare to homepage (same auth)
wp microchaos loadtest --endpoint=home --duration=10 --burst=50 \
--auth=customer@example.com \
--resource-logging --compare-baseline=checkoutLook for: Checkout 5-10x slower than home = WooCommerce overhead, plugin hooks, or external API calls.
"A headless site without load testing is like Ichabod Crane without a lanternβstumbling through Sleepy Hollow hoping the horseman doesn't catch you."
MicroChaos v4.0.0 adds first-class support for headless WordPress load testing via GraphQL. This guide walks you through testing decoupled architectures where a frontend (Next.js, Nuxt, Gatsby, etc.) consumes WordPress data via WPGraphQL.
Before running headless load tests, ensure:
| Requirement | How to Verify |
|---|---|
| WPGraphQL installed | wp plugin list | grep wp-graphql or visit /graphql in browser |
| MicroChaos deployed | wp microchaos --help returns command info |
| Test content exists | Posts, pages, productsβwhatever your frontend queries |
| SSH access | You're running MicroChaos from inside WordPress via WP-CLI |
For Pressable headless sites:
- Custom User-Agent is required (format:
your-app-name/1.0) - Use the standard
/graphqlendpoint (rate limit exception exists)
Before load testing, confirm the endpoint responds correctly:
# Single request sanity check
wp microchaos loadtest --graphql \
--body='{"query":"{ __typename }"}' \
--count=1Expected: HTTP 200, no GraphQL errors. If you see [GQL errors: 1], your query has issues.
Test your actual frontend queries under controlled conditions:
# Test your real query with resource monitoring
wp microchaos loadtest --graphql \
--body='{"query":"{ posts(first: 10) { nodes { id title slug content featuredImage { node { sourceUrl } } } } }"}' \
--user-agent=my-frontend/1.0 \
--count=50 --cache-headers --resource-logging \
--save-baseline=posts-queryWhat you're measuring:
- Response times for your actual query complexity
- Memory usage on WordPress backend
- Cache behavior (POST = BYPASS, GET = cacheable)
Simulate real frontend traffic patterns:
# 10-minute sustained load test
wp microchaos loadtest --graphql \
--body='{"query":"{ posts(first: 10) { nodes { id title slug } } }"}' \
--user-agent=my-frontend/1.0 \
--duration=10 --burst=20 \
--resource-logging --resource-trends --cache-headersWhat you're looking for:
- Does RPS stay stable or decline over time?
- Does memory climb (potential leak) or stay flat?
- Are GraphQL errors appearing under load?
Many headless setups use JWT tokens for authenticated GraphQL queries. Here's the workflow:
Using WPGraphQL JWT Authentication plugin:
# Get token via mutation (run this manually first)
curl -X POST https://your-site.com/graphql \
-H "Content-Type: application/json" \
-d '{"query":"mutation { login(input: {username: \"admin\", password: \"password\"}) { authToken refreshToken } }"}'Response:
{"data":{"login":{"authToken":"eyJ0eXAi...","refreshToken":"..."}}}wp microchaos loadtest --graphql \
--body='{"query":"{ viewer { name email } }"}' \
--header="Authorization=Bearer eyJ0eXAi..." \
--user-agent=my-frontend/1.0 \
--count=50Note: JWT tokens expire. For long-duration tests, use a fresh token or test unauthenticated queries.
wp microchaos loadtest --graphql \
--body='{"query":"{ posts(first: 10) { nodes { id title slug excerpt date } } }"}' \
--user-agent=blog-frontend/1.0 \
--count=100 --cache-headerswp microchaos loadtest --graphql \
--body='{"query":"{ products(first: 20) { nodes { id name slug ... on SimpleProduct { price regularPrice } image { sourceUrl } } } }"}' \
--user-agent=shop-frontend/1.0 \
--count=100 --resource-loggingwp microchaos loadtest --graphql \
--body='{"query":"{ posts(first: 5) { nodes { id title author { node { name posts(first: 3) { nodes { title } } } } categories { nodes { name posts(first: 3) { nodes { title } } } } } } }"}' \
--user-agent=complex-frontend/1.0 \
--count=50 --resource-logging --resource-trendsWarning: Deeply nested queries can be expensive. Watch memory usage carefully.
| Metric | Good | Warning | Critical |
|---|---|---|---|
| Response Time | <200ms | 200-500ms | >500ms |
| GraphQL Errors | 0 | 1-5% | >5% |
| Memory Growth | Flat (Β±5%) | 5-15% climb | >15% climb |
| Cache HITs (GET) | >80% | 50-80% | <50% |
| Symptom | Likely Cause | Action |
|---|---|---|
[GQL errors: N] appearing |
Query syntax issue or schema mismatch | Fix query before load testing |
| Response times climbing over duration | Memory pressure or connection pooling | Check --resource-trends output |
| 100% BYPASS on all requests | Using POST (expected) or cache misconfigured | Use GET for cacheable queries |
| Memory growing >20% over test | Potential memory leak in resolver | Profile WPGraphQL resolvers |
POST requests (default with --graphql):
- Always bypass Pressable Edge Cache
- Every request hits PHP/WordPress
- Use for: mutations, authenticated queries, cache-busting tests
GET requests (with --method=GET):
- Can be cached by Edge Cache (with WPGraphQL Smart Cache)
- Cache HITs are ~30ms vs ~450ms uncached
- Use for: public queries, production traffic simulation
# Test cache effectiveness with GET
wp microchaos loadtest --graphql --method=GET \
--body='{"query":"{ posts { nodes { title } } }"}' \
--count=50 --cache-headersLook for: First few requests MISS, then HITs. If all MISS, Smart Cache may not be configured.
- User-Agent Required: Pressable headless apps need a custom UA for rate limit exceptions
- Standard
/graphqlPath: Non-standard paths may be rate limited - Edge Cache for GET: Works with WPGraphQL Smart Cache plugin
- Loopback Limits: MicroChaos uses serial requests (~10 concurrent max)
# Full Pressable headless test with all the trimmings
wp microchaos loadtest --graphql \
--body='{"query":"{ posts(first: 10) { nodes { title slug } } }"}' \
--user-agent=my-nextjs-app/1.0 \
--duration=5 --burst=50 \
--resource-logging --resource-trends --cache-headers \
--save-baseline=headless-baselineMicroChaos features a modular component-based architecture with clean separation of concerns:
microchaos/
βββ bootstrap.php # Component loader (v3.0.0)
βββ core/
βββ interfaces/
β βββ logger.php # Logger interface (testability)
β βββ baseline-storage.php # Storage abstraction
βββ logging/
β βββ wp-cli-logger.php # Production logger
β βββ null-logger.php # Test logger
βββ storage/
β βββ transient-baseline-storage.php
βββ orchestrators/
β βββ loadtest-orchestrator.php # Test execution (656 lines)
βββ commands.php # Thin WP-CLI wrapper (63 lines)
βββ log.php # Static logger facade
βββ constants.php # Centralized constants
βββ authentication-manager.php # Auth utilities (8 static methods)
βββ request-generator.php # HTTP request management
βββ cache-analyzer.php # Cache header analysis
βββ resource-monitor.php # System resource tracking
βββ reporting-engine.php # Results and reporting
βββ integration-logger.php # External monitoring
βββ thresholds.php # Thresholds and visualization
Key Design Decisions:
- Thin CLI wrapper:
commands.phpis just 63 lines - all logic lives inLoadTestOrchestrator - Interface-based logging: Swap
WP_CLI_LoggerforNull_Loggerin tests - 100% type hints: All public methods have PHP 8.2+ type declarations
- 61 unit tests: Pure PHP components tested without WordPress runtime
MicroChaos uses a build system that compiles the modular version into a single-file distribution:
build.js # Node.js build script
dist/ # Generated distribution files
βββ microchaos-cli.php # Compiled single-file version (~123 KB)
If you've made changes to the modular components and want to rebuild the single-file version:
# Make sure you have Node.js installed
node build.jsThis will generate a fresh single-file version in the dist/ directory, ready for distribution. The build script:
- Extracts all component classes
- Combines them into a single file
- Maintains proper WP-CLI registration
- Preserves backward compatibility
Note: Always develop in the modular version, then build for distribution. The single-file version is generated automatically and should not be edited directly.
- Decide the real-world traffic scenario you need to test (e.g., 20 concurrent hits sustained, or a daily average of 30 hits/second at peak).
- Run the loopback test with at least 2-3x those numbers to see if resource usage climbs to a point of concern.
- Watch server-level metrics (PHP error logs, memory usage, CPU load) to see if you're hitting resource ceilings.
wp microchaos loadtest --endpoint=home --count=100Or go wild:
wp microchaos loadtest --endpoint=checkout --count=50 --auth=admin@example.com --cache-headers --resource-loggingwp microchaos loadtestRun a load test with various options
--endpoint=<slug>home, shop, cart, checkout, or custom:/my-path--endpoints=<endpoint-list>Comma-separated list of endpoints to rotate through--count=<n>Total requests to send (default: 100)--duration=<minutes>Run test for specified duration instead of fixed request count--burst=<n>Requests per burst (default: 10)--delay=<seconds>Delay between bursts (default: 2)
--method=<method>HTTP method to use (GET, POST, PUT, DELETE, etc.)--body=<data>POST/PUT body (string, JSON, or file:path.json)--auth=<email>Run as a specific logged-in user--multi-auth=<email1,email2>Rotate across multiple users--cookie=<name=value>Set custom cookie(s), comma-separated for multiple--header=<name=value>Set custom HTTP headers, comma-separated for multiple--user-agent=<string>Custom User-Agent header (required for Pressable headless apps)--graphqlShorthand for GraphQL testing (sets method=POST, endpoint=/graphql)
--warm-cachePrime the cache before testing--flush-betweenFlush cache before each burst--log-to=<relative path>Log results to file under wp-content/--rotation-mode=<mode>Control endpoint rotation (serial, random)--rampupGradually increase burst size to simulate organic load
--resource-loggingPrint memory and CPU usage during test--resource-trendsTrack and analyze resource usage trends over time to detect memory leaks--cache-headersParse Pressable-specific cache headers (x-ac, x-nananana) and summarize cache behavior--save-baseline=<n>Save results as a baseline for future comparisons--compare-baseline=<n>Compare results with a saved baseline--monitoring-integrationEnable external monitoring integration via PHP error log--monitoring-test-id=<id>Specify custom test ID for monitoring integration
--auto-thresholdsAutomatically calibrate thresholds based on test results--auto-thresholds-profile=<name>Profile name to save calibrated thresholds (default: 'default')--use-thresholds=<profile>Use previously saved thresholds for reporting
Load test the homepage with cache warmup and log output
wp microchaos loadtest --endpoint=home --count=100 --warm-cache --log-to=uploads/home-log.txtTest multiple endpoints with random rotation
wp microchaos loadtest --endpoints=home,shop,cart,checkout --count=100 --rotation-mode=randomAdd custom cookies to break caching
wp microchaos loadtest --endpoint=home --count=50 --cookie="session_id=123,test_variation=B"Add custom HTTP headers to requests
wp microchaos loadtest --endpoint=home --count=50 --header="X-Test=true,Authorization=Bearer token123"Simulate real users hitting checkout
wp microchaos loadtest --endpoint=checkout --count=25 --auth=admin@example.comHit a REST API endpoint with JSON from file
wp microchaos loadtest --endpoint=custom:/wp-json/api/v1/orders --method=POST --body=file:data/orders.jsonRamp-up traffic slowly over time
wp microchaos loadtest --endpoint=shop --count=100 --rampupSave test results as a baseline for future comparison
wp microchaos loadtest --endpoint=home --count=100 --save-baseline=homepageCompare with previously saved baseline
wp microchaos loadtest --endpoint=home --count=100 --compare-baseline=homepageRun a test for a specific duration instead of request count
wp microchaos loadtest --endpoint=home --duration=5 --burst=15 --resource-loggingRun a test with trend analysis to detect potential memory leaks
wp microchaos loadtest --endpoint=home --duration=10 --resource-logging --resource-trendsAuto-calibrate thresholds based on the site's current performance
wp microchaos loadtest --endpoint=home --count=50 --auto-thresholdsRun a test with previously calibrated thresholds
wp microchaos loadtest --endpoint=home --count=100 --use-thresholds=homepageRun test with monitoring integration enabled for external metrics collection
wp microchaos loadtest --endpoint=home --count=50 --monitoring-integrationAnalyze Pressable's cache behavior with detailed per-request and summary reporting
wp microchaos loadtest --endpoint=home --count=50 --cache-headers --warm-cacheExample per-request output:
-> 200 in 0.032s [x-ac: 3.dca_atomic_dca STALE] [x-nananana: MISS]
-> 200 in 0.024s [x-ac: 3.dca_atomic_dca UPDATING] [x-nananana: HIT]
Example cache summary:
π¦ Pressable Cache Header Summary:
π Edge Cache (x-ac):
3.dca_atomic_dca STALE: 25 (50.0%)
3.dca_atomic_dca UPDATING: 15 (30.0%)
3.dca_atomic_dca HIT: 10 (20.0%)
π¦ Batcache (x-nananana):
MISS: 30 (60.0%)
HIT: 20 (40.0%)
Quick examples for headless WordPress testing. See the full Headless WordPress Testing Guide for complete workflows, JWT authentication, and best practices.
# Basic GraphQL test
wp microchaos loadtest --graphql --body='{"query":"{ posts { nodes { title } } }"}' --count=100
# With User-Agent (required for Pressable headless)
wp microchaos loadtest --graphql \
--body='{"query":"{ posts { nodes { title } } }"}' \
--user-agent=my-frontend/1.0 \
--count=50 --cache-headers
# Cacheable GET query
wp microchaos loadtest --graphql --method=GET --count=50 --cache-headersGraphQL errors are automatically detectedβeven in HTTP 200 responses:
-> 200 in 0.45s [GQL errors: 1]
Success: 0 | HTTP Errors: 0 | GraphQL Errors: 3 | Error Rate: 100%
-> 200 in 0.0296s [EDGE_UPDATING] x-ac:3.dca_atomic_dca UPDATING
-> 200 in 0.0303s [EDGE_STALE] x-ac:3.dca _atomic_dca STALEEach request is timestamped, status-coded, cache-labeled, and readable at a glance.
π Load Test Summary:
Total Requests: 10
Success: 10 | Errors: 0 | Error Rate: 0%
Avg Time: 0.0331s | Median: 0.0296s
Fastest: 0.0278s | Slowest: 0.0567s
Response Time Distribution:
0.03s - 0.04s [ββββββββββββββββββββββββββββββ] 8
0.04s - 0.05s [βββββ] 1
0.05s - 0.06s [βββββ] 1π Resource Utilization Summary:
Memory Usage: Avg: 118.34 MB, Median: 118.34 MB, Min: 96.45 MB, Max: 127.89 MB
Peak Memory: Avg: 118.76 MB, Median: 118.76 MB, Min: 102.32 MB, Max: 129.15 MB
CPU Time (User): Avg: 1.01s, Median: 1.01s, Min: 0.65s, Max: 1.45s
CPU Time (System): Avg: 0.33s, Median: 0.33s, Min: 0.12s, Max: 0.54s
Memory Usage (MB):
Memory [ββββββββββββββββββββββββββββββββ] 118.34
Peak [ββββββββββββββββββββββββββββββββββββ] 118.76
MaxMem [ββββββββββββββββββββββββββββββββββββββββββββββ] 127.89
MaxPeak [βββββββββββββββββββββββββββββββββββββββββββββββ] 129.15π Resource Trend Analysis:
Data Points: 25 over 120.45 seconds
Memory Usage: β12.3% over test duration
Pattern: Moderate growth
Peak Memory: β8.7% over test duration
Pattern: Stabilizing
Memory Usage Trend (MB over time):
127.5 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
124.2 β β’β’β’---------β
121.8 β β’β’----β’ β
119.5 β β’---- β
117.1 β β’β’-----β’ β
114.8 β β’β’--β’ β
112.4 β β’β’---β’ β
110.1 β β’--β’ β
107.8 β β’---β’ β
105.4 β β’β’β’--β’ β
103.1 β-β’ β
10.0 ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
0.1 30.1 60.2 90.2π¦ Pressable Cache Header Summary:
π Edge Cache (x-ac):
3.dca_atomic_dca STALE: 3 (30.0%)
3.dca_atomic_dca UPDATING: 7 (70.0%)
π¦ Batcache (x-nananana):
MISS: 6 (60.0%)
HIT: 4 (40.0%)
β² Average Cache Age: 42.5 secondsParsed and summarized directly from Pressable-specific HTTP response headersβno deep instrumentation required.
π Load Test Summary:
Total Requests: 10
Success: 10 | Errors: 0 | Error Rate: 0%
Avg Time: 0.0254s | Median: 0.0238s
Fastest: 0.0212s | Slowest: 0.0387s
Comparison to Baseline:
- Avg: β23.5% vs 0.0331s
- Median: β19.6% vs 0.0296sTrack performance improvements or regressions across changes.
"Improvisation > Perfection. Paradox is fuel."
Test sideways. Wear lab goggles. Hit the endpoints like they owe you money and answers.
- β‘ Internal-only, real-world load generation
- 𧬠Built for performance discovery and observability
- π€ Friendly for TAMs, support engineers, and even devs ;)
MicroChaos now supports GraphQL endpoint testing for headless WordPress:
- β
--graphqlshorthand - Sets method=POST and endpoint=/graphql automatically - β
--user-agentflag - Custom User-Agent required for Pressable headless apps - β
Override support - Combine with
--method=GETfor cacheable queries - β Documented Pressable behavior - POST=BYPASS, GET=cacheable
- β
GraphQL error detection - Automatically detect and report
errorsin GraphQL responses
- Advanced visualizations - Interactive charts for test results
- Custom test templates - Pre-configured plans for e-commerce, membership sites, etc.
- Query complexity metrics - Track resolver performance
Built by Phill in a caffeine-fueled, chaos-aligned, performance-obsessed dev haze.
βΈ»
"If you stare at a site load test long enough, the site load test starts to stare back." β Ancient Pressable Proverb
This project is licensed under the GPLv3 License.