Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:39390 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 94717 invoked from network); 28 Jul 2008 00:57:24 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Jul 2008 00:57:24 -0000 Authentication-Results: pb1.pair.com header.from=alan@akbkhome.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=alan@akbkhome.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain akbkhome.com designates 202.81.246.113 as permitted sender) X-PHP-List-Original-Sender: alan@akbkhome.com X-Host-Fingerprint: 202.81.246.113 246-113.netfront.net Received: from [202.81.246.113] ([202.81.246.113:37692] helo=akbkhome.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 9F/35-58197-1791D884 for ; Sun, 27 Jul 2008 20:57:23 -0400 Received: from wideboy ([192.168.0.27]) by akbkhome.com with esmtp (Exim 4.69) (envelope-from ) id 1KNH36-0002aa-Qy; Mon, 28 Jul 2008 08:57:17 +0800 Message-ID: <488D196A.80209@akbkhome.com> Date: Mon, 28 Jul 2008 08:57:14 +0800 User-Agent: Thunderbird 2.0.0.16 (X11/20080724) MIME-Version: 1.0 To: "Chung-Yang(Kenneth) Lee" CC: internals@lists.php.net References: <7258D645-9F3E-4AAA-82E4-E8566447BF62@gmail.com> In-Reply-To: <7258D645-9F3E-4AAA-82E4-E8566447BF62@gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-mailfort-sig: 3a4f78637679b1d0d15f27e6d08c028a Subject: Re: [PHP-DEV] GSoC Update (XDebug project) From: alan@akbkhome.com (Alan Knowles) Please be careful when using ExtJS - it has a GPL or proprietary only licence. - RooJS should be a plugin replacement for it. see: http://www.roojs.com/trac/ Regards Alan Chung-Yang(Kenneth) Lee wrote: > I am Chung-Yang (Kenneth) Lee, a current master student in Indiana > University Bloomington under the information science major. > For GSoC, I work on the XDebug project, which is to create a web > front-end to deal with the profiler's output from XDebug. > The main goal is to create a web-based application that make the > output more readable and helpful to developers. > > [ Project Details ] > > The goal of this project is to build an interface that can visualize > the cachegrind / callgrind output from XDebug, > which is a pure text file containing information about function > relationships within the code. > To achieve this goal, I selected EXT JS grid as the back-end supported > library. > The system flow is users will first decide either to upload a file to > be parsed or choose a file from an assigned directory. > After the file is uploaded / chosen, the system will extract and > calculate required information from the file and format it into a JSON > object. > The grid will then read in the JSON object and present the information > to the front-end. > Users can perform functions like sorting, filtering, ungrouping, > moving columns around, etc. on the grid. > > [ Main Functionality ] > > - File upload > - Cachegrind output parsing > - Track Function calls > - Track Function calls execution time > - Function call tree and track time/percent taken for the whole tree > processing and > - Percent and Time format output filtering > - List callers > - List callees > - Graph tree structure > > [ Progress ] > > Most of the functionalities were done. > Users can now upload a file to get parsed and visualized from the > interface. > After the file is parsed, the interface will display information like > function names, total self cost in ms and by percentage, invocation > count. > The information is displayed in a grid after the file is parsed and > users can perform sorting, grouping / ungrouping, and moving columns > on the grid as for now. > > Currently, I am working on the information filtering function that > users can specify what information they need, > for example, filtering out php internal functions, searching time > consumed by a function that is greater / less than a specified number, > etc. > Making the file uploading process more manageable and making the whole > application more configurable are two main tasks after the filtering > function is done. > > Thanks, > Kenneth >