Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Tags: yse/easy_profiler

Tags

v2.1.0

Toggle v2.1.0's commit message

Verified

This tag was signed with the committer’s verified signature.
cas4ey Victor Zarubkin
v2.1.0 changes

Core
* #106 bookmarks support
* #134 fixed includes
* #157 added new build flags `EASY_OPTION_TRUNCATE_RUNTIME_NAMES` and `EASY_OPTION_CHECK_MAX_VALUE_SIZE` for checking maximum block runtime-name length and max `EASY_VALUE` array size at run-time. I recommend you do not use these flags (they're disabled by default) because they add additional runtime checks which would lead to minor slow-down. It is just better not to use very long names and arrays (max 2816 bytes / chars) instead of additional runtime checks.
* replaced usage of `COMPILER_MSVC` (which is not defined anywhere) with `_MSC_VER` in `current_time.h`

UI
* #106 bookmarks support
* added search matches highlighting for Stats tree and Blocks list
* added statistics for selected area
* added median duration calculation
* added avg and median durations to the histogram
* added borders for the histogram
* added possibility to select area using selected block begin and end times (just right-click on any block on the Diagram)
* use transparent RoundProgressDialog everywhere
* added max rows count calculation for Call-stack Stata-tree mode
* #112 fixed loosing focus for Diagram tool-tips
* #125 fixed tool-tips behavior when switching between applications
* #143 fixed negative weight for `QFont`
* #154 fixed reconnect issue after previous connection failure
* fixed CSS parsing
* fixed CSS style
* workaround for Qt huge memory leak on Linux when creating and deleting Qt-objects in different threads
* rearranged application settings

Build
* #123 #124 linux deployment fix
* #128 #129 fixed build with `std::chrono` clock
* #126 #127 avoid propagation of `-std=gnu++11` to user targets
* #131 #132 fixed build for MIPS
* #137 fixed Android build
* #145 support building with QNX 7.0

Warnings
* #150

v2.0.1

Toggle v2.0.1's commit message
v2.0.1: Clang build fix, high-dpi displays fix, minor fixes

* (#108) Fixed Clang build
* (#89) Fixed scaling for high-dpi displays + respecting explicitly set font scaling (Windows)
* Fixed histogram scaling when using mouse wheel
* Updated UI style

v2.0.0

Toggle v2.0.0's commit message
* (#31) Added possibility to save user metrics (a.k.a. arbitrary values)

  * `#include <easy/arbitrary_value.h>`
  * Use `EASY_VALUE("Name", variable_ref);` // See more options at `easy/arbitrary_value.h`
* Added file converter (currently only .prof to .json is supported)
* (#75) There is no need anymore to wait all threads finish their opened frames when dumping blocks to file/stream
* (#81) Added CMake option to choose function names format
* Added CMake option `EASY_PROFILER_NO_GUI` to build without `profiler_gui`
* (#48) Minimized paddings in .prof file header
* Bug fixes
  * Fixed `EASY_ENABLE_ALIGNMENT` build error
  * (#75) Fixed UI freeze when hitting `Cancel` button while transmitting profiled blocks from profiled application to the UI
  * Mac: Added support for building with Apple LLVM clang version < 8.0
    * Add support for building with pre 2016 Apple LLVM clang
    * Automatically detect Apple clang that do not support thread_local
    * Clarify clang thread_local support code comment
  * (#72) Windows: VS2017 build fix
  * Unix: Context switch logger gets the processor cycle counter instead of time of a day
  * Other bug fixes

* (#31) Added arbitrary values viewer
* (#100) Added possibility to zoom in selected region
* (#91) Added possibility to take a snapshot. Now you can save selected area to separate file. Works both with blue selection (hold right mouse button + move) and black ruler (double-click + hold mouse button + move)
* Improved UI styles
* Blocks histogram (under Diagram scene) is now resizeable
* (#89) Added viewport info widget. See [Settings] -> [See viewport info]
* Bug fixes
  * Fixed hierarchy building for zero duration blocks - events and arbitrary values are always visible
  * (#89) Trying to fix high-dpi displays problem (maybe not fixed 😞 )
  * Other bug fixes

v2.0.0-beta.1

Toggle v2.0.0-beta.1's commit message
Beta version of release v2.0.

Needed to test fonts issue on high-dpi displays.

v1.2.0

Toggle v1.2.0's commit message
Core

* Added non-scoped block functionality for beginning and ending block manually from different functions. To open block use `EASY_NONSCOPED_BLOCK` macro, to close block use `PROFILER_END_BLOCK`. See #29 for more information
* Added new API functions for getting current time (ticks) and converting it to nano- and microseconds:
  * `timestamp_t profiler::currentTime()` returns current time in ticks (or nanoseconds - depends on build options)
* Add following cmake options to easy_profiler_core `CMakeLists.txt`:
  * `BUILD_WITH_CHRONO_STEADY_CLOCK` - use `std::chrono::steady_clock` as a timer. By default is `OFF`
  * `BUILD_WITH_CHRONO_HIGH_RESOLUTION_CLOCK` - use `std::chrono::high_resolution_clock` as a timer. By default is `OFF`

If both is set to `ON` - use `std::chrono::high_resolution_clock`.
If both is set to `OFF` - use `QueryPerformanceCounter/rtdsc` timer.

**_Note_**: Do not forget clean `CMakeCache` file if you've changed an option.

* Calculating total children duration per thread/frame/parent

GUI

* Displaying "total self %" (duration % excluding all children) per thread/frame/parent
* Changed "Connect" button logic: if connected to the profiled application then additional click performs disconnect. Changed appropriate tool-tip.
* Fixed displaying unicode text in popup and at histogram window
* Display current opened file name at the window title;
* Suggest save file name: using current system date and time as file name;
* Checking for unsaved network session before opening new file and before exit.
* Added "Use Right Mouse Button..." hint to Hierarchy window. See #35 #33
* Changed popup position on Diagram - now it is better positioned for small window also.
* Added additional field "Self" to the popup on Diagram. Self stands for "self duration" (duration excluding all children).
* Clear FPS Monitor contents after successful connect.
* Minor fixes

v1.0.1

Toggle v1.0.1's commit message
(GUI) Fixed wrong hierarchy tree building in "Plain mode" (not all bl…

…ocks were added)