StressPilot
Step 1 of 2

Sign in to StressPilot

Connect an application, find the load it breaks at, and get the change that fixes it.

Continue with GitHub
or

Guests can analyse public repositories only. Sign in with GitHub to connect private ones.

© 2026 StressPilot
Search endpoints, runs, scenarios⌘K

Application health

No application

Concurrent users vs response time

P95 latencyP50 latency

Error rate during stress test

Latest stress test

Slowest endpoints at the breaking point

P95 during the first failing stage

What the sandbox saw

peak values during the run
Next: Diagnose (M4)
Diagnosis will connect these symptoms to the code that causes them and propose a fix.

Applications

Every repository you have connected, with what its most recent discovery found.

ApplicationStackLast discoveryEndpointsWorkflowsDB operationsStatus

Test an application

Paste a GitHub link. StressPilot reads the code to find every endpoint and user journey, then generates the virtual users that will test it.

Repository

required
Accepts a full URL, an SSH remote, or owner/repo. That does not look like a GitHub repository.
Why the source code?
Reading the code lets StressPilot find every endpoint, including ones no crawler reaches, and later trace a slow endpoint to the handler or query behind it.
Discovery is static. No requests are sent to your application.

What happens next

  1. Clone: a shallow copy of the default branch goes into an isolated workspace.
  2. Detect stack: framework, database, ORM, auth library and Docker setup.
  3. Extract endpoints: every route with its handler, auth requirement and database calls.
  4. Infer journeys: endpoints become named user workflows and weighted virtual-user scenarios you can edit.

Supported frameworks

PythonFastAPI · Flask · Django
Node.jsExpress · Fastify · NestJS · Next.js
AnyOpenAPI / Swagger file

Application map

Run discovery on a repository to see its map.

Primary user workflow

EntryNext workflow stepStatic load risk

Discovered resources

Stack

Endpoints

0
MethodPathAuthDB opsHandler

Automatically generated scenarios

0 profiles
Traffic weights total 100%. Every scenario is editable before load is applied.

Scenarios

Virtual-user profiles generated from the application's code. Select a scenario to inspect its step sequence, think times and assertions.

Autonomous user scenarios

click a row to inspect steps
ScenarioTraffic %ActionsRequests/sessionAvg durationStatus

Request mix across all scenarios

Scenario health

from the last completed run
No stress runs yetPer-scenario completion rates are not tracked yet. See Test runs for stage results.

Test setup

Where the virtual users send traffic, how they sign in, and the tests generated from your scenarios.

Target

where load is sent

How virtual users sign in

inferred from the code · editable
e.g. user sends {"user": {...}}
{n} becomes 1, 2, 3… per virtual user

Functional checks

every endpoint once, then auth enforcement

Generated load test

Locust

Safety

Sandbox CPU / memory2 CPUs · 2 GB per container
Sandbox networkpublished on 127.0.0.1 only
Remote URLsownership check required
Deletesonly records the test created

Configure stress test

How hard to push, for how long, and what counts as breaking.

Load profile

stepped ramp
VU
s
×

Think time scales the pauses between steps: 1× is realistic human pacing, 0.5× packs twice the requests into each virtual user. A laptop can usually drive a few hundred virtual users.

Traffic distribution

Breaking-point budgets

a stage passes only if it stays inside both
ms
%
%

Slow responses count against the P95 budget; errors are HTTP 4xx/5xx and connection failures. Auto-abort stops the run when errors pass the limit, or P95 passes 15 s, for three samples in a row.

Run summary

Baseline for comparison

Stress test

Users0
Requests/sec0
P95 (rolling)—
Errors0%
App CPU—sandbox only
App memory—
DB connections—Postgres only

Live load

virtual users over time

P95 latency

Error rate

Event feed

Stages

StageUsersP95Errreq/s

Slowest endpoints

P95, last completed stage

Top errors

None so far.

Test runs

Every stress test for this application, newest first.

RunStartedDurationPeak usersMax stableP95 at peakErrorsResult

Bottlenecks

What limited capacity in the latest stress run, traced to the code.

Root cause

View on GitHub

Repairs

Fixes generated from the diagnosis. Tick the ones to apply, then replay the same workload against the patched code.

Repair verification

Stress test report

Observability

Infrastructure signals StressPilot reads while a test runs. These are the series that root-cause analysis correlates against request latency.

Last 30 min
Sample data
This page is built in a later milestone. The numbers below are illustrative, not from your application.
API pods8all ready
CPU72%rising
Memory68%5.4 GB
DB connections91%146 / 160
Event loop lag88msthreshold 100 ms
Queue depth412report-worker

CPU & memory

mean across 8 pods
CPUMemory

Database connections

active of 160
pool limit

Worker heap

report-worker · not released between stages
Leak suspected

Network egress

Feed disconnected
No samples since 10:31 The metrics agent on ingest-2 stopped reporting 4 minutes ago. Latency and error data are unaffected — only egress counters are missing from this window.

Hosts

12 instances
HostRoleCPUMemoryConnectionsUptimeStatus
api-7f4c-01API pod74%69%20/206d 04hPool full
api-7f4c-02API pod71%67%20/206d 04hPool full
api-7f4c-03API pod69%64%19/206d 04hReady
db-primary-aPostgres 1646%58%160/50034d 11hReady
db-replica-bPostgres 1618%41%22/50034d 11hReady
worker-3a9e-01Report worker52%88%4/202d 09hHeap growth
ingest-2Metrics agent————Unreachable

Settings

Workspace configuration for HealthSync. Changes apply to every application in this workspace unless noted.

Environments

where tests are allowed to run
EnvironmentBase URLMax virtual usersApproval required
Productionhttps://api.healthsync.io10,000Two reviewers
Staginghttps://staging.healthsync.io25,000None
Localhttp://localhost:8080500None

Safety limits

auto-abort thresholds
% for 60s
s
VU

Integrations

GitHub
company/healthsync · read + pull requests
Connected
Slack
#platform-alerts · run results and critical bottlenecks
Connected
Datadog
metric forwarding · stresspilot.* namespace
Connected
PagerDuty
not configured — critical bottlenecks stay in-app
Not connected

Team & access

4 members
MemberRoleCan run production testsLast active
priyanshu@healthsync.io
you
OwnerYesnow
sre-oncall@healthsync.ioAdminYes22 min ago
backend@healthsync.ioEngineerApproval needed3 hours ago
qa@healthsync.ioViewerNoyesterday

Danger zone

Delete HealthSync API
Removes the application, its 1,204 stored runs, every report and all scenario definitions. Reports already shared by link stop resolving. This cannot be undone.