Version: 0.21.0This documentation is for Spitfire 0.21.0.
Spitfire documentation
The same documentation as inside Spitfire: every job step by step, from installing to protocols, runs and troubleshooting. Pick a page on the left or search.
Getting started
WelcomeThis documentation ships inside Spitfire: an installation without internet access shows the same pages. Each page covers one job: what it is for, when to use…Getting started — what to do, in which orderSpitfire is a self-hosted, distributed load testing platform with a web UI. You define a test step by step in the UI; runners in one or more locations…
Installation and administration
Installation, updates and backupsThis page covers installing Spitfire on Docker, Kubernetes or Windows (Docker Desktop), creating the first admin, updating, rolling back, backing up and…License and the free editionSpitfire works without a paid license: the free edition is enough to learn the product and test small systems. More load, longer runs, several runners and…Users, roles and accessThis page covers who can sign in to Spitfire, who can see and run what, and how that is managed: users, roles, groups, workspaces, SSO (OIDC and LDAP)…Runners and locationsRunners generate the load. This page covers what a runner is, the local runners that come with the installation, adding remote runners to send load from…
Writing tests
Test editorThe test editor is where you define what a load test does: which scenarios run, which steps each scenario runs in order, which values are taken from responses…Load model and thresholdsThe Test editor page covers what a test does. This page covers how much load is applied and when a run counts as passed or failed: the load models…Test dataA realistic load test needs more than every VU buying the same product with the same user name: different user accounts, different product ids, valid TC…
Runs and results
Protocols and connections
Protocols and connectionsA Spitfire test step talks one protocol: HTTP, WebSocket, SSE, gRPC, Kafka, MQTT, RabbitMQ (AMQP), Redis, SQL (PostgreSQL, MySQL / MariaDB, SQL Server…HTTP, WebSocket and SSEHTTP(S), WebSocket and Server-Sent Events (SSE) steps carry their address in the step itself, so they need no connection. A connection is used only when the…gRPCA gRPC step calls a method of a gRPC service: unary (one request, one response), server streaming, client streaming and bidirectional (bidi) streaming. You…KafkaA Kafka step produces records to a topic or consumes records from a topic. The produce step measures the broker's acknowledgement (ack) time, the consume step…MQTT and RabbitMQThis page covers two messaging protocols: MQTT for IoT and device traffic, and RabbitMQ (AMQP 0-9-1) for queue-based services. For Kafka see its own page…Redis and MongoDBA Redis step runs one Redis command per iteration (GET, SET, HGETALL, ZADD, INCR…). It measures the latency of your cache layer, session store or counters…SQLA SQL step runs a query on a database and measures its time. Supported databases: PostgreSQL, MySQL / MariaDB, SQL Server and Oracle. A step works in one of…SQL: query suggestions from the schemaSuggest from schema reads a SQL connection's database schema (tables, columns, primary keys, indexes, foreign keys) and suggests realistic read queries for…SQL: SSH tunnelWhen your database cannot be reached directly but only through an SSH server (a bastion, jump host), a PostgreSQL, MySQL / MariaDB, SQL Server or Oracle…
Importing
Automation & monitoring
CI/CD integrationThis page explains, step by step, how to run a test saved in Spitfire from your CI/CD pipeline (GitHub Actions, GitLab CI, Jenkins, Azure Pipelines…), what…Schedules, synthetic monitoring and notificationsThis page covers three related features: Scheduled runs — running a test regularly on a cron schedule (e.g. every night at 02:00); Synthetic monitoring —…
Analysis
Version comparison (A/B)The answer to "is the new version slower?". A comparative run runs a test against two of its environments at the same time and with the same load, and…Observability (OpenTelemetry, Prometheus, Tempo, Jaeger, Loki)A load test tells you "p95 went to 900 ms"; it does not tell you why. This page explains how to get closer to the root cause by connecting the trace, metric…