我直接在代码中使用TelemetryClient(v0.17.0.576),看起来只有在最后手动调用Flush时,才可以将数据推送到Azure,这感觉很不对劲。我在这里想念什么吗?
var configuration = TelemetryConfiguration.CreateDefault();
configuration.InstrumentationKey = "KEY";
var client = new TelemetryClient(configuration);
for (int i = 0; i < 10; i++)
{
log.Information("Loop: {0} {1}", i, value);
client.Track(new TraceTelemetry(value));
}
client.Flush();
最佳答案
出于性能原因,Application Insights SDK会批量处理遥测并将其分块发送。要查看此操作的实际效果,您可以将Flush调用替换为对Thread.Sleep(70000)的调用,并且在应用终止后,您会看到仪器已上传到AI。
关于c# - 除非调用Flush,否则TelemetryClient不会发送任何数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30904930/