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
{{ message }}
Repository navigation
Timer objects no longer show up in process._getActiveHandles() #25806
Yes, it is due to the aforementioned and related commits.
The tl;dr has apparently been that no one really cares about _getActiveHandles(). This also broke some stuff internally at NodeSource at the time.
EDIT: to be clear, this is because all of the timer's work aside from the single base timer handle is now all done in javascript, and also detached form the handle for efficiency with V8.
See #21453 for a potential public version of this api, although really I think timers should maybe be a separate api, and continuations (nextTick, MTQ, setImmediate) an additional api still.
The tl;dr has apparently been that no one really cares about _getActiveHandles().
I care :(
I mean I'd like to say that I do too but it's been like 9 months. And, well, I want to get time to look at this again from a public api soon but, I say that a lot.
I think it is unlikely that anyone will want to change/fix/whatever _getActiveHandles(). I don't 100% remember the context around the discussions at the time, though.
To add to this discussion, llnode has it's own getactivehandles/getactiverequest commands, and while upgrading llnode to work with Node.js v11 some tests stopped working because of this change.
Hi, Having this feature can add a lot of value when there is a memory leak in an enterprise system due to increase in Active Handlers/Request. Hope the method is back.
Activity
Ignore timers in _getActiveHandles reporting
richardlau commentedon Jan 30, 2019
I think this is due to #20894 (#20894 (review)).
cc @nodejs/timers @nodejs/diagnostics
Fishrock123 commentedon Jan 30, 2019
Yes, it is due to the aforementioned and related commits.
The tl;dr has apparently been that no one really cares about
_getActiveHandles(). This also broke some stuff internally at NodeSource at the time.EDIT: to be clear, this is because all of the timer's work aside from the single base timer handle is now all done in javascript, and also detached form the handle for efficiency with V8.
See #21453 for a potential public version of this api, although really I think timers should maybe be a separate api, and continuations (nextTick, MTQ, setImmediate) an additional api still.
isaacs commentedon Jan 30, 2019
@Fishrock123 Thanks for the link.
I care :(
But yeah, it's always been a jank API. I'd be thrilled to see something better in that space.
What's the likelihood of getting Timers brought back in some fashion in
_getActiveHandles()? This seems like a bug to me.Fishrock123 commentedon Jan 31, 2019
I mean I'd like to say that I do too but it's been like 9 months. And, well, I want to get time to look at this again from a public api soon but, I say that a lot.
I think it is unlikely that anyone will want to change/fix/whatever
_getActiveHandles(). I don't 100% remember the context around the discussions at the time, though.vmarchaud commentedon Feb 2, 2019
I believe those APIs are mainly used by APMs vendor, we got the issue too at @keymetrics (keymetrics/pm2-io-apm#213) and found a somewhat fix
mmarchini commentedon Feb 22, 2019
To add to this discussion, llnode has it's own getactivehandles/getactiverequest commands, and while upgrading llnode to work with Node.js v11 some tests stopped working because of this change.
apapirovski commentedon Feb 24, 2023
Given it has been 3+ years, at this point it seems like we should close and move on. Re-introducing is unlikely to add any value.
kingshukbasak commentedon Sep 9, 2024
Hi, Having this feature can add a lot of value when there is a memory leak in an enterprise system due to increase in Active Handlers/Request. Hope the method is back.