This for now shows the nodes that are registered in a manager, in the
hirarchy that is used. Redirects are displayed red, logicals gray and
normals in a e-style blue. If something is part of the focus history its
green.
Summary:
Due to splitting efl_profiling_viewer to the library this
extension was prepared. This is a first version of extension and will be
improved. After @Deepwarrior will publish code for efl_profiling_viewer that
make possible to work with real time data from efl_debug system, it will
be possible compile clouseau with efl_profiling_viewer support.
Test Plan:
Inctall Profiling_Viewer library in the system.
Build clouseau.
Launch clouseau and select Profiling viewer extesion.
Reviewers: Deepwarrior, JackDanielZ
Reviewed By: Deepwarrior
Tags: #clouseau, PHID-PROJ-w56dx3enc43oqdzz2xpa
Differential Revision: https://phab.enlightenment.org/D5061
During compilation of the objects introspection extension, the
clouseau_debug library is needed.
In Ubuntu machines, it seems that this MUST be specified in the
CMakeLists.txt. Without it, dlopen the extension fails on trying to find
a function present in the Clouseau library.
Thanks to Woohyun for using Ubuntu :-)
@fix
It seems that, after EFL update, dlsym began to make issues to find
EAPI functions.
Setting the EAPI definition in the extension file solves the issue.
Some buffers of 2K were allocated in the stack during the classes
buffering.
A crash was happening when the data was too big to fill most of the
stack buffer. This was rewriting the stack frames information.
When a return value is the only parameter of the function, a blank name
was displayed.
Additionally, the param name is not shown if there is only one parameter
for the function.
When the user wants to save the data (snapshot), Clouseau requests from
every running extension the data that is "exported".
All the data are then encapsulated into one single file.
The first idea was to use EET to store the extensions blobs as basic var
arrays. But it was taking so much time that is has been chosen that the
data itself is appended in the file after the EET blob. This one only
contains the app name/pid and the number of bytes of the blob, per
extension.
Additionnally, the objects introspection extension has been modified to
behave as the first Clouseau, i.e taking all the objects information in
one shot and using it during the interaction with the user.
The Save/Load button is now a part of the main toolbar.
It has been removed when the extentions feature has been introduced.
Now, when -f is used in the command line, a list of extensions is
displayed to request the user to choose the extension that needs to
handle this file.
The objects introspection, that has always been as a core part, is now
an extension, and can be not used.
The directories structure allows other extensions to be developed inside
the Clouseau tree, even if they can be developed outside.
Other extensions will be added and the extensions feature will be
adapted to fit all their requirements.