You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using perfmon node module and when I run my js with node --debug, I get an error message starting like this :
$ node --debug --harmony myscript.js
debugger listening on port 5858
(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at TypePerf.addListener (events.js:160:15)
at PerfmonStream.attach (c:\myproject\node_modules\perfmon\lib\PerfmonStream.js:19:11)
[...]
Important note : I call many times perfmon("\\some perf\counter", ...) and that's why I probably need more than 10 listeners.
A short hack is to use setMaxListeners(0) (no limit) like this :
diff --git a/node_modules/perfmon/lib/TypePerf.js b/node_modules/perfmon/lib/TypePerf.js
index a8db4eb..8437c81 100755
--- a/node_modules/perfmon/lib/TypePerf.js
+++ b/node_modules/perfmon/lib/TypePerf.js
@@ -5,6 +5,7 @@ var os = require('os');
function TypePerf(host, counters) {
Stream.call(this);
+ this.setMaxListeners(0);
this.host = host;
this.cp = [];
Is that a good hack ?
no because having a limit helps the developer notice memory leaks
yes because in that specific case, the developer (like me) may need more listeners than the default limit and perfmon is not supposed to guess how many listeners I need.
Maybe a better solution is to have perfmon count the number of perf counters it monitors and increase the limit automatically ?
Maybe a better solution is to provide an API to the developer so he can set the number of listeners himself ?
What do you think ?
Regards,
Yves
The text was updated successfully, but these errors were encountered:
Hello,
I'm using perfmon node module and when I run my js with node --debug, I get an error message starting like this :
Important note : I call many times
perfmon("\\some perf\counter", ...)
and that's why I probably need more than 10 listeners.A short hack is to use
setMaxListeners(0)
(no limit) like this :Is that a good hack ?
Maybe a better solution is to have perfmon count the number of perf counters it monitors and increase the limit automatically ?
Maybe a better solution is to provide an API to the developer so he can set the number of listeners himself ?
What do you think ?
Regards,
Yves
The text was updated successfully, but these errors were encountered: