Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [pdt-dev] xDebug profiller

1. Mixed mode with current code is really hard to implement, so I defer this to separate repository.
2. Yes. With pure profile mode we haven’t any connection to debugger. The only way is manual importing cache grind file (already done). To simplify this I would like to introduce dir scanner (especially for SSH connections), where user can easy import via double click. Se also how work webgrind.
3.In this way we working right now. xdebug can populate aggregated files,  but I didn’t test this yet.
4. We haven’t response header, especially in pure profile. We only have list of cache grind files and can read it’s creation date. If user select correct name schema, we can detect url, date etc..[1]
5. It’s related to point 2. We should watch output dir via SSH session, and download file on demand. 

Current patch state:
1. Support cache grind manual import with state saving
2. Support php executable profiling session. PHPUnit support should be done via separate thread, mostly due nightmare in launchdelegates

What we read from file:
1. Complete call tree with timestamps
2. List of files / classes / functions and it’s positions

UI allow:
1. Navigate over call tree
2. Navigate to call file:position
3. Navigate to definition file:position
4. Display invocation statics (call and callers list)

I would like to drop “[WIP]” and merge patch as is and continue work via separate bugs like:
1. Support xdebug 2.6 memory statistics
2. Reduce UI freezing as much as possible  - Execution Statistics tree it’s extremely slow
3. Improvements around Invocation Statistic tables. I thinking about docking inside Execution Statistics, and show call/callers based on current selection.
4. Model improvements to allow flag call tree positions as “internal function call”, “file includes include” etc.. and filters for that
5. output_dir scanner 
6. Support xdebug trace file
7. General performance improvements, currently pdt store everything in memory. Disk store is must have
8. Dark theme improvements
9. probably more … this patch opens another window in my head :P



From: Michele Locati <michele@xxxxxxxxx>
Reply: PDT Developers <pdt-dev@xxxxxxxxxxx>
Date: 2 May 2018 at 18:01:59
To: PDT Developers <pdt-dev@xxxxxxxxxxx>
Subject:  Re: [pdt-dev] xDebug profiller

Hi David,

1. Yes, I'd prefer a checkbox in "profile" launch instead of adding a new "profile and debug" profile
2. Would that work also when the server is not directly controlled by PDT (like Apache or NGINX)?
3. I'd prefer a profile session for each request: profiling is very helpful to see where a request is taking a lot of time, and mixing requests in the same session would make it harder.
4. What about adding a filter for the Content-Type response header? We could also add a filter for paths (eg "I want to profile the requests that starts with "/path/to/uri/resource/")
5. I don't understand ;)

--
Michele


2018-04-28 19:11 GMT+02:00 Dawid Pakuła <zulus@xxxxxxxxx>:
Hi Team,

I’m playing with xDebug profiler and thinking about possible integration.

Currently I have couple concerns:
1. We need support PROFILE and PROFILE+DEBUG mode. I think debug as optional checkbox in profile launch configuration. What you think?
2. For web launch we need place where to store “xdebug.profiler_output_dir”. For EXE we can easy read (or override) this property before launch. What you think about settings in server configuration + ability to override on web launch level?
3. I’m not sure how to play with multiple request. Auto aggregate or prepare profile session for each request?
4. Despite of aggregation we definetely need way to filter requests. Any idea how to prepare usable UI for that?
5. I’m not sure how efficiently watch SSH dir changes for new profile files. Any ideas?


Besides I want extend “import profile session” wizard to support xdebug cache-grind files (“simple" transform). This I hope will be good start before implement watch deamons.


_______________________________________________
pdt-dev mailing list
pdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/pdt-dev

_______________________________________________
pdt-dev mailing list
pdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/pdt-dev

Back to the top