mirror of
https://github.com/Unitech/pm2.git
synced 2026-02-01 16:57:09 +00:00
feature: add inspect feature, on runtime for cluster app
This commit is contained in:
parent
c3ae6aa8b4
commit
e1f7224d9b
@ -644,7 +644,7 @@ module.exports = function(CLI) {
|
||||
const that = this;
|
||||
if(semver.satisfies(process.versions.node, '>= 8.0.0')) {
|
||||
this.trigger(app_name, 'internal:inspect', function (err, res) {
|
||||
if(res[0].data.return === '') {
|
||||
if(res && res[0].data.return === '') {
|
||||
Common.printOut(`Inspect disabled on ${app_name}`);
|
||||
} else {
|
||||
Common.printOut(`Inspect enabled on ${app_name} => go to chrome : chrome://inspect !!!`);
|
||||
|
||||
@ -30,15 +30,7 @@ delete process.env.pm2_env;
|
||||
(function ProcessContainer() {
|
||||
var fs = require('fs');
|
||||
|
||||
if (process.env.pmx !== 'false') {
|
||||
require('pmx').init({
|
||||
transactions: (process.env.km_link === 'true' && (process.env.trace === 'true' || process.env.deep_monitoring === 'true')) || false,
|
||||
http: process.env.km_link === 'true' || false,
|
||||
v8: process.env.v8 === 'true' || process.env.deep_monitoring === 'true' || false,
|
||||
event_loop_dump: process.env.event_loop_inspector === 'true' || process.env.deep_monitoring === 'true' || false,
|
||||
deep_metrics: process.env.deep_monitoring === 'true' || false
|
||||
});
|
||||
}
|
||||
require('./ProcessUtils').injectModules();
|
||||
|
||||
var stdFile = pm2_env.pm_log_path;
|
||||
var outFile = pm2_env.pm_out_log_path;
|
||||
|
||||
@ -4,31 +4,7 @@
|
||||
* can be found in the LICENSE file.
|
||||
*/
|
||||
// Inject custom modules
|
||||
if (process.env.pmx !== 'false') {
|
||||
const pmx = require('pmx');
|
||||
pmx.init({
|
||||
transactions: (process.env.km_link === 'true' && (process.env.trace === 'true' || process.env.deep_monitoring === 'true')) || false,
|
||||
http: process.env.km_link === 'true' || false,
|
||||
v8: process.env.v8 === 'true' || process.env.deep_monitoring === 'true' || false,
|
||||
event_loop_dump: process.env.event_loop_inspector === 'true' || process.env.deep_monitoring === 'true' || false,
|
||||
deep_metrics: process.env.deep_monitoring === 'true' || false
|
||||
});
|
||||
|
||||
if(require('semver').satisfies(process.versions.node, '>= 8.0.0')) {
|
||||
var url = '';
|
||||
pmx.action('internal:inspect', function(reply) {
|
||||
const inspector = require('inspector');
|
||||
if(url === '') {
|
||||
inspector.open();
|
||||
url = inspector.url();
|
||||
} else {
|
||||
inspector.close();
|
||||
url = '';
|
||||
}
|
||||
reply(url);
|
||||
});
|
||||
}
|
||||
}
|
||||
require('./ProcessUtils').injectModules();
|
||||
|
||||
if (typeof(process.env.source_map_support) != "undefined" &&
|
||||
process.env.source_map_support !== "false") {
|
||||
|
||||
29
lib/ProcessUtils.js
Normal file
29
lib/ProcessUtils.js
Normal file
@ -0,0 +1,29 @@
|
||||
module.exports = {
|
||||
injectModules: function() {
|
||||
if (process.env.pmx !== 'false') {
|
||||
const pmx = require('pmx');
|
||||
pmx.init({
|
||||
transactions: (process.env.km_link === 'true' && (process.env.trace === 'true' || process.env.deep_monitoring === 'true')) || false,
|
||||
http: process.env.km_link === 'true' || false,
|
||||
v8: process.env.v8 === 'true' || process.env.deep_monitoring === 'true' || false,
|
||||
event_loop_dump: process.env.event_loop_inspector === 'true' || process.env.deep_monitoring === 'true' || false,
|
||||
deep_metrics: process.env.deep_monitoring === 'true' || false
|
||||
});
|
||||
|
||||
if(require('semver').satisfies(process.versions.node, '>= 8.0.0')) {
|
||||
var url = '';
|
||||
pmx.action('internal:inspect', function(reply) {
|
||||
const inspector = require('inspector');
|
||||
if(url === '') {
|
||||
inspector.open();
|
||||
url = inspector.url();
|
||||
} else {
|
||||
inspector.close();
|
||||
url = '';
|
||||
}
|
||||
reply(url);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user