Skip to content

Releases: yvoinov/memlogger

Version 2.2.1

17 Mar 22:09
Compare
Choose a tag to compare
  • IMPROVEMENT: Partial rollback of one simplification, potential UB fixed; FreeBSD workaround preserved.
  • IMPROVEMENT: Refactored a bit.
  • IMPROVEMENT: Made some auto's const.

Version 2.2.0

27 Feb 13:00
Compare
Choose a tag to compare
  • IMPROVEMENT: Added runtime detection of malloc_usable_size() to log free() calls if used in conjunction with a preloaded third-party allocator that supports malloc_usable_size().
  • IMPROVEMENT: Got rid unnesessary compile-time detection of malloc_usable_size().
  • FIX: Replaced _t suffixes for custom types.

Version 2.1.2

23 Jan 11:27
Compare
Choose a tag to compare
  • FIX: Explicit arrays of structs initialization.
  • IMPROVEMENT: It is enough to capture 'this' in Timer class for C++11/C++20 compatibility.
  • IMPROVEMENT: Removed obsoleted code.
  • IMPROVEMENT: Got rid CVs and unnesessary headers.
  • IMPROVEMENT: CMake support added.
  • FIX: Configure error 'grep: warning: stray \ before -'.
  • IMPROVEMENT: Added CPack support for source package.
  • FIX: Minor bugs with CMake LTO block.
  • IMPROVEMENT: Added CPack support for binary packages.
  • IMPROVEMENT: Added CPack system name and system processor to package name.
  • FIX: Stripping release binaries with CMake.
  • IMPROVEMENT: Added _REENTRANT define.
  • IMPROVEMENT: Added check STL to CMakeLists.txt.
  • FIX: Typo in configure.ac.
  • IMPROVEMENT: Replaced POSIX-like type names in external API.
  • IMPROVEMENT: Mark MemoryLogger class ctor as noexcept.
  • IMPROVEMENT: Singleton instantiation on load.
  • FIX: Typos.

Version 2.1.1

26 Aug 17:07
Compare
Choose a tag to compare
  • IMPROVEMENT: Added C++20 atomic_flag support.
  • FIX: Implicit capture of 'this' via '[=]' is deprecated in C++20.

Version 2.1.0

21 Aug 22:18
Compare
Choose a tag to compare
  • IMPROVEMENT: Added free() calls logging (if supported malloc_usable_size() function).
  • IMPROVEMENT: Do not log paired free() for inner malloc() calls.
  • IMPROVEMENT: Code formatting.
  • IMPROVEMENT: Refactored inner malloc flag processing.
  • IMPROVEMENT: Made methods of InnerMallocFlag class protected.
  • FIX: Removed unnesessary in-class initialization.
  • IMPROVEMENT: Refactoring - templated flag.

Version 2.0.37

08 Aug 13:43
Compare
Choose a tag to compare
  • IMPROVEMENT: Refactoring - got rid computeTotalLoggingTime() with loops.
  • IMPROVEMENT: Refactoring printReport().
  • IMPROVEMENT: Renamed and reworked class OnLoadInit to parametrized Timer.
  • IMPROVEMENT: Timer class made templated too.
  • IMPROVEMENT: S- IMPlified condition in printReportTotal().
  • IMPROVEMENT: Code style.
  • FIX: Segfault when hangup logging interactive session.
  • FIX: __cxa_guard_acquire deadlock on 5.x Linux kernels due to libC issue.
  • IMPROVEMENT: Refactoring - less preprocessor code.
  • IMPROVEMENT: Replaced calloc() dlsym() hack to mmap() call.
  • FIX: mmap() calls just once.
  • IMPROVEMENT: Replaced enum to enum class.
  • FIX: Made Timer class compatible with some programs on Debian.
  • FIX: Small includes fix.
  • FIX: Possible UB.
  • IMPROVEMENT: Compiler -pthread flag set.
  • IMPROVEMENT: Explicit clang stdlib support.
  • FIX: Runtime error 'undefined symbol: _ZTINSt3__113basic_ostreamIcNS_11char_traitsIcEEEE' on Fedora/RH.
  • FIX: Clang compilation warning.
  • IMPROVEMENT: Correctly signalling timer thread to end.
  • IMPROVEMENT: Removed excessive casting.
  • IMPROVEMENT: Added checking dlerror in ctor.
  • IMPROVEMENT: Added header check: sys/mman.h
  • IMPROVEMENT: Moved mmap() call to private member function.
  • IMPROVEMENT: The printReportTotal() function made reads the array under a row-level lock while writing to the file at runtime to ensure consistency.
  • IMPROVEMENT: Some code formatting.
  • IMPROVEMENT: Added function name in printReportTotal() not found message.
  • FIX: Code formatting.

Version 2.0.36

23 Aug 13:41
Compare
Choose a tag to compare
  • IMPROVEMENT: Best computeTotalLoggingTime() implementation.
  • FIX: Comment for Now().

Version 2.0.35

21 Aug 15:24
Compare
Choose a tag to compare
  • IMPROVEMENT: Used steady_clock instead system_clock in Now().
  • FIX: Second workaround for *BSD compatibility (now FreeBSD only).
  • IMPROVEMENT: Added check libdl and set if found.

Version 2.0.34

19 Aug 09:47
Compare
Choose a tag to compare
  • IMPROVEMENT: Better computeTotalLoggingTime() implementation.

Version 2.0.33

18 Aug 09:36
Compare
Choose a tag to compare
  • FIX: Broken computePeakValue().