没有InstrumentationKey就没有调用TelemetryProcessor?

问题描述 投票:0回答:1

我创建了一个派生自ITelemetryProcessor的类,因此我可以在C#.Net类库的单元测试中捕获遥测数据。作为单元测试,没有提供InstrumentationKey,因为单元测试应该没有网络依赖性。 (我无法将遥测系统考虑到注入的接口。)

我在单元测试方法中创建并使用TelemetryClient并记录自定义事件。但是,我注意到在记录遥测项目时没有调用我的Process()方法。

在做了一些实验之后,我意识到如果将InstrumentationKey设置为虚拟Guid,那么我的Processor()方法就开始被调用了。

TelemetryConfiguration.Active.InstrumentationKey = Guid.NewGuid().ToString();

问题:为什么我需要提供一个InstrumentationKey才能调用处理器?

谢谢

-约翰

azure-application-insights
1个回答
0
投票

遥测处理器用于在发送到AI之前对遥测项目应用额外的处理/过滤。如果没有ikey,则无法向AI发送,因为它无论如何都不会被接受。为什么要运行所有处理器的开销。

© www.soinside.com 2019 - 2024. All rights reserved.