Azure 应用程序见解删除了一些自定义事件
Azure application insights drops some custom events
我有一个 Web 应用程序,想使用以下代码跟踪 AppInsights 中的用户登录:
[HttpPost]
public async Task<ActionResult> Login(AccountViewModel model, string returnUrl)
{
var success = await _userManager.CheckPasswordAsync(model);
_telemetryClient.TrackEvent("Login",
new Dictionary<string, string>
{
{ "UserName", model.UserName },
{ "UsingPin", model.UsingPin.ToString()},
{ "ReturnUrl", returnUrl},
{ "LastUsedUrl", model.LastUsedUrl },
{ "Success", success.ToString() }
});
return View(model);
}
代码有效,我在分析门户中获得了事件...但只有一部分事件!在数据库端的会话 table 中,我有大约 1000 个唯一用户登录,但 AI 报告大约有 100...
我已经检查过的内容:
- _telemetryClient 是通过 Unity 配置的单例 (
<lifetime type="singleton" />
)
- Azure 门户中没有配置配额
- 我有超过 1000 个 POST 请求登录方法,这看起来恰到好处(我的意思是每个请求都到达这个确切的服务器,returns 200 状态等)
所以看起来 Azure 只是删除了一些自定义事件...或者由于某种原因它们没有发送到 azure。是否缺少任何配置部分?
据我所知,如果您的应用程序发送大量数据并且您使用的是 ASP.NET 版本 2.0.0-beta3 或更高版本的 Application Insights SDK,则自适应采样功能可能会运行并发送只有你遥测的一部分。
所以我想这就是您在 AI 中只看到 100 条记录的原因。
如果你想把所有的记录都发送给AI,我建议你可以关闭自适应采样。更多关于如何禁用自适应采样的详细信息,您可以参考article。
注意:不推荐这样做。设计采样以便正确传输相关遥测数据,以用于诊断目的。
我有一个 Web 应用程序,想使用以下代码跟踪 AppInsights 中的用户登录:
[HttpPost]
public async Task<ActionResult> Login(AccountViewModel model, string returnUrl)
{
var success = await _userManager.CheckPasswordAsync(model);
_telemetryClient.TrackEvent("Login",
new Dictionary<string, string>
{
{ "UserName", model.UserName },
{ "UsingPin", model.UsingPin.ToString()},
{ "ReturnUrl", returnUrl},
{ "LastUsedUrl", model.LastUsedUrl },
{ "Success", success.ToString() }
});
return View(model);
}
代码有效,我在分析门户中获得了事件...但只有一部分事件!在数据库端的会话 table 中,我有大约 1000 个唯一用户登录,但 AI 报告大约有 100...
我已经检查过的内容:
- _telemetryClient 是通过 Unity 配置的单例 (
<lifetime type="singleton" />
) - Azure 门户中没有配置配额
- 我有超过 1000 个 POST 请求登录方法,这看起来恰到好处(我的意思是每个请求都到达这个确切的服务器,returns 200 状态等)
所以看起来 Azure 只是删除了一些自定义事件...或者由于某种原因它们没有发送到 azure。是否缺少任何配置部分?
据我所知,如果您的应用程序发送大量数据并且您使用的是 ASP.NET 版本 2.0.0-beta3 或更高版本的 Application Insights SDK,则自适应采样功能可能会运行并发送只有你遥测的一部分。
所以我想这就是您在 AI 中只看到 100 条记录的原因。
如果你想把所有的记录都发送给AI,我建议你可以关闭自适应采样。更多关于如何禁用自适应采样的详细信息,您可以参考article。
注意:不推荐这样做。设计采样以便正确传输相关遥测数据,以用于诊断目的。