summaryrefslogtreecommitdiff
path: root/lib/events.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2019-05-14 16:45:15 +0200
committerDaniel Bevenius <daniel.bevenius@gmail.com>2019-05-17 05:39:00 +0200
commit9375088bd3df5a1bd2c4dfc5be1b1d37a7fe2dda (patch)
treef5d44bf6b3e7fbef0d6469c2223586f4d788432f /lib/events.js
parent776e0000bc57ffadc5a21bf2c9307e9c217f1613 (diff)
downloadandroid-node-v8-9375088bd3df5a1bd2c4dfc5be1b1d37a7fe2dda.tar.gz
android-node-v8-9375088bd3df5a1bd2c4dfc5be1b1d37a7fe2dda.tar.bz2
android-node-v8-9375088bd3df5a1bd2c4dfc5be1b1d37a7fe2dda.zip
events: improve max listeners warning
This adds the constructor name of the event target to the emitted warning. Right now it's difficult to identify where the leak is actually coming from and having some further information about the source will likely help to identify the source. PR-URL: https://github.com/nodejs/node/pull/27694 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Diffstat (limited to 'lib/events.js')
-rw-r--r--lib/events.js8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/events.js b/lib/events.js
index 3deb155479..438c8f8306 100644
--- a/lib/events.js
+++ b/lib/events.js
@@ -31,6 +31,10 @@ const {
ERR_UNHANDLED_ERROR
} = require('internal/errors').codes;
+const {
+ inspect
+} = require('internal/util/inspect');
+
function EventEmitter() {
EventEmitter.init.call(this);
}
@@ -253,8 +257,8 @@ function _addListener(target, type, listener, prepend) {
// eslint-disable-next-line no-restricted-syntax
const w = new Error('Possible EventEmitter memory leak detected. ' +
`${existing.length} ${String(type)} listeners ` +
- 'added. Use emitter.setMaxListeners() to ' +
- 'increase limit');
+ `added to ${inspect(target, { depth: -1 })}. Use ` +
+ 'emitter.setMaxListeners() to increase limit');
w.name = 'MaxListenersExceededWarning';
w.emitter = target;
w.type = type;