首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure函数中的端到端多组分测井应用观察

Azure函数中的端到端多组分测井应用观察
EN

Stack Overflow用户
提问于 2018-12-20 14:21:47
回答 1查看 556关注 0票数 1

使用应用程序洞察(AI)的多个组件之间的端到端日志记录是基于Request-Id头的.因此,每个组件都负责执行一个可能传入的Request-Id。为了在Application中获得完整的端到端分层流的正确性,需要使用Request-Id头作为AI、Operation.IdOperation.ParentId (如描述的这里)。

但是,当使用Request-Id头向Azure函数发出请求时,使用HttpTrigger绑定,例如,配置了集成应用程序洞察(如描述的这里)的HttpTrigger绑定(Microsoft.NET.Sdk.Functions 1.0.24),就会创建和使用一个全新的Operation.Id,从而导致AI中的整个流丢失。关于如何绕过这件事有什么想法吗?

设置一个单独的自定义TelemetryClient可能是一个选项。但是似乎需要大量的配置才能获得完整的ExceptionTrackingTelemetryModuleDependencyTrackingTelemetryModule --特别是在使用v2和Core函数时(参考到AI配置)。有人干得那么成功吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-21 00:57:25

这还没有得到函数的支持,但应该会在明年初开始工作。

如果您想破解它,可以添加对ApplicationInsights SDK (v2.4.1)的引用,并配置RequestTrackingTelemetryModule。

代码语言:javascript
复制
    static Function1()
    {
        requestModule = new RequestTrackingTelemetryModule();
        requestModule.Initialize(TelemetryConfiguration.Active);

    }

    private static RequestTrackingTelemetryModule requestModule;

这是相当粗略的,没有充分的测试和缺点。例如,收集的请求不再使用函数细节(调用id等)进行扩展。要克服这一问题,您需要从函数依赖注入容器中获取真正的TelemetryConfiguration,并使用它初始化模块。它应该是可能,但是被某些问题阻塞了。

但是,即使使用上面的代码,您也应该得到尊重传入标头和与请求相关的其他遥测的请求。

此外,当推出对http请求的相关性的开箱即用支持时,这种支持可能会中断.因此,这是一个讨厌的临时解决方案,只有当你必须使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53870489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档