Skip to content

Project Positioning ​

Wavemaker is a cross-engine game server load testing framework. Through a unified load model, plan data, an execution backend interface, and an observability model, it generates, manages, and analyzes the load that large numbers of virtual clients apply to game servers.

It is not a plain bot scripting framework, nor a general-purpose distributed task queue.

Core values:

  • Use a unified Spectrum to describe test load.
  • Support Wavemaker's own Rust Actor Runtime.
  • Reuse the native bots of existing game engines.
  • Manage execution backends on a single machine and across multiple machines.
  • Observe both the Generator and the server under test.
  • Produce auditable reports that include data quality, load deviation, and server-side curves.

Domain Glossary ​

NameDefinitionShould not be confused with
WavemakerThe entire load testing frameworkA single Worker
SwellOne complete load test experiment and its lifecycleA single task command
SpectrumThe configuration describing load shape, arrival process, behavior mix, and lifecycleA single bot script
BasinThe environment under test, its service topology, and its server-side observability configurationPrometheus itself
ControllerThe control plane: plan generation, task management, allocation, and report orchestrationAn Actor executor
WorkerAn execution node managed by WavemakerNecessarily one Actor
Execution BackendThe execution implementation that actually generates loadA process manager
Native Runtime BackendWavemaker's own Rust execution backendNative engine bots
Engine Bot BackendAn execution backend that reuses the engine's own botsA Wavemaker Actor
SupervisorThe component that manages Backend process/container lifecycleThe engine's internal scheduler
BridgeThe control/event/metrics adaptation layer between the engine side and WavemakerA mere network proxy
ActorA virtual client in the Native RuntimeA unified object for all engine native bots
ShardPlanAn execution plan shard generated and frozen by the ControllerA plan the Worker generates by itself
Generator ObservabilityObservation of the load generator's own resources and runtime stateBasin server-side monitoring
Server ObservabilityMetric collection and time series from the server under testGenerator metrics