summaryrefslogtreecommitdiff
path: root/contrib/scripts/refcounter.py
AgeCommit message (Collapse)Author
2014-09-18astobj2.c/refcounter.py: Fix to deal with invalid object refs.Richard Mudgett
* Make astob2 REF_DEBUG output an invalid object line when an invalid ao2 object ref/unref is attempted. This is similar to the constructor/destructor lines. * Fixed refcounter.py to handle skewed objects that have constructor/destructor states. * Made refcounter.py highlight the invalid ao2 object refs by putting them in their own section of the processed output file. * Made refcounter.py highlight unreffing an object by more than one that results in a negative ref count and the object being destroyed. The abnormally destroyed object is reported in the invalid and finalized object sections of the output. Review: https://reviewboard.asterisk.org/r/3971/ ........ Merged revisions 423349 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 423400 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 423416 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@423418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-13astobj2: work around REF_DEBUG race which causes out of order log entriesCorey Farrell
* Update refcounter.py to use delta's to track the current reference count. * Use result from internal_ao2_ref to write old_refcount to refs_log. Review: https://reviewboard.asterisk.org/r/3756/ ........ Merged revisions 418504 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 418505 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 418506 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-27refcounter.py: prevent use of excessive RAM with large refs logsCorey Farrell
When processing a 212MB refs file, refcounter.py used over 3GB of RAM. This change greatly reduces memory usage in two ways: * Saving object history in whole lines instead of separated values. * Not saving normal/skewed/leaked object lists unless they are requested. ASTERISK-23921 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/3668/ ........ Merged revisions 417480 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 417481 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 417483 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@417485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-04-11main/astobj2: Make REF_DEBUG a menuselect item; improve REF_DEBUG outputMatthew Jordan
This patch does the following: (1) It makes REF_DEBUG a meneselect item. Enabling REF_DEBUG now enables REF_DEBUG globally throughout Asterisk. (2) The ref debug log file is now created in the AST_LOG_DIR directory. Every run will now blow away the previous run (as large ref files sometimes caused issues). We now also no longer open/close the file on each write, instead relying on fflush to make sure data gets written to the file (in case the ao2 call being performed is about to cause a crash) (3) It goes with a comma delineated format for the ref debug file. This makes parsing much easier. This also now includes the thread ID of the thread that caused ref change. (4) A new python script instead for refcounting has been added in the contrib/scripts folder. (5) The old refcounter implementation in utils/ has been removed. Review: https://reviewboard.asterisk.org/r/3377/ ........ Merged revisions 412114 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 412115 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 412153 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@412154 65c4cc65-6c06-0410-ace0-fbb531ad65f3