gpt4 book ai didi

azure - 无法让嵌套的 StartOperation 显示在筛选器下拉列表中

转载 作者:行者123 更新时间:2023-12-02 07:03:43 24 4
gpt4 key购买 nike

我有一个配置为登录到 Application Insights 的 ASP.NET Core 应用程序。我还使用此方法在 Application Insights 时间线中创建依赖项:

private void TestLogOperations()
{
using (IOperationHolder<DependencyTelemetry> topHolder = telemetryClient.StartOperation<DependencyTelemetry>("TopOperation"))
{
logger.LogWarning("top holder log");

using (IOperationHolder<DependencyTelemetry> innerHolder = telemetryClient.StartOperation<DependencyTelemetry>("InnerOperation"))
{
logger.LogWarning("inner holder log");
}
}
}

操作正确地出现在时间轴内:

The timeline of dependencies

但是当我想按依赖项进行过滤时(例如,我只想过滤“InnerOperation”中的日志),它们不会显示在下拉列表中,只显示顶部请求操作(localhost:5000 | POST User/帖子):

Filters now working

我知道可以按依赖项进行过滤,因为我曾参与过这样做的项目,但我该如何做到这一点?

最佳答案

根据我的测试,这是DependencyTelemetry的默认行为。

如果您想在帖子中显示您想要的内容,则应将 DependencyTelemetry 更改为 RequestTelemetry

这是测试代码:

        private void TestLogOperations()
{
using (IOperationHolder<RequestTelemetry> topHolder = telemetryClient.StartOperation<RequestTelemetry>("TopOperation1"))
{
//telemetryClient.TrackTrace("top holder log 111");
_logger.LogWarning("top holder log 1");

using (IOperationHolder<RequestTelemetry> innerHolder = telemetryClient.StartOperation<RequestTelemetry>("InnerOperation1"))
{
//telemetryClient.TrackTrace("inner holder log 1 111");
_logger.LogWarning("inner holder log 1");
}
}
}

测试结果:

enter image description here

关于azure - 无法让嵌套的 StartOperation 显示在筛选器下拉列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59480308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com