【发布时间】:2018-03-24 14:37:35
【问题描述】:
我正在尝试从用 node.js 编写的 AWS Lambda 记录 Application Insights 指标。这是我的代码:
const appInsights = require("applicationinsights");
appInsights.setup("<guid>");
module.exports.monitor = (event, context, callback) => {
let client = appInsights.defaultClient;
// context.callbackWaitsForEmptyEventLoop = false;
client.trackMetric({name: "AI Test", value: 25});
const response = { statusCode: 200, body: 'done' };
callback(null, response);
};
问题是 Lambda 调用超时。
如果我取消注释 context.callbackWaitsForEmptyEventLoop = false; 语句,超时将消失并且 AWS 可以正常工作。但我在 Application Insights 中只收到一个指标值:从第一次调用开始。随后的电话似乎再也打不通了。
如何调整 Application Insights 客户端代码以使其可靠工作且不会导致超时?这是怎么回事?
【问题讨论】:
标签: javascript amazon-web-services aws-lambda azure-application-insights