Skip to content

Commit 3044ffa

Browse files
committed
Enhance state management: add pausedAt and pausedDuration for improved pause/resume functionality; adjust getStats to account for paused time
1 parent 96a7baf commit 3044ffa

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

index.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/speed-test.js

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ const state = {
2727
pauseCallbacks: [],
2828
requestsCompleted: 0,
2929
startTime: Date.now(),
30-
statsResetInterval: null
30+
statsResetInterval: null,
31+
pausedAt: null,
32+
pausedDuration: 0
3133
}
3234

3335
// Extract destructured state for cleaner code
@@ -404,7 +406,15 @@ export const retry = (domain) => {
404406
* Get current statistics
405407
*/
406408
export const getStats = () => {
407-
const elapsed = (Date.now() - state.startTime) / 1000 // seconds
409+
let elapsed = (Date.now() - state.startTime) / 1000 // seconds
410+
411+
// If paused, subtract the paused duration from elapsed time
412+
if (state.isPaused && state.pausedAt) {
413+
elapsed -= (Date.now() - state.pausedAt) / 1000
414+
} else if (state.pausedDuration > 0) {
415+
elapsed -= state.pausedDuration / 1000
416+
}
417+
408418
const requestsPerSecond = elapsed > 0 ? state.requestsCompleted / elapsed : 0
409419

410420
return {
@@ -423,6 +433,8 @@ export const getStats = () => {
423433
*/
424434
export const pause = () => {
425435
state.isPaused = true
436+
state.pausedAt = Date.now()
437+
426438
pauseCallbacks.forEach(callback => {
427439
try {
428440
callback(true)
@@ -436,6 +448,12 @@ export const pause = () => {
436448
* Resume all speed test requests
437449
*/
438450
export const resume = () => {
451+
// Track paused duration
452+
if (state.pausedAt) {
453+
state.pausedDuration += Date.now() - state.pausedAt
454+
state.pausedAt = null
455+
}
456+
439457
state.isPaused = false
440458

441459
// Clear any stale call records from before pause

0 commit comments

Comments
 (0)