Repository navigation
v3.0.6.3
This release fixes incorrect/misleading numbers in the Hosts metrics table, stops a background thread leak that was spamming cooling logs and forcing GC pauses, and makes host throttling recover more smoothly after load drops.
Fixes
Metrics you can trust
- Host-level totals now match the iteration rows. Previously the Hosts table could disagree with the Iterations table because each calculated success/failure differently. Now host numbers are always the sum of their iterations, so the two views reconcile.
- No more missing requests at the end of a run. A handful of the last completed requests could be left out of the final metrics snapshot; final counts are now accurate (successful + failed always add up to the total).
- The final "Completed" status is no longer dropped when you cancel a run. Hosts now correctly show their last known state instead of appearing stuck mid-run.
Live dashboard reliability
- Fixed a case where a slow metrics update could momentarily stall request processing under high load.
- Fixed an issue where live metrics could occasionally be published out of order or reflect an inconsistent mid-update state.
- The live metrics update frequency is now configurable (
LPSAppSettings:LiveMetrics:PublishIntervalMs, default250ms).
Watchdog / throttling
- Fixed a background thread leak that caused spurious "cooling" log messages and unnecessary GC pauses during a run, even when the system wasn't actually under pressure.
- Smoother recovery after throttling. When hosts cool back down, LPS now ramps traffic back up gradually per host instead of releasing everything at once, avoiding a load spike right after a throttle event. One host under pressure no longer slows down traffic to other, healthy hosts.
- Fixed a timing issue where throttling could kick in slightly too early after a host had already recovered.
- Cooling/throttling log messages are now clearer about why they fired — naming the specific resource (memory/CPU) or hosts responsible.