Tag1's Goose 0.19 Adds Live Dashboard and Automated Performance Checks

Opt-In Monitoring and CI Limits Bring New Controls to Load Testing
Tag1's Goose 0.19 Adds Live Dashboard and Automated Performance Checks

The Goose 0.19 release introduces a live browser dashboard and automated performance thresholds that can fail continuous integration builds when load tests exceed defined limits. Jeremy Andrews, founding partner and CEO of Tag1 Consulting, detailed the changes in a blog post published on 5 November 2026. The open-source, Rust-based load-testing framework also introduces microsecond-level response-time measurements and substantially reduces memory consumption during simulated traffic.

The changes give developers more ways to monitor application behaviour and establish measurable performance requirements during testing. Goose generates simulated user traffic to identify how websites and applications respond under load. Version 0.19.0 was released on 29 October 2026, followed by version 0.19.1 on 3 November, according to the project's changelog.

The new dashboard displays request rates, response times, failures and active users while a test runs. Metrics update every second, allowing engineers to examine performance changes without waiting for a completed report. The experimental interface must be enabled through the dashboard crate feature and activated using the --dashboard runtime option. It opens in read-only mode by default. Browser-based controls for starting, stopping and adjusting tests require a separate control option, which can use an authentication token; an unauthenticated option is also available but should be restricted to trusted local environments.

Goose 0.19 also introduces configurable pass/fail thresholds for performance testing. Developers can define limits for response-time percentiles, average latency, error rates and requests per second, including rules for individual requests. According to the official documentation, these conditions are checked once per second during the steady-load phase by default. When a threshold fails, Goose can stop the test and return an error, allowing continuous integration pipelines to reject changes that exceed established performance budgets.

Tag1 reported a substantial reduction in memory consumption compared with Goose 0.18.1. During a benchmark involving 1,000 concurrent users, peak memory usage declined from 959 MiB to 214 MiB, a reduction of approximately 78%. Another test involving 5,000 users, each waiting one to three seconds between requests, recorded a decline from 4,480 MiB to 763 MiB. Tag1 conducted these HTTP memory tests on an ARM64 Kubernetes environment using two CPU cores and a separate Rust test server, with five runs per version. The memory measurements are specific to those workloads and should not be treated as a prediction for a production Drupal site.

A significant factor in the memory improvement was the upgrade to reqwest 0.13, which changes the default TLS implementation from OpenSSL-based native TLS to rustls. The previous implementation loaded certificate-store data separately for individual simulated users, contributing to higher memory consumption. The release also changes internal response-time accounting to microsecond precision. Version 0.19.1 adds microsecond fields to JSON reports, correcting the loss of precision in sub-millisecond measurements.

Tag1 also published comparative throughput measurements against k6 and Locust. With 1,000 simulated users making continuous HTTPS requests against the same lightweight Rust web server, Goose generated approximately 21,400 requests per second, compared with 15,800 for k6 and 8,400 for Locust. The tests used two CPU cores and configurations selected for each tool, including certificate validation and continuous requests without user think time. These are Tag1's own benchmark results, not independently reproduced measurements, and they do not establish equivalent throughput against a Drupal installation or other production applications.

The release has a direct connection to Drupal performance testing. Goose 0.19.1 updates its example load test for Drupal 11.4's Umami demonstration site, correcting content paths and asset handling. The release notes also document HTTP 503 responses during initial image-derivative generation and occasional HTTP 500 responses during cache-table creation on freshly installed sites. Developers are advised to perform an unmeasured warm-up run before recording results. Goose also adds GraphQL request helpers, which may be useful for testing decoupled Drupal applications.

Goose has previously been used in Drupal performance work, including Tag1's project for the Greater London Authority. As The DropTimes reported in December 2025, the team used Goose alongside Gander to measure performance changes on London.gov.uk while addressing database, caching and rendering problems. That deployment provides an existing Drupal use case, although the newly published Goose 0.19 benchmarks were conducted against a separate test server.

The update also includes compatibility changes that existing users must consider. The upgrade guide documents changes to command-line options and Rust APIs, while the companion goose-eggs 0.7 release adds WordPress and WooCommerce testing helpers. Distributed load testing through Gaggle remains unavailable in Goose 0.19, with its return planned for version 0.20.

Disclosure: This content is produced with the assistance of AI.

Note: The vision of this web portal is to help promote news and stories around the Drupal community and promote and celebrate the people and organizations in the community. We strive to create and distribute our content based on these content policy. If you see any omission/variation on this please reach out to us at #thedroptimes channel on Drupal Slack and we will try to address the issue as best we can.

Related Organizations

Related People

Upcoming Events

Latest Opportunities