Skip to content
LoadStrike
Portal

Search LoadStrike

GOOD PLACES TO START

LoadStrike

Transaction load testing

Measure API-to-worker completion with LoadStrike transaction load testing. Match shared IDs, inspect timeouts and duplicates, and follow a practical example.

Use case

Measure API-to-worker completion with LoadStrike transaction load testing. Match shared IDs, inspect timeouts and duplicates, and follow a practical example.

Transaction load testing diagram
Explain the transaction-level test model and connect it to LoadStrike docs and examples.
Direct answer

What is transaction load testing?

Transaction load testing measures whether the full business workflow completed under load, not just whether the first request returned quickly. That means the test follows the path across APIs, queues or streams, browser steps, and downstream services until the outcome is actually visible.

LoadStrike is built for that model. It keeps the transaction explicit in code, matches source and destination activity through a shared tracking value, and reports correlated latency, timeouts, duplicates and failures in one self-hosted runtime. Your selected completion event defines the measured boundary.

For an order API, HTTP 202 tells you that a request was accepted. A completion event emitted only after the worker has finished the required business action answers the next question: did the order finish within the target window? LoadStrike lets you test those two boundaries together.

The user problem

You need to know whether the business workflow actually completed under load, not just whether the first request returned.

Why it matters

A fast ingress hop can still hide delayed consumers, failed downstream work, or browser-driven side effects that matter more than the first response time.

Best-fit workloads

Where this workload usually needs transaction visibility

API to queue to worker paths

Track a request from ingress through async processing until completion is visible.

Browser plus backend flows

Keep the page journey and the downstream service path in one measured transaction.

Service graphs with side effects

Follow retries, fan-out, and downstream confirmations without stitching reports later.

Who this is for

Engineering, QA, platform, and performance teams whose real performance question depends on downstream completion instead of ingress latency alone.

Why endpoint-only testing breaks down here

Endpoint-only tests stop too early when the workflow continues into queues, workers, service fan-out, or browser-driven side effects. A fast first hop can still hide delayed or failed completion later in the system.

How LoadStrike fits

LoadStrike models the transaction as a scenario, keeps APIs and downstream endpoints in the same runtime, and returns HTML, CSV, TXT, and Markdown reports.

What to expect

Verified LoadStrike fit points

  • Self-hosted runtime built for transaction-aware testing.
  • Supports APIs, queues and streams, browser journeys, and downstream services in one model.
  • Public SDK surfaces for C#, Go, Java, Python, TypeScript, and JavaScript.
  • Correlated reporting with timeout and duplicate visibility plus grouped analysis.
Resources

Worked example: an API request to a Kafka completion event

This is a configuration walkthrough, not an executed benchmark or a customer result. Use an owned staging order API and a Kafka completion topic. Native Kafka endpoints need an eligible Pro or Enterprise runner key; confirm the selected SDK and execution mode support correlation before sending load.

1. Send an identifiable order request

POST /orders with X-Correlation-Id: order-001. The default HTTP source tracks the request payload, so use header:X-Correlation-Id as its selector. Keep the 202 acceptance response separate from the completion outcome.

2. Observe the business completion event

Have the application copy order-001 into the trackingId field of its orders.completed message. Emit this event only after the required work succeeds. Use a separate observer consumer group so the test does not take work away from application consumers.

3. Match the same value across both transports

Set the Kafka destination selector to json:$.trackingId. The two selectors can read different fields, but their values must identify the same attempt. Use a fresh ID for each generated attempt and preserve its exact casing; repeating IDs can make retries and separate attempts ambiguous.

4. Set an explicit completion window

For example, choose a 5-second HTTP timeout and a 30-second CorrelationTimeout, with TimeoutCountsAsFailure enabled. These are illustrative settings, not measured targets. Verify one smoke completion is observed before increasing traffic; a connected consumer alone does not establish readiness.

5. Review completions alongside missing work

Read matched latency percentiles together with timeout, source-error and unmatched-destination counts. A healthy matched P95 does not account for requests that never matched. Check duplicate tracking values against application outcomes; they do not prove duplicate business processing.

Resources

Interpret a transaction performance test correctly

Correlated latency uses the timestamps supplied by the selected endpoints. Kafka destination records can carry their producer timestamp rather than the time a test consumer observed them. Check timestamp settings and clock alignment, and retain application timestamps if the question is client-visible elapsed time or worker execution time.

Compare completion by tenant or region

Set a destination GatherByField when a business dimension should have its own counts and latency percentiles; inspect each group and review ungrouped timeouts and failures as well.

Define a pass or fail rule

Use documented scenario, step or metric predicates over the stats your SDK actually supplies. Verify that the chosen gate includes the missing or failed work that matters to the workflow.

Retain evidence for any performance claim

Record versions, workload, environment, achieved rates, outcomes and repeated runs. Publish measured results only with their supporting artifacts; configured load is not achieved throughput.

Resources

Docs and examples

These pages define the transaction model in product terms and show how it is implemented in the docs.

Quick start

Build one simple request-step scenario and run it.

Examples

Open the sample repository and high-signal docs entry points.

Common questions

Common questions

How is transaction load testing different from endpoint testing?

Endpoint testing measures the first request or protocol hop. Transaction load testing measures whether the full workflow finished across the systems that matter to the business, which is a broader and more operationally useful question in distributed systems.

Can a transaction start in one protocol and finish in another?

Yes. LoadStrike is designed for workflows that begin at an API or browser step and then continue through queues, streams, or downstream services before completion is visible.

Which LoadStrike surfaces support transaction testing?

The site documents transaction-aware workflows across HTTP, Kafka, RabbitMQ, AWS SQS, Azure Event Hubs, NATS, Redis Streams, delegate-backed Push Diffusion and custom streams, and Playwright or Selenium browser journeys. Check the selected SDK and plan for each endpoint and execution mode.

Does a matched completion message prove the business operation succeeded?

A match proves that the configured source and destination carried the same tracking value. Define the destination so its event represents the required successful action, or validate the application outcome separately. Matching an acceptance or progress event would measure that earlier boundary instead.

Why should completion latency be reviewed with timeout counts?

Matched latency percentiles describe events with a recorded match and latency. Work that never reaches the selected completion event can time out without appearing in that latency distribution. Review timeout and failure counts beside latency before deciding that the transaction performance test passed.

Related

Related documentation

Start with the implementation details that match this page.

What Is A Transaction?

A transaction in LoadStrike is the full workflow you care about, not just one request. Read this page first if your workload crosses systems.

Tracking Selectors

Tracking selectors tell LoadStrike where to find the ID that ties one workflow together. Use them when the source and destination need to be matched in the report.

Kafka Endpoint

Configure Kafka load and performance testing with LoadStrike: publish and consume records, preserve tracking IDs, and observe downstream completion.

Report Overview

This page explains how to read a LoadStrike report. Use it when you want to know what each section means and where to look first.

Related

Related comparisons

Use these comparison pages if you still need a tool-level decision.

LoadStrike vs Apache JMeter

Compare LoadStrike and Apache JMeter for async completion, JMS, browser execution, reports and self-hosted testing, including setup and licensing requirements.

LoadStrike vs k6

Compare LoadStrike and k6 for APIs, Kafka, browser tests and async completion, including correlation requirements, extensions and hosting tradeoffs.

Related

Related integrations

Connect the run output to the observability backend your team already uses.

LoadStrike and Datadog

See how the LoadStrike Datadog sink fits into transaction-aware, self-hosted load testing workflows.

Related

Next steps

Keep moving with the most relevant follow-up pages.

Next step

Next step

Start with one order request and its verified completion event. LoadStrike connects the two through a shared ID, so your team can inspect completion latency, missing matches and duplicates in the same run.