-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.js
23 lines (22 loc) · 1001 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const appInsights = require("applicationinsights");
appInsights.setup()
.setAutoDependencyCorrelation(false)
.setAutoCollectRequests(false)
.setAutoCollectPerformance(false)
.setAutoCollectExceptions(false)
.setAutoCollectDependencies(false)
.setAutoCollectConsole(false)
.setUseDiskRetryCaching(true)
.start();
const client = appInsights.defaultClient;
module.exports = async function (context, eventHubMessages) {
client.commonProperties["experiment"] = process.env["EXPERIMENT"];
total_latency = 0.0;
eventHubMessages.forEach((message, index) => {
var enqueuedTimeUtc = new Date(context.bindingData.enqueuedTimeUtcArray[index]).getTime();
var nowTimeUTC = new Date().getTime();
total_latency += (nowTimeUTC - enqueuedTimeUtc);
});
client.trackMetric({name: "batchAverageLatency", value: (total_latency / eventHubMessages.length) / 1000.0});
client.trackMetric({name: "batchSize", value: eventHubMessages.length});
};