• Dottrace 10.0.2 使用心得


    开发环境vs2015 

    软件:JetBrains dotTrace 10.0.2  

    刚开始不知道怎么下手,多看了一会还有一位仁兄的解释.算是对某个功能小有入门了. 当前会查看某个方法在抓取快照时间它的执行时间了.今天就在此把这个方法介绍一下

    引言:

        当自己程序遇到性能问题,比如IIs请求反应缓慢,客户端程序执行缓慢,怎么分析是哪里出了问题呢?dottrace可以帮助.net程序跟踪出代码里每个方法的执行时间,这样让我们更清晰的看出是哪里执行时间过长,然后再分析应该怎样解决。Dottrace是由JetBrainshttp://www.jetbrains.com/ 公司开发的一款产品,它分dottrace Performance和dottrace Memory 两个工具,dottrace Performance用来分析代码性能,比如函数执行时间,调用次数,消耗时间比率等,dottrace Memory一般用来分析内存占用情况。dottrace可以跟踪.net编写的:应用程序,IIS挂接的程序,windows服务,silverlight,WCF服务程序等。还可以把跟踪的文件,以快照的方式保存下来,保存为dtp后缀的文件。跟踪后的结果,如果能找到对应用户的代码信息,还可以直接查看对应的源代码,并选择在VS里直接编辑该方法对应的文件。

    复制别的博客的内容,今天懒得改了,版本不一样大体都差不多.关键的原理就在下边.

    如上图,Application、Arguments分别对应可执行程序的路径和需要的参数。

    profiling type 有三种类型:

    • Tracing:它是通过获取CLR内部一个方法开始执行和结束执行的时间差来计算的分析时间。
    • Line-by-line:它是通过收集代码执行的每条语句的时间来,它计算出的时间更精确。
    • Sampling:它是抽样的方式,每隔一段时间(windows下大概是10ms),会暂停所有线程,并抓取堆栈里的信息,然后计算出代码执行时间差,这个选项可能会导致一些执行很短的方法抓取不到的问题。

    Measure的三种类型:

    • Wall time(performance counter): 它是通过Performance Counter API来收集的信息,一般操作系统和各个硬件设备都提供性能计数的API供程序调用。
    • Thread time:它只支持Sampling的分析方式,它通过一个固定的线程来抓取堆栈信息计算时间,并且它只计算自己内部程序执行的时间,不管等待其他IO的时间。
    • Wall time(CPU instruction):它是通过读取TSC processor register里记录的方法进入和退出时间差的方式来计算的。

      根据上面的选项方式,一般我们要想完整分析自己程序的执行时间,建议可以采用Line-byline(或Tracing)和Wall time(CPU instruction)或Wall time(performance counter)的方式,因为如果用抽样和Thread time的搭配方式,会只计算自己内部时间,不能计算自己程序和外部程序交互的时间,会让自己分析性能时产生误导。

    一下是自己的心得:

    数据快照抓取完毕后,进入all calls  此处应该是方法调用次数吧.

    点工具栏上边的搜索框,输入你想查询的自己编写的方法.就能查出此方法运行占用的时间了. 如图:

    main后半边的 ms 是整个运行的时间 下边是具体哪个部分占用的时间长,个人理解.

    搜索后进入另一个界面

    这是个写txt 的方法, 上边有总的时间,  写的时间,关的时间,close 用了5ms 

    打开那个上边12ms的目录

    竟然createfile 方法占的最多

  • 相关阅读:
    springmvc log4j 配置
    intellij idea maven springmvc 环境搭建
    spring,property not found on type
    intellij idea maven 工程生成可执行的jar
    device eth0 does not seem to be present, delaying initialization
    macos ssh host配置及免密登陆
    centos7 搭建 docker 环境
    通过rest接口获取自增id (twitter snowflake算法)
    微信小程序开发体验
    gitbook 制作 beego 参考手册
  • 原文地址:https://www.cnblogs.com/zuochanzi/p/6782769.html
Copyright © 2020-2023  润新知