繁体   English   中英

javascript配置文件:显示单个功能的自上而下树的方式?

[英]javascript profiling: way of showing top-down tree for individual function?

假设我有一个函数OfInterest,由函数A和B调用,并且调用了函数X和Y。我正在寻找一种查看方式:

OfInterest -- 200 ms total time
    X -- 150 ms total time
    Y -- 50 ms total time

...这样它既包括A和B对OfInterest的调用。

在Chrome分析器中,这是OfInterest的自顶向下放大视图,只是AFAIK无法同时包含A和B到OfInterest的调用。 自下而上的视图为OfInterest获得了正确的总时间,但是AFAIK无法在该视图中看到X +Y。

有没有办法让Chrome将其吐出来,或者使用其他分析器(例如Firebug)来查看?

这个github项目为jvascript调用统计提供了自上而下的树

https://github.com/brucespang/jsprof

当我在寻找javascript函数调用事件探查器时,我发现了一个小脚本,可以根据需要对其进行修改,该脚本非常简单,它将显示该窗口对象中所有全局函数的统计信息,尽管它没有列出称为的嵌套函数的名称。

函数callLog(){

var functionPool = {} 

for( var func in window ) 
{

if (typeof(window[func]) === 'function') 

  {
    functionPool[func] = window[func]; 
    (function(){ 
         var functionName = func;
         var totalTime= 0;
         var noOfTimes =0;
         var minTime= 0;
         var maxTime =0;

         window[functionName] = function(){ 
         var args = [].splice.call(arguments,0); 
         var startTime = +new Date;        
         functionPool[functionName].apply(window, args );    
         var duration = new Date - startTime;

            if (duration> maxTime)
                maxTime= duration;
            if (duration< minTime)
                minTime= duration;

         totalTime = totalTime + duration;
         noOfTimes++ ;
         console.log('Executed: ' + functionName + '('+args.join(',')+')' + "   Time[" + duration + "ms]"+"  Total Time[" + totalTime +"ms]" +"   No of Times[" + noOfTimes + "]" + "max Time [" + maxTime+ "ms]" + "min Time [" +minTime +"ms]");               

        }
      })();
  }
}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM