Node.js Diagnostic Reports

Node.js Diagnostic Reports
Photo by Will van Wingerden / Unsplash

The idea to add this feature to NiM came from the GitHub issue listed below as well as all of the recent talk about the new hotness that is Node 12 and 13. So what is Node Diagnostic Report(s)/Reporting? In short, it's a cool feature that...

Delivers a JSON-formatted diagnostic summary, written to a file.

The report is intended for development, test and production use, to capture and preserve information for problem determination. It includes JavaScript and native stack traces, heap statistics, platform information, resource usage etc. With the report option enabled, diagnostic reports can be triggered on unhandled exceptions, fatal errors and user signals, in addition to triggering programmatically through API calls.

[Feature request] Add node-report to cdp and add Visual Panel like React or Vue · Issue #27858 · nodejs/node
I found node-report is very usefully (tbh I am a little surprised that Node.js has this level of clarity, really amazing job ? ), in some cases more usefully than profiler :) I would like two thing...

And what NiM brings to the party is the ability to make those reports widely accessible directly from your DevTools interface. Using a simple NPM package, you're able to succinctly and securely utilize this new Node.js feature with the most benefit by sending reports to NiM via real-time publish/subscribe mechanisms.

From the NiM interface you're able to analize the diagnostic information in an easily digestible JSON tree format. Further you can download the diagnostic reports locally for further analysis via additional tooling and/or easily sharing with others. By sharing the Brakecode API key, your team can collectively and in realtime, diagnose systems.

Remote

Breakcode.com...

Breakcode.com is the domain that hosts certain aspects of the NiM backend and is the name you will see in the authentication popup.  Using a domain separate from June07 was done to better separate the NiM project from my own personal projects and blog, etc.  Here's a tutorial on how to get started with Node.js Diagnostic  Reports using NiM.

NiM Client Authentication
NiM Client Authentication
Brakecode Dashboard and API Keys
Brakecode Dashboard and API Keys