Palanteer v0.2
This is the first Palanteer official release
Compared to the initial commit, the main changes are:
- Virtual/userland thread support
- Stability fixes (one of them critical)
- Improved packaging.
Behavior change / compatibility break
- Viewer: old stored records will not be readable anymore (break in 8e9e9ac)
- The Python instrumentation does not log anymore the C calls by default.
Indeed, wildly used built-in function (like list "append") may be very heavy and are not always necessary
New features
- Viewer: record catalog improvement: total size per app is displayed and a menu to collapse/open alls app was added
- Server: 10% faster event processing on server side by disabling specific assertions in containers in release mode.
- Virtual/green/userland thread support in C++, and the equivalent asyncio/gevent/greenlet in Python
- Improved CMakeFile.txt (thanks @bareya, @RichieSams!)
- Python packages are now wheels
- Python code is now formatted for PEP8 (with the tool "black")
Fixes
- Server: fixed the lock event automata (a not taken lock event after a wait begin event was not ended as it should)
- Viewer: fixed the search on Windows (strcasestr exists but does not work properly)
- Viewer: fixed the behavior of clicking on items in the text view
- Viewer: fixed the plot and histogram layout persistency
- Server: filter problematic characters for a file in the sent application name
- Server: improve robustness and behavior of the server connection automata
- Server: improve robustness of the server against corrupted data sent from instrumentation
- Instrumentation; fixed a major stability issue (event corruption) in the collection mechanism
- Viewer: fixed proper quitting of the viewer
- Instrumentation: fixed missing deactivated APIs (thanks @Lnsrini, @learn-more)
- Tools: fixed missing API names in the tool extStringCppParser.py
- Documentation improvement (thanks @ajweeks!)