捕获与Profiler类似的JavaScript活动

时间:2015-07-08 19:12:16

标签: javascript

我们有一个庞大的Web应用程序和大量的JavaScript代码。这种感觉只是执行代码的一小部分,但它当然总是下载很糟糕。

对于第1步,我被要求数据库记录JavaScript活动,然后对高容量使用功能进行性能调整。对于第2步,在不破坏任何内容的情况下消除遗留代码是另一天。将信息输入数据库很容易。 我的问题是如何跟踪全局类似于分析器 的JavaScript活动,而无需在所有函数和内联代码执行中添加其他代码?

我知道我可以添加事件监听器来跟踪点击次数等,但我不认为这会告诉我函数A是否调用了函数B,或者函数是否在每10秒运行一次的计时器等等。此外,我不需要的许多点击,因为我只想要执行代码的那些。我在运行profiler的同时在IE11中运行了内联JavaScript测试和函数调用测试,它捕获了我正在寻找的内容。

我是不是希望事件监听器会给我一个探查器跟踪的所有活动,或者还有其他我不知道的事情?非常感谢!

以下是我运行的测试的探查器结果和代码,以查看IE11探测器正在捕获的内容。想捕获类似或相同的内容。

(1) TEST1_A - 好的,很棒,记录了TEST1_A运行的功能。

(1) TEST1_B - 好的,很棒,功能TEST1_A跑了TEST1_B。在配置文件树中显示。

(4) innerHTML - 好的,这样做了4次。

(4) nodeName - 好的,需要4次节点名称。

(1) onclick - 好的,点击一个按钮。我很高兴。

(1) onclick - 好的,点击一个按钮。我很高兴。

(8)目标 - 好的,定位页面8次。

(2)文件 - 嗯,做了4次,但只有2次计数。点击两个按钮。每个实例可能有一个计数。

(2) getElementById - 与上述相同。

<div id="TEST1_A_RESULT_BUCKET">TEST1_A_RESULT_BUCKET</div>
<div id="TEST1_B_RESULT_BUCKET">TEST1_B_RESULT_BUCKET</div>
<div id="TEST2_A_RESULT_BUCKET">TEST2_A_RESULT_BUCKET</div>
<div id="TEST2_B_RESULT_BUCKET">TEST2_B_RESULT_BUCKET</div>

<!--run test 1 - Two JavaScript Functions-->
<button onclick="TEST1_A()">Execute Test 1</button><br>

<script>

    function TEST1_A() {

        document.getElementById('TEST1_A_RESULT_BUCKET').innerHTML = 'TEST1_A_RESULT_LOGGED';

        TEST1_B();
    }

    function TEST1_B() {

        document.getElementById('TEST1_B_RESULT_BUCKET').innerHTML = 'TEST1_B_RESULT_LOGGED';
    }

</script>

<!--run test 2 - Inline JavaScript-->
<button onclick="javascript: TEST2_A_RESULT_BUCKET.innerHTML = 'TEST2_A_RESULT_LOGGED'; TEST2_B_RESULT_BUCKET.innerHTML = 'TEST2_B_RESULT_LOGGED';">Execute Test 2</button>

0 个答案:

没有答案