-
-
Notifications
You must be signed in to change notification settings - Fork 20
Identify users and use cases for post-mortem debugging #7
Comments
What about splitting that into at least two pieces for understanding both native and JavaScript memory usage? They're slightly different pathologies (missing deallocation vs. leaked references) and separate tools exist for both. Here are some additions. I erred on the side of keeping some things separate that we might prefer to combine, but I explain below.
We may want to combine some of these, but I wanted to keep them separate since some tools are targeted specifically at native code only (e.g., gdb(1)) or JavaScript only (e.g., V8's heap dump tools). As I think about it more, we may want to split this up further into smaller use cases like "examining a stack trace" or "examining specific heap objects". I say that because there are tools that analyze V8 heap dumps that might be useful for understanding some kinds of unexpected program behavior, but may not present stack traces. In that case, there's a matrix of (crash, unexpected behavior) x (native stack, arbitrary native values, JavaScript stack, arbitrary JavaScript values, closures, timers). As for the user: I stuck with "Node.js application developer" for all these, but we've had a number of use-cases where OS engineers have wanted to examine Node.js core dumps to understand potential issues in system libraries. I think these use cases also apply to support engineers for companies that provide support for Node applications, and I think all of these use-cases also apply to developers of libraries like libuv. Another use case for support engineers is: given a snapshot of a running program, produce a copy of the source for the entire program (including all JavaScript modules). If people have feedback about the most useful way of enumerating these use cases, I'd be happy to clean this up (in one direction or another). |
Closing due to inactivity. If this work still needs to be tracked, please open a new issue over in https://github.com/nodejs/diagnostics. |
One of the first actions from the meeting was to identify the users and use cases for post mortem debugging. Raising this issue as somewhere to gather that information.
The text was updated successfully, but these errors were encountered: