@loadstrike/loadstrike-sdk
v1.0.23601
Published
TypeScript and JavaScript SDK for in-process load execution, traffic correlation, and reporting.
Maintainers
Readme
LoadStrike SDK for TypeScript and JavaScript
LoadStrike is a developer-first load testing SDK for Node.js applications, services, and test suites. Use it when you want to model real transactions in code, execute them in-process, and capture structured results without moving into a separate runner or DSL.
What This SDK Is For
- Author scenario-based load tests in TypeScript or JavaScript.
- Generate safe starter scenarios from captured HAR, OpenTelemetry trace JSON, browser recordings, or message pairs with Trace-to-test Autopilot.
- Exercise HTTP and event-driven workflows across multiple steps.
- Apply load simulations, thresholds, and custom metrics to real transactions.
- Generate local reports and, on Business and Enterprise, publish observability data to supported sinks.
Built-in transport coverage includes HTTP, Kafka, RabbitMQ, NATS, Redis Streams, Azure Event Hubs, Push Diffusion, and delegate-based custom streams. Local report output supports HTML, Markdown, TXT, and CSV, and Business and Enterprise can publish to InfluxDB, TimescaleDB, Grafana Loki, Datadog, Splunk HEC, and OpenTelemetry Collector.
Requirements
- Node.js 20 or later
Install
npm install @loadstrike/loadstrike-sdkQuick Start
import {
LoadStrikeResponse,
LoadStrikeRunner,
LoadStrikeScenario,
LoadStrikeSimulation,
LoadStrikeStep,
} from "@loadstrike/loadstrike-sdk";
const scenario = LoadStrikeScenario
.create("orders", async (context) => {
return LoadStrikeStep.run(
"publish-order",
context,
async () => LoadStrikeResponse.ok("200")
);
})
.withLoadSimulations(
LoadStrikeSimulation.inject(10, 1, 20)
);
const result = await LoadStrikeRunner
.registerScenarios(scenario)
.withRunnerKey("rkl_your_runner_key")
.run();run() returns the detailed run result, including generated report files, scenario statistics, metrics, and sink status.
Trace-To-Test Autopilot
Use await LoadStrikeAutopilot.generate(...) to infer a starter plan from a captured artifact. Set Options.RunnerKey so generation can validate the Trace-To-Test Autopilot entitlement. Check result.Readiness and result.ReadinessFailures first; call result.buildScenario() only when it is LoadStrikeAutopilotReadiness.Ready, then execute the scenario through the normal runner with a valid RunnerKey.
Use SecretBindings to map redaction locations such as header:Authorization or body:$.client_secret to environment variables, TrackingSelector when the selector cannot be inferred, and EndpointBindings, AllowedReplayHosts, or BaseUrlRewrite when a replay target must be bound. Secret values are resolved when the generated scenario runs; they are not written into the generated plan. Any gate satisfied by user setup is omitted from ReadinessFailures.
Runner Keys
Runnable workloads require a RunnerKey. Supply it with .withRunnerKey(...) or through your application configuration before calling run().
Documentation
- Product documentation: https://loadstrike.com/documentation
