2011-11-21 3 views
2

정말 도구가 마음에 들지만 미니 프로파일 러의 결과를 해석하는 데 도움이되는 가이드 라인을 찾을 수 없었습니다. 나는 액션 메소드 하나당 하나의 확장 가능한 탭을 얻는 것처럼 보였고, 수동으로 생성 된 프로파일 러 단계의 지속 시간을 분명히 알 수 있지만 직관적으로 (또는 Google의 도움으로) '지속 시간'과 ' 어린이." 이 질문을 입력하면 추측을 생각해 냈습니다. "기간"은 ", 어린이는 제외합니까?"MVC 미니 프로파일 러 "duration"vs "with with children"

답변

4

지속 시간은 모니터 된 코드에서보고 된 모든 하위를 제외하고 실행되는 시간입니다. MVC 미니 프로파일 러는 계층 구조를 사용하여 서로 다른 코드 경로의 타이밍을 추적합니다. 이 계층 구조는 기능을 기반으로 작성되는 것이 아니라 통화 기록 방법에 따라 작성됩니다.

다음은 프로젝트의 샘플 예제입니다. "getList", "FilListWithOptions"등을 실행하는 "ListService"를 호출하는 페이지가 있습니다.

http://www.temppage.com:80/something.aspx 
ListService 
    getList         
    FillListWithOptions 
    QtyBreakPrices 
    FillProductDataWithOptions 
    GetProducts  
ProductService 

개별 기능, 모니터링 코드에 싸여 단지 중첩 된 코드가 될 필요가 없습니다 : http://www.temppage.com:80/something.aspx의은 615.2ms 수 있습니다

using (profiler.Step("ListService")) 
{ 
    using (profiler.Step("getList")) 
    { // something more interesting here 
    } 
    using (profiler.Step("FillListWithOptions")) 
    { // and here 
    } 
} 
using (profiler.Step("ProductService")) 
{  
    // blah 
} 

기간, 자녀 입니다 2222.5ms. "ListService"의은 3ms이고 어린이는은 807ms입니다.

그래서 통계에서 우리는 당신이 맞는지 확인할 수 있습니다; duration은보고 된 하위를 제외하고 실행 된 코드입니다. 어린이가있는기간이이고 어린이가 시간을 합한 시간입니다.

그러나 "ProductService는"어떤보고 아이를 가질하지 않으며이이 400ms 일에서 동일 기간와 아이들과 함께 입니다. ProductService가 다른 함수를 호출하는 다른 함수를 호출한다는 것을 알고 있습니다. 프로파일 러는 자식에 대한 정보를 모르기 때문에 자식으로 간주하지 않습니다. using 문으로 래핑하지 않는 한 두 경우 모두 동일한 결과를보고합니다.

+0

감사합니다. Paul. 이유가 무엇이든, 나는 추측을 확인하기 위해 숫자를 더하고 빼기를 시도했지만 답장을하기 전까지는 그 숫자를 얻지 못했습니다. :-) –