Commit Graph

91 Commits

Author SHA1 Message Date
Mykyta Biliavskyi 170923b164 Add profiling viewer extension.
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
2017-09-01 14:06:21 +03:00
Daniel Zaoui 287e8498a7 Check strings nullity before strcmp 2017-06-23 09:58:40 +03:00
Daniel Zaoui bbd9525f4b Extension: remove nickname
name field is enough, even for configurations files.
2017-06-22 21:10:26 +03:00
Daniel Zaoui 9416c31515 Don't show invalid extensions
In case the library has not been found, we don't display it in the
available extensions list.
2017-06-16 11:37:06 +03:00
Daniel Zaoui c394331763 Permit extension import
A file selector is displayed so the user can select the library to load
as a Clouseau extension.
2017-06-12 11:02:10 +03:00
Daniel Zaoui 446e39c0e3 Open the last extension used at the previous run 2017-06-06 10:51:15 +03:00
Daniel Zaoui bd725339bc Adapt opcodes registration for Windows 2017-06-06 10:30:17 +03:00
Daniel Zaoui c982cb8685 Support endianness 2017-06-06 10:30:17 +03:00
Daniel Zaoui 50ea3a2740 Fix coverity issues 2017-06-06 10:30:17 +03:00
Daniel Zaoui 0baf933727 Adapt to EFL changes 2017-06-06 10:30:17 +03:00
Daniel Zaoui 8f52887d57 Use better names for daemon operations 2017-06-06 10:30:17 +03:00
Daniel Zaoui 7f709213b4 Replace remote profile support with remote port 2017-06-06 10:30:17 +03:00
Daniel Zaoui 9948eea27a Merge the Eo/Evas/Eolian into Clouseau 2017-06-06 10:30:17 +03:00
Daniel Zaoui 57773aea05 Adapt remote connection to latest EFL changes 2017-06-06 10:30:17 +03:00
Daniel Zaoui 44aa6dd03e Fix main UI 2017-06-06 10:30:17 +03:00
Daniel Zaoui b309fa2bc2 Support storing snapshot of all the running extensions into one file
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.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 80c18f3bd5 Resurrect the -f option
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.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 3c80e7bb46 Support of evlog as an extension 2017-06-06 10:30:17 +03:00
Daniel Zaoui 9fc5c432bf Introduce the extensions feature
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.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 88420d78d4 Remove unused code 2017-06-06 10:30:17 +03:00
Daniel Zaoui 236a4f1c15 Support remote connection 2017-06-06 10:30:17 +03:00
Daniel Zaoui 17d00e68a9 Remove fake session use
All can be done without the intervention of Eina_Debug. We just need to
dispatch the packets by their own opcode.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 4d119765aa Redesign the tools bar
Now a toolbar widget is used instead of a box.
The settings window has been replaced by a menu, as well as the apps and
connection hoversels.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 5d65effa28 Support screenshots save in snapshot file 2017-06-06 10:30:17 +03:00
Daniel Zaoui 987d9bc250 Adapt to Evas Debug changes 2017-06-06 10:30:17 +03:00
Daniel Zaoui 358139179d Implement snapshot load 2017-06-06 10:30:17 +03:00
Daniel Zaoui d38d8f4b1b Improve object info access code 2017-06-06 10:30:17 +03:00
Daniel Zaoui 7cf8e2e425 Add snapshot save feature
It doesn't save the screenshots yet. Should be done soon.

During save, the UI is frozen until the last packet is received.

The snapshot file contains info about the application, opcodes that will
be needed during loading and the buffers received from the application
describing the objects and their information.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 7cb901e58f Store apps info into a dedicated structure 2017-06-06 10:30:11 +03:00
Daniel Zaoui 4a2c702778 Fix apps hoversel during selection 2017-06-06 10:28:31 +03:00
Daniel Zaoui a42bc82db8 Fix functions names typo 2017-06-06 10:28:31 +03:00
Daniel Zaoui ca58cb9f9b Support screenshots download and display
Many shots can be taken and displayed. Timestamp is set to each.

To do:
- Fix black bottom region
2017-06-06 10:28:31 +03:00
Daniel Zaoui 07710c01fc Implement jump to pointer feature 2017-06-06 10:28:31 +03:00
Daniel Zaoui e2869aa298 Implement highlight option 2017-06-06 10:28:30 +03:00
Daniel Zaoui 449d833d80 Implement reloading 2017-06-06 10:28:30 +03:00
Daniel Zaoui 0a99a22086 Remove prints 2017-06-06 10:28:30 +03:00
Daniel Zaoui febe013c2e Add missing elements to the toolbar 2017-06-06 10:28:30 +03:00
Daniel Zaoui 601eb80e07 Support parameters
Connection type can be chosen.
2017-06-06 10:28:30 +03:00
Daniel Zaoui a792302ca9 Remove the profiles window
It was useless, ugly and not functional.

Now you can choose the connection type by opening the connections menu
in the main window.
In this way, you can easily choose the remote profile or move to another
connection type.
2017-06-06 10:28:30 +03:00
Daniel Zaoui 73dff60926 Enable Eolian params retrieval 2017-06-06 10:28:30 +03:00
Daniel Zaoui e9eb0d29bc Shorten opcodes variables names 2017-06-06 10:28:30 +03:00
Daniel Zaoui 9b9ab9f07f New features
Adapt to eina_debug latest changes
Support multi-threads objects
Improve modules initialization
Add config window
Support all Evas objects or Elm Widgets display
2017-06-06 10:28:30 +03:00
Daniel Zaoui 03423ff979 First patch for the Clouseau rewriting
- Removal of all old code
- Create the new directories tree
- Move to cmake
- Connection to daemon
2017-06-06 10:26:45 +03:00
Vyacheslav Reutskiy b79b2f9033 clouseau_client: expand/collapse item by double click
Open/Close the tree item in Genlist by double click make work with
clouseau more comfortable.
2017-04-26 09:44:04 +03:00
Marcel Hollerbach ce049917b2 clouseau_client: use cnp when string is clicked
Copy the string content of a value into the selection buffer once its
clicked.
2016-11-21 20:24:47 +01:00
Marcel Hollerbach 01d83bd6bd clouseau_client: do not compact items which are bigger than 10 items
otherwise things are getting really unreadable
2016-11-21 20:24:47 +01:00
Marcel Hollerbach 24a971509b closeau: highlight objects in the detail view
if there is a pointer in the detailview, and the pointer is clicked,
highlight the object which is pointed to by that pointer.

You can test this patch by downloading
https://devs.enlightenment.org/~bu5hm4n/elm_focus_test
and opening the file in clouseau's offline mode. The elements with
can_focus=1 are having a focus section in the property view, if you
click on those, and the screenshot is open, you will see a highlight.
2016-11-21 20:24:47 +01:00
Marcel Hollerbach eac39b5359 clouseau_client: add command line options
with -f you can specify a file which will get loaded. With -a you can
specify a address of a daemon.
2016-11-15 18:00:22 +01:00
Marcel Hollerbach b4bc63f028 clouseau_client: change the name of those symbols,
because of the preload, and the fact that _add is also used in
clouseau_app.c it was not possible to connect to a deamon while beeing in
a clouseau_start environment.

This enables the usecase of starting enlightenment with "clouseau_start
enlightenment_start" now you can connect with clouseau_client to your e
and debug the widgets.
2016-11-15 17:59:57 +01:00
Marcel Hollerbach 9083738d10 clouseau: lets bring back highlight in offline mode
if the screenshot of a offline app is open it will be highlighted again.
The problem was that the highlight in the offline mode still worked with
legacy data which was not generated. Now this informations are just
searched from the Efl_Dbg_Info structs.

To test this you can just take a screenshot of a app, save the app with
the button in the upper right. Then start clouseau again in offline
mode, after that you can select a file. Select the file where you have
saved your app before. If you now display the screenshot and click on a
element, this object is displayed.
2016-11-14 13:46:12 +01:00