【问题标题】:Application Insight does not send data without using Thread.Sleep如果不使用 Thread.Sleep,Application Insight 不会发送数据
【发布时间】:2017-08-25 16:23:37
【问题描述】:

我有一个控制台应用程序,它在 15 分钟间隔后通过 Web 作业调度程序运行。但问题是 Application Insight Telemetry 不会在代码末尾不使用 Thread.Sleep 的情况下发送数据。

    private static void Main(string[] args)
    {
         Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey = "APPINSIGHTS_INSTRUMENTATIONKEY";
        //do others stuff
        System.Threading.Thread.Sleep(10000);
   }

在这里,我使用 10 秒进行线程睡眠。但有时它会遗漏最后一部分的一些数据。但是,在 70 秒后它工作正常。

我想知道,发送每条数据的最短睡眠时间是多少。

或者,还有其他不需要Thread.Sleep的方式。

【问题讨论】:

  • 你在做任何异步或线程调用//做其他事情吗?如果它们在不同的线程中运行,它们将在主控制台线程结束时终止
  • 不,没有异步调用
  • 如果没有看到更多涉及的代码,将很难评论
  • @Peter Bons 是正确的。这应该成为答案并被接受。

标签: azure telemetry azure-application-insights


【解决方案1】:

如果按照here 所述将 DeveloperMode 设置为 true,会发生什么情况? AI 不会直接发送遥测项目。如果它确实在开发人员模式下工作,也许您应该按照here 的概述调用 Flush。另外,请记住,项目可能需要几分钟才会出现在门户中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 2011-10-12
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 2013-01-22
    • 2023-02-17
    相关资源
    最近更新 更多