Skip to main content

Glossary

Action File

A snapshot related file used internally by Speedscale services to store and access the RRPairs used by the generator during replay.

speedctl pull snapshot $SNAPSHOT_ID
cat ~/.speedscale/data/snapshots/$SNAPSHOT_ID/action.jsonl

Assertion

A validation applied to each individual RRPair captured in a report, used to confirm your application behavior during replay. Use a filter to narrow the scope of assertions. Assertions are defined in test configs. Assertions have no effect when running in low data mode.

Collector

A Speedscale component that collects logs and metric data from pods during a replay. This service runs beside replay components like the generator and responder during the replay and communicates with the Kubernetes API.

Endpoint

A partial representation of a URI, endpoints often group similar requests together. View the endpoints requests were made to during a replay at the bottom of the report.

Filter

A set of rules which determines whether to include or exclude traffic.

See creating traffic filters and the filters reference for more information.

Generator

A Speedscale component that generates traffic from a snapshot, targeting the SUT. When running a load test the generator is the service responsible for generating the load.

See replaying traffic for more information.

Goproxy

A Speedscale component that captures traffic from a client to your service (inbound) and from your service to third parties like other APIs or databases (outbound). Go proxy is, as its name suggests, a proxy which captures traffic routed through it.

See proxy modes for more information.

Inspector

A Speedscale component that executes actions on your behalf in your cluster. Actions like adding a sidecar proxy to your workload, or starting a replay.

Low Data Mode

A replay mode of operation which does not collect RRPairs. This mode is useful for high-throughput replays, like a load tests, which may make hundreds of thousands of requests. In this case it may not be feasible to capture and analyze each request individually. Low data mode can be applied to the generator or responder in the test config.

Note that replay run with low data mode will not be able to run assertions as the full RRPairs are not available, but the report will show when errors occur.

Operator

A Kubernetes operator that runs in your cluster to perform Speedscale actions on your behalf. Actions like adding a sidecar proxy to your workload, or starting a replay in your cluster.

See Kubernetes Operator for more information.

Proxy

A process that accepts, stores, and forwards traffic. Speedscale uses goproxy, a purpose-built proxy written in Go, in various ways to capture traffic and route requests.

Raw File

A snapshot related file used internally by Speedscale services to store and access all RRPairs.

speedctl pull snapshot $SNAPSHOT_ID
cat ~/.speedscale/data/snapshots/$SNAPSHOT_ID/raw.jsonl

Reaction File

A snapshot related file used internally by Speedscale services to store and access RRPairs used by the responder during replay.

speedctl pull snapshot $SNAPSHOT_ID
cat ~/.speedscale/data/snapshots/$SNAPSHOT_ID/reaction.jsonl

Recursion

See recursion.

Replay

The act of replaying a snapshot which usually involves the generator making requests to the SUT. A traditional replay involves a Speedscale generator, which makes requests to the SUT (inbound), which makes requests to the Speedscale responder (outbound), which mocks external resources. A replay may not involve a generator though, as in responder-only replay mode.

See replaying traffic for more information.

Report

The artifact of a replay, a report contains aggregate information about latency and throughput, as well as detailed information about the requests made.

Reports are listed on the snapshots page in the UI.

See reports for more information.

Responder

A Speedscale component that mocks other services using traffic from a snapshot. The responder looks like the Stripe API, or a Postgres server, or whatever else so that you can test your app in a controlled environment.

See service mocking and mocking backends for more information.

RRPair

The RRPair, short for request / response pair, is the Speedscale internal representation in which all traffic is stored. The RRPair is segregated into a request and a response, but also may contain just part of a request or response like when representing part of a data stream.

Schedule

Schedule Speedscale actions to run automatically on a regular basis.

See schedules for more information.

Snapshot

A collection of captured RRPairs that can be replayed in your cluster or from your local desktop.

Snapshots are listed on the snapshots page in the UI.

See creating a snapshot for more information.

speedctl

The Speedscale CLI which can be used to interact with Speedscale resources in all the same ways the Speedscale UI does.

See cli setup for more information.

SUT

System under test. Whenever Speedscale documentation mentions a SUT, we're talking about your application. Your app/service is the system Speedscale is testing and this is a generic way to refer to it.

Test Config

Configuration for a traffic replay.

Test configs are listed on the test configs page in the UI.

See test configs for more information.

Traffic

All of the bytes sent or received by your application.

Inbound traffic is the traffic that is being sent to, and received by, your application. This may also be called ingress. An example of inbound traffic is an HTTP request sent to your server's API.

Outbound traffic is the traffic that is sent by your application to external resources. This may also be called egress. An example of outbound traffic is a database query, or calling the API of another service.

Traffic Viewer

Speedscale UI for visualizing traffic where each line contains an RRPair.

Traffic for each of your applications can be found on the traffic page in the UI.

Request

A single request and response, for HTTP. Like a ping which goes out to the target and back, a transaction consists of a single round trip, whatever that means for the protocol in use.

Requests Per Second

The number of requests completed in a single second of measurement. Requests per second (RPS) are used to describe the throughput of one endpoint or a service as a whole.

Transform

A set of functions which can be used to modify traffic at various points during a replay.

Transforms are listed on the transforms page in the UI.

See transforms for more information.

User Data

Generic documents stored in the Speedscale cloud which can be referenced during a replay. Use speedctl to manage these documents.

Variable Cache

A bucket of values which can be shared between requests during a replay. Servers are often stateful, or expose stateful behavior from networked storage. In order to simulate this behavior a cache can store a value on one request and retrieve it from another. Variables may also be populated statically in the transform editor.

vUser

A "virtual" user, run by the generator during a replay. Also called a VU, these are meant to represent a single user session in your application. A single VU sends a request for each RRPair in the snapshot once, in order. The number of concurrent VUs to run during a replay can be defined in the test config.

See replaying traffic for more information.