- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过 App Insights integration 将 Azure Functions TraceWriter
输出发送到 Application Insights 。当我寻找痕迹时,它们并没有按顺序出现。例如,我可以运行如下查询
traces | where operation_Id == "<guid>" | order by timestamp asc
并从该调用中获取 19 条跟踪记录。但它们之间只有 5 个唯一的时间戳
,因此记录不会以完美的顺序返回。
还有其他方法可以对痕迹进行排序吗?
<小时/>此查询确认发送到 App Insights 的时间是毫秒分辨率 - 如果是的话。 (微米和纳米始终=0)。
traces | project timestamp, datetime_part('microsecond', timestamp)
最佳答案
我正在等待 App Insights 团队的官方答复,看看是否有办法提供更高的精度,但我们可能会受到 DateTime.Now 的摆布。
<小时/>[更新]: App Insights 似乎将对此进行改进。他们提交了两个问题来跟踪:
在这些问题得到修复之前,解决方法仍然适用。
<小时/>但是,您可以使用秒表
添加自己的测量结果,甚至可以在 App Insights 中对其进行排序。您可以使用 structured logging capabilities in ILogger
执行此操作.
一个简单的例子:
using System.Net;
using System.Diagnostics;
public static HttpResponseMessage Run(HttpRequestMessage req, ILogger logger)
{
// offset the Stopwatch with the current ticks so multiple runs don't overlap.
var startTicks = DateTime.UtcNow.Ticks;
Stopwatch sw = Stopwatch.StartNew();
logger.LogInformation("[{PreciseTimeStamp}] Log 1", (startTicks + sw.ElapsedTicks).ToString());
logger.LogInformation("[{PreciseTimeStamp}] Log 2", (startTicks + sw.ElapsedTicks).ToString());
logger.LogInformation("[{PreciseTimeStamp}] Log 3", (startTicks + sw.ElapsedTicks).ToString());
logger.LogInformation("[{PreciseTimeStamp}] Log 4", (startTicks + sw.ElapsedTicks).ToString());
logger.LogInformation("[{PreciseTimeStamp}] Log 5", (startTicks + sw.ElapsedTicks).ToString());
sw.Stop();
return req.CreateResponse(HttpStatusCode.OK);
}
这将输出如下内容:
2018-03-06T19:46:32.278 [Info] [636559623922781779] Log 1
2018-03-06T19:46:32.278 [Info] [636559623922783356] Log 2
2018-03-06T19:46:32.278 [Info] [636559623922784381] Log 3
2018-03-06T19:46:32.278 [Info] [636559623922785325] Log 4
2018-03-06T19:46:32.278 [Info] [636559623922786254] Log 5
在 App Insights 中,您可以使用 order by tolong(customDimensions.prop__PreciseTimeStamp) asc
进行排序。但由于时间戳位于消息中,因此您也可以按时间戳进行排序。
如果您想变得更有趣,您可以将新列添加到您的跟踪中,而无需使用如下的日志记录帮助程序将其显示在消息中:
public static void LogWithPrecision(ILogger logger, string message, long ticks)
{
var state = new Dictionary<string, object>
{
["PreciseTimeStamp"] = ticks.ToString()
};
logger.Log(LogLevel.Information, 0, state, null, (s, e) => message);
}
您可以按照与上述相同的方式进行排序,但消息中不会显示勾号。
关于azure - App Insights 跟踪无序(Azure Functions 应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49102487/
我有多个应用程序使用 Application Insights for Production Data。我正在尝试使用 City 遥测字段来映射我们当前的用户。这些数据的跟踪似乎非常不一致,并且在大多
有没有办法在 ASP.NET Web 应用程序中禁用 Application Insights?假设我想关闭生产中运行的应用程序中的所有数据收集。 最佳答案 如果 ikey 在 Application
如何在 Azure Application Insights 中将时差转换为毫秒 let startTime = todatetime('2017-05-15T17:02:23.7148691Z');
我在 Application Insights Analytics 中有一些数据,它有一个动态对象作为自定义维度的属性。例如: | timestamp | name
我从 Chrome 开发工具和 Google Page Speed Insights 页面运行 Google Page Speed Insights(移动)得到了不同的结果。当我从 Chrome 开发
我在我的 ASP.NET MVC Angular 应用程序中使用 App insights。我在我的布局文件中插入了 JavaScript block (我得到了 from the Microsoft
在我们当前的本地设置中,我们有 20 多个 .net core 3.1 API 应用程序(单独的 ASP.NET Core API 应用程序)。我们已开始将 2 个 APi 应用程序迁移到使用单个 A
我有一个应用洞察查询。在此查询中,我想将多个列加入/合并为一个列以显示如何实现这一点。 我想结合 ip、城市、州、国家。 customEvents | where timestamp >= ago(7
我有一个托管在 Windows Server 2008 上的 ASP.Net MVC 4 应用程序。我使用的是 Microsoft Application Insights,它非常适用于客户端指标,例
我已经开始使用应用程序洞察来记录来自控制台应用程序的消息。 仅记录严重和错误。未记录信息或跟踪。关于为什么排除信息的任何想法? class Program { static void Mai
我将 App Service 捆绑的 App Insights 代理与 .Net 4.7 应用程序一起使用,并且没有使用 SDK。我配置代理的唯一选项是应用程序设置,如文档 https://docs.
我正在使用 Application insights 进行由外向内测试,但我的代码未使用它进行检测。我不想收到关于我的服务的每周电子邮件摘要,因为大多数栏目都是空白的。如何禁用正在发送的电子邮件? (
这不是一个特别技术性的问题,但是其他人的洞察数据有问题吗? http://www.facebook.com/insights/?sk=ao_119242438097337 自 18 日(6 天前)以来
我们的 ASP.NET MVC 应用程序包含一些 URI 路径参数,例如: https://example.com/api/query/14hes1017ceimgS2ESsIec 在 Applica
我想使用一个包含数组的变量,所以我可以将它与 in 过滤器一起使用。 这行得通: traces | where cloud_RoleName in ("A", "B") 这不起作用(语法错误): le
我的 Facebook Insights 帐户中添加了 Facebook“Insights For My Domain”。我有一个不再使用的旧域,想从我的 Facebook Insights 帐户中删
有人使用过Sonatype Insight-Application Health Checker吗?它要求您扫描应用程序(war、jar、zip 等),然后将其结果上传到Sonatype Insigh
我正在使用这个引用 documentation用于应用洞察。 如何使用不同查询的输出进行子选择? //Query 1 Events | where Timestamp >= ago(30min) a
我正在试用预览版,并尝试将见解添加到本地部署在我机器上的 IIS Web 应用程序。它是一个运行在普通应用程序池中的 .Net 4.5 应用程序。添加见解后启动应用程序时,出现此异常: 无法加载文件或
如何将 Application insights 最终用户用户分析添加到 DocFx 以跟踪每个文档页面的使用情况? Application Insights 文档指出您需要在结束标记之前立即插入下面
我是一名优秀的程序员,十分优秀!