Skip to content

Palanteer v0.5

Compare
Choose a tag to compare
@dfeneyrou dfeneyrou released this 21 Nov 21:47
· 71 commits to main since this release

This is a feature delivery release

Compared to the previous release, the main added features are:

  • Multi-stream (or multi-process) recording
  • Automatic C++ instrumentation (GCC only)

Behavior change / compatibility break

  • Viewer: external string lookups are now per record (they were previously per application).
  • Viewer: old stored records will not be readable anymore (incompatibility due to the added stream informations)
  • Instrumentation: old viewers are not compatible, due to transport header change.

New features

  • Server and Viewer: add support for multistream (or multiprocess) records
    • Server: support for multiple socket connections and multistream recording
    • Viewer: add the configuration menu for the mono/multi stream
    • Viewer: file dialog supports multi selection with highlight
    • Viewer: record options are displayed per stream
  • Viewer: enable Dear ImGui keyboard navigation
  • Instrumentation: support of automatic C++ function instrumentation (GCC only)
    The external string lookup is now independent for each record, and covers also this feature.
  • Python: add support for Python 3.10 packages

Fixes and improvements

  • Viewer: lock use can now be graphed for all threads (menu on the lock name)
  • Viewer: in Text view, all events with dates are now taken into account for navigation
  • Viewer: fix a crash when asking an histogram for a "lock use" scope
  • Viewer: fix persistence of graphs between launches
  • Viewer: fix a crash when the saved layout is not matching the record thread names
  • Viewer: fix the display of the used size of records (now 64 bits size)
  • Server: more robust handling of duplicated thread names
  • Server: fix a crash when getting memory details with big quantity of non released allocations
  • Python: fix an incorrect event logging sequence when both using coroutines and tracing C calls
  • Python instru: disable an annoying warning on Windows
  • C++ instru: collect the used language, the context switch collection state and the auto instrumentation state
  • C++ instru: waiting for server connection is now a configurable timeout, no more a binary state
  • C++ instru & server: more robust short date handling
  • C++ instru: more robust initialization
  • C++ instru: threads (standard or virtual) can be declared before service initialization and are persistent across multiple service initialization (thanks @BrodyHiggerson for the use case)
  • C++ instru: reduced disabled Palanteer include cost on windows with USE_PL=0 (now a few millisecond, as for Linux)
  • Scripting: improve support of external strings, now applied also on the event specification