Last modified: 2011-03-07 17:32:51 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T28404, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 26404 - Enable call graphs for doxygen-generated docs
Enable call graphs for doxygen-generated docs
Status: CLOSED FIXED
Product: MediaWiki
Classification: Unclassified
Documentation (Other open bugs)
unspecified
All All
: Normal enhancement (vote)
: ---
Assigned To: Nobody - You can work on this!
http://svn.wikimedia.org/doc/
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-12-23 18:44 UTC by Zak Greant
Modified: 2011-03-07 17:32 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
Sample call graph for Title::getLinkUrl (144.08 KB, image/png)
2010-12-23 18:44 UTC, Zak Greant
Details
Enable call graph generation if dot support is available. (2.75 KB, patch)
2010-12-27 16:13 UTC, Zak Greant
Details
Attempt call graph generation if dot support is available. (2.71 KB, patch)
2010-12-27 16:17 UTC, Zak Greant
Details

Description Zak Greant 2010-12-23 18:44:14 UTC
Created attachment 7923 [details]
Sample call graph for Title::getLinkUrl

It would be nice to have call graphs included in http://svn.wikimedia.org/doc

Enabling call graphs should be simple.

* We'll need to have dot installed on the server that generates the docs.
* In the config file for doxygen, HAVE_DOT and CALL_GRAPH need to be set to YES.

On my older MacBook with 2GB RAM, generating call graphs increases the run time of make docs about 12 times.

If you've not seen the call graphs generated by doxygen, I've attached a sample.  When the call graphs is shown in the docs, it's supplemented by an image map that links to documentation for the relevant calls. e.g. The image for Title::getFullURL links to the docs page for Title::getFullURL
Comment 1 Sam Reed (reedy) 2010-12-23 18:45:09 UTC
CC'ing ryan
Comment 2 Antoine "hashar" Musso (WMF) 2010-12-23 18:45:47 UTC
I do support this function.  I already use it locally.
Comment 3 Sam Reed (reedy) 2010-12-23 18:50:19 UTC
Be interesting to see how long it takes currently, and checking it with this....

Formey - http://wikitech.wikimedia.org/view/Formey

Not a brilliantly high spec machine, but dual core with 4GB Ram...
Comment 4 Niklas Laxström 2010-12-23 18:51:37 UTC
We don't have even inheritance graphs yet... :o
Comment 5 Zak Greant 2010-12-23 18:53:52 UTC
@reedy: On my machine, it was 4 minutes without v. 50 minutes with
(MacBook 2Ghz Core 2 Duo w/ 2GB of memory)
Comment 6 Sam Reed (reedy) 2010-12-23 19:00:53 UTC
Zak, you might want to provide a diff for the doxyfile - phase3/maintenance/Doxyfile
Comment 7 Zak Greant 2010-12-23 20:09:56 UTC
Sure. I'll also update the makefile with checks for dot support and so on.
Comment 8 Sam Reed (reedy) 2010-12-23 23:51:56 UTC
Ryan reckons it's less than a minute to generate them on formey

Which is 25% of the time it takes yours.... 12 minutes doesn't seem too bad... (Though, it's probably not so linear!)
Comment 9 Zak Greant 2010-12-27 16:13:48 UTC
Created attachment 7933 [details]
Enable call graph generation if dot support is available.

A patch to mwdocgen.php and Doxyfile.

Main focus of the patch is to enable call graph generation by doxygen if dot support is available.

Minor changes:
- tweak internal docs
- make error message more useful
- remove commented-out hard-coded path
Comment 10 Zak Greant 2010-12-27 16:17:48 UTC
Created attachment 7934 [details]
Attempt call graph generation if dot support is available.

... let's adjust that patch a bit.  Remove unused placeholder and change comments a bit.
Comment 11 Sam Reed (reedy) 2010-12-27 16:30:43 UTC
Btw Zak, do you have SVN access?
Comment 12 Ryan Lane 2010-12-27 16:34:37 UTC
Graphviz package has been installed.
Comment 13 Sam Reed (reedy) 2010-12-27 16:35:28 UTC
Cheers Ryan,

Also, Zak, any idea about enabling the inheritance graphs per Nikerabbit?
Comment 14 Zak Greant 2010-12-27 16:48:50 UTC
Thanks @Ryan.

@Reedy:
* I don't have commit access (but I have applied for it.)
* The patch enables generation of inheritance graphs as well.
Comment 15 Sam Reed (reedy) 2010-12-27 16:57:19 UTC
Committed in r79070

Hopefully should mean tonight it regenerates with the new stuff =)
Comment 16 Sam Reed (reedy) 2010-12-27 17:15:37 UTC
Rough timing (based on IRC backlog) is about 10 minutes. Not too bad IMHO
Comment 17 Zak Greant 2010-12-27 17:33:20 UTC
Looks good. Thanks Reedy, Ryan and all!
Comment 18 Antoine "hashar" Musso (WMF) 2010-12-28 15:52:01 UTC
Well done everyone. Can we please get Zak commit access ? :-)
Comment 19 Antoine "hashar" Musso (WMF) 2011-03-07 17:32:51 UTC
Thanks for the patch Zak, it is now working on http://svn.wikimedia.org/doc/

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links