dotTrace在PipelineRuntime.ProcessRequestNotification中显示大量未计入时间

时间:2015-04-08 18:08:27

标签: c# .net wcf profiling dottrace

我使用dotTrace来分析用C#编写并在IIS服务器上运行的WCF .Net Web应用程序。一个条目显示在PipelineRuntime.ProcessRequestNotification中花费7.77秒,具有以下子进程

  • MyMethod中的0.03秒
    • HttpRequest.GetHeaders中的0.016秒
  • 0.2秒[不安全堆栈行走]

超过7秒完全没有计算。有没有人知道错过的时间可能会去哪里? MyMethod中的某些东西可能正在吃掉那个时间,但dotTrace只是没有正确报告它吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,未计入时间是PipelineRuntime.ProcessRequestNotification自己的时间。这意味着该特定函数的代码和JIT 函数内联的代码消耗约7秒。

如果我们假设但不应该这么做,我们必须调查原因。有两种可能性 - 此函数被调用太多次(跟踪分析类型将有助于检查)或该函数中的某些指令很慢(逐行分析类型将帮助您分析内部的相对指令时间)。