-
Notifications
You must be signed in to change notification settings - Fork 36
Open
Description
Description
When speed-cloudflare-cli is installed globally via npm and run directly, the following warnings appear:
npm install -g speed-cloudflare-cli
speed-cloudflare-cliNote: This issue does NOT occur when running npx speed-cloudflare-cli, only with the globally-installed version.
Before (with warnings)
(node:8234) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 lookup listeners added to [TLSSocket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
(node:8234) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 connect listeners added to [TLSSocket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(node:8234) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 secureConnect listeners added to [TLSSocket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
Server location: Miami (MIA)
Your IP: [REDACTED] (US)
Latency: 6.80 ms
Jitter: 3.26 ms
100kB speed: 442.46 Mbps
1MB speed: 378.82 Mbps
10MB speed: 375.82 Mbps
25MB speed: 375.44 Mbps
100MB speed: 370.95 Mbps
Download speed: 456.72 Mbps
Upload speed: 122.47 Mbps
After (no warnings)
Server location: Miami (MIA)
Your IP: [REDACTED] (US)
Latency: 35.96 ms
Jitter: 3.24 ms
100kB speed: 124.51 Mbps
1MB speed: 271.76 Mbps
10MB speed: 360.63 Mbps
25MB speed: 369.78 Mbps
100MB speed: 359.08 Mbps
Download speed: 369.30 Mbps
Upload speed: 81.14 Mbps
Root Cause
The speed test attaches 3 event listeners (lookup, connect, secureConnect) to each socket for performance timing measurements. With 77 total requests during a complete test run (20 latency + 29 download + 28 upload), this exceeds Node.js's default 10-listener limit per event type, triggering the warning.
This is a false positive since:
- Listeners are short-lived and properly cleaned up after each request
- The CLI is short-lived and exits after completion
- Memory impact is negligible
Solution
Set socket.setMaxListeners(100) to accommodate all event listeners with buffer for future changes.
Metadata
Metadata
Assignees
Labels
No labels