Hello Maik,
As Michal already said, it is very nice that you would like to
contribute such a great feature :)! I am moving this discussion to
PDT development mailing group (please join via
https://dev.eclipse.org/mailman/listinfo/pdt-dev) as I think that
other team members may also add value to this topic.
As a first step I would like to describe briefly what I think we can
do to add another profiler based on Xdebug. First of all, the
currently available profiler is based on Zend Debugger and all
supporting code was moved from Zend Studio and added as a separate
feature for PDT. As you have probably already noticed, there is no
common API in PDT core plug-ins for profiling support. Everything is
packed in new feature for Zend Profiler. As I am not too familiar
yet with internals for Xdebug profiling in general (and differences
with Zend Debugger profiler data) I can not say what would be needed
to create a common API that would work for both profilers. Anyway as
you already started some analysis I guess that you will be able to
tell me what is missing or would have to be refactored to handle
Xdebug profiler data.
As an entry point I suggest to take a look at org.eclipse.php.profile.core.engine
and
org.eclipse.php.profile.core.data packages and related
classes/interfaces (especially ProfilerDB interface which I think
may be reworked to serve both profilers as an entry point for
profiling result data). If you would be able to provide Xdebug
implementation for this interface then everything else should be a
little bit straight forward. But as I already said it would be nice
if you can investigate/suggest what need to be changed to create
common API that would serve both profilers. If you find it possible
to provide such implementation we can think about extracting some
common part of API for both profilers and moving it directly to PDT
core plug-ins.
Greetings,
Bartlomiej Laczkowski
|