[erlang-questions] profiling network apps: fprof vs sequential tracing

Joel Reymont joelr1@REDACTED
Mon Sep 20 13:57:48 CEST 2010


On Sep 17, 2010, at 4:01 PM, Björn-Egil Dahlberg wrote:

> lcnt will pinpoint locks with long acquisition time and high collision rates, which is a signal of high contention for specific memory areas.

Does this tell you anything?

6> lcnt:conflicts().
                   lock   id   #tries  #collisions  collisions [%]  time [us]  duration [%]
                  -----  ---  ------- ------------ --------------- ---------- -------------
         alcu_allocator   26 95048664       317604          0.3341    3113330        1.8408
              run_queue    4 10342831       210812          2.0382    2924435        1.7291
               pix_lock  256  9795287        17111          0.1747    1416804        0.8377
                pollset    1   992163        24805          2.5001    1350653        0.7986
              proc_msgq 1816  7019209        67222          0.9577     628357        0.3715
            proc_status 1816 15674155        92564          0.5906     592533        0.3503
              proc_link 1816  4471858         9593          0.2145     574034        0.3394
              port_lock  335  3263611        19866          0.6087     545129        0.3223
                 db_tab   51  7044068         2975          0.0422     476275        0.2816
              timeofday    1  4417012        20162          0.4565     439839        0.2601
              proc_main 1816  8389632       301788          3.5972     188551        0.1115
           drv_ev_state   16   657921          811          0.1233     126814        0.0750
            timer_wheel    1  1594264         4582          0.2874      89597        0.0530
               make_ref    1  1093840         1314          0.1201      38031        0.0225
              fix_alloc   11  4387004        15027          0.3425      30502        0.0180
   run_queue_sleep_list    4  3562460           79          0.0022      12454        0.0074
 inet_buffer_stack_lock    1   168484          117          0.0694      11138        0.0066
  ptimer_pre_alloc_lock    4   828826           47          0.0057       8794        0.0052
 message_pre_alloc_lock    4  5894368         2725          0.0462       7282        0.0043
            driver_list    1   746783          127          0.0170       5112        0.0030
ok
7> 

    Thanks, Joel

---
http://twitter.com/wagerlabs



More information about the erlang-questions mailing list