我正在使用 Azure Functions V2 和 Azure 服务总线触发器,该触发器设置为在 ASB 订阅上有消息时触发。我正在尝试查看消息接收延迟是否有可用的指标,以便我可以在仪表板中绘制它。我使用的是 ASB 标准 SKU,因此当发生吵闹邻居问题时,至少我可以识别出来。
我怀疑触发器属性下的代码负责检索消息。那么有没有办法可以通过仪器来可视化平均延迟?基本上,该函数仅提供执行的指标。我正在寻找的是端到端延迟指标。
最佳答案
如果您使用应用程序洞察进行日志记录,函数运行时会为每条消息记录如下一行:
2019-08-04 21:09:06.026 Trigger Details: MessageId: <Guid>, DeliveryCount: 1, EnqueuedTime: 8/4/2019 9:09:05 PM, LockedUntil: 8/4/2019 9:09:35 PM
如果您解析此日志行的 EnqueuedTime
以及记录时间(第一个时间戳),那么我们就可以计算发送到接收的延迟。
我知道这不是理想的方式。我希望函数运行时能够记录可以在 Azure Monitor 中轻松查看的事件。或者,如果它通过输入触发器传入 EnqueuedTime
,那么我们可以自己将其记录为 Application Insights 中的自定义事件。
关于具有 Azure 服务总线触发器的 Azure 函数 - 服务总线指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57340856/