假设设置正确,可以记录来自asp.net核心应用程序的请求的sql调用,我试图查看来自与给定sql调用关联的ASP.NET控制器的请求。然而,我不确定连接条件。我应该在依赖项的operation_parentId上连接到请求的operationId吗?如果我这样做了,依赖项和调用它的请求之间的“纽带”是什么?
像这样的东西
// join on operationid
requests
|where timestamp > start_time and timestamp < end_time
| join (dependencies
| where ['type'] == "SQL" and data has "some-field-name-here"
) on operation_Id
//join on parentid ????
requests
|where timestamp > start_time and timestamp < end_time
| join (dependencies
| where ['type'] == "SQL" and data has "some-field-name-here"
) on $left.operation_Id = $right.operationParentId
第二个查询什么也没有给我,但是第一个查询中的请求,如果我看一下应该进行关联sql调用的代码,在那个请求的关联方法中没有语句会进行那个sql调用。我错过了什么?
1条答案
按热度按时间esyap4oy1#
获取所有相关遥测项目的最简单方法是像您一样加入
operation_Id
。但要注意可能会有一些嵌套。让我们假设以下情况:在您的查询中,您不会看到包含生成“SQL依赖关系”的代码的“Some dependency”,因为您过滤掉了所有非“SQL”类型的遥测。
您也可以使用
Id
和operation_ParentId
遍历树。例如,要获取第一级依赖关系(“Some Dependency”和“Some Other Dependency”),您可以执行以下操作:下面是关于相关性的数据模型的文档。