-
Notifications
You must be signed in to change notification settings - Fork 45
Add node-report to node core #103
Comments
A couple of thoughts:
|
more thoughts:
|
Doesn't |
Oh, yes, I guess it does. Handy feature, that one. |
Just out of curiosity, why do we need/want to do this? Is there something missing by having it outside of core? |
There has been quite a bit of debate already on inside vs outside core, and on the whole the "keep core small" argument seems to win, eg: On the other hand, the node and v8 APIs that we can use to trigger diagnostics and to obtain useful information when things go wrong are quite limited, and IMO we can do a better job if we are inside core. eg see: |
@cjihrig I believe there is value in having key diagnostic tools bundled in, particularly when they require compilation. In the case of node-report once you have a problem, if it is there it is easy to ask ops to grab the reports. If its not already there it requires installing additional code to production, this may need a compiler that is not already installed and may also require additional organization review/legal ok. I understand this @rnchamberlain ideally it should have support for all of the platforms supported by Node.js, are we missing some ? |
+1 to "there is value in having key diagnostic tools bundled in, particularly when they require compilation" I have been hearing consistently from customers that they want better primitives and tools included with Node.js by default that would help them diagnose issues. |
@mhdawson re platforms, we currently run the CI on these: debian8-64 fedora22 fedora23 osx1010 ppcle-ubuntu1404 ubuntu1204-64 ubuntu1404-64 ubuntu1604-64 rhel72-s390x From the list here, I think we are just missing FreeBSD |
I'm a big fan of small core, but I've also been on too many calls where customers have problems, but have not prepared to solve them by deploying troubleshooting tools. It can be pretty epic getting compiled node modules onto production machines when the Ops policies are "no compilers on production". It means finding an architecturally similar machine, installing node development tools, building, then sometimes scping through multiple levels. "Set this env var, restart, and send us the report" is a much better story. |
Wouldn't prebuilt binaries (e.g. with node-pre-gyp) solve that problem? |
node-pre-gyp is good for home desktop windows users, it allows installation without needing compiler tool chains. But it substitutes the vs install problem with another problem: it requires arbitrary outbound network access to a CDN, something which is often firewalled out in corportate environments. Even environments that have specifically opened an outbound firewall hole to npmjs.org or have an npm registry proxy won't work with pre-gyp. The appmetrics approach is better: it includes the pre-built artifacts in the npm installable bundle. |
Ahh, I thought node-pre-gyp did this (or had an option to). This is what I was suggesting. |
Perhaps we can build in the C++ bits into some diagnostics API and then use that to produce reports from a more external module ala node-report? |
Big +1 to @Fishrock123's suggestion. |
Make node-report part of core runtime, to satisfy its tier1 status on diagnostic tooling. No new functionalities have been added, changes that are required for melding it as a built-in capability has been affected on the module version of node-report (https://github.com/nodejs/node-report) Refs: nodejs#19661 Refs: nodejs#18760 Refs: nodejs/node-report#103
Make node-report part of core runtime, to satisfy its tier1 status on diagnostic tooling. No new functionalities have been added, changes that are required for melding it as a built-in capability has been affected on the module version of node-report (https://github.com/nodejs/node-report) Refs: nodejs#19661 Refs: nodejs#18760 Refs: nodejs/node-report#103
Make node-report part of core runtime, to satisfy its tier1 status on diagnostic tooling. No new functionalities have been added, changes that are required for melding it as a built-in capability has been affected on the module version of node-report (https://github.com/nodejs/node-report) Refs: nodejs#19661 Refs: nodejs#18760 Refs: nodejs/node-report#103
Make node-report part of core runtime, to satisfy its tier1 status on diagnostic tooling. No new functionalities have been added, changes that are required for melding it as a built-in capability has been affected on the module version of node-report (https://github.com/nodejs/node-report) Refs: nodejs#19661 Refs: nodejs#18760 Refs: nodejs/node-report#103
fyi - nodejs/node#22712 is merged now. |
I would like to propose that the node-report module be added as a new core module, with the ability to trigger it via command line flag as opposed to preload module, e.g.
node --node-report
.This would require a few steps:
tap
readable-streams
.Ping @mhdawson
The text was updated successfully, but these errors were encountered: