[asterisk-bugs] [JIRA] (ASTERISK-24974) Astobj2: Improve error logging from INTERNAL_OBJ().

Corey Farrell (JIRA) noreply at issues.asterisk.org
Fri Apr 17 14:58:33 CDT 2015


Corey Farrell created ASTERISK-24974:
----------------------------------------

             Summary: Astobj2: Improve error logging from INTERNAL_OBJ().
                 Key: ASTERISK-24974
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24974
             Project: Asterisk
          Issue Type: Improvement
      Security Level: None
          Components: Core/AstMM
    Affects Versions: SVN
            Reporter: Corey Farrell
            Severity: Minor


The error logging from {{INTERNAL_OBJ}} is completely useless without REF_DEBUG enabled, and only very minimally useful with REF_DEBUG.  With REF_DEBUG you can associate the error with previous refs log entries, but without caller information this is not very helpful.  Without REF_DEBUG you get a pointer in the logs, and no way to associate that pointer to anything.

The patch I'm proposing makes the best possible caller information available to {{INTERNAL_OBJ}}, and actually causes a small improvement in performance of the unit test {{/main/astobj2/perf}}.

Test runs of {{/main/astobj2/perf}}:
||Branch||Runtimes (ms)||Average||
|{{master}}|54133, 54045, 53753, 53731, 53692|53870|
|{{patched}}|53585, 53353, 53216, 53258, 53264|53335|

These ten test runs were done on my Linux Mint 17 workstation.  I watched TV during each run to ensure I wouldn't do anything to effect system load.  On average the patch code ran the perf test about 1% faster than master.

Note: optimizing AO2 is not a goal of this change.  The goal is to provide better debug info, without causing additional overhead.  All tests were run with REF_DEBUG disabled, as the fprintf/fflush on ref_log create an enormous overhead.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list