Merge pull request #5151 from erikerikson/improve-promise-logging

Improve messaging and formatting of pending promise warnings
This commit is contained in:
Takahiro Horike 2018-08-01 08:57:37 +09:00 committed by GitHub
commit 831706ed61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 9 deletions

View File

@ -96,3 +96,7 @@ module.exports.logError = (e) => {
module.exports.logWarning = (message) => {
writeMessage('Serverless Warning', message);
};
module.exports.logInfo = (message) => {
writeMessage('Serverless Information', message);
};

View File

@ -1,6 +1,6 @@
'use strict';
const logWarning = require('./Error').logWarning;
const logInfo = require('./Error').logInfo;
class PromiseTracker {
constructor() {
@ -17,15 +17,17 @@ class PromiseTracker {
}
report() {
const delta = Date.now() - this.startTime;
logWarning('################################################################################');
logWarning(`# ${delta}: ${this.getSettled().length} of ${
this.getAll().length} promises have settled`);
const pending = this.getPending();
logWarning(`# ${delta}: ${pending.length} unsettled promises:`);
pending.forEach((promise) => {
logWarning(`# ${delta}: ${promise.waitList}`);
});
logWarning('################################################################################');
logInfo([
'##########################################################################################',
`# ${delta}: ${this.getSettled().length} of ${this.getAll().length} promises have settled`,
`# ${delta}: ${pending.length} unsettled promises:`,
].concat(
pending.map((promise) => `# ${delta}: ${promise.waitList}`)
).concat([
'# This can result from latent connections but may represent a cyclic variable dependency',
'##########################################################################################',
]).join('\n '));
}
stop() {
clearInterval(this.interval);