Hawktracer Versions Save

HawkTracer is a highly portable, low-overhead, configurable profiling tool built in Amazon Video for getting performance metrics from low-end devices.

v0.11.0

7 months ago
  • allow return values from functions decorated with @trace in Python bindings
  • allow conditional build of TCP listener
  • enable forceful compilation using C compiler (using 0DFORCE_C_COMPILATION=ON cmake flag)
  • allow disable multithreading support (using -DENABLE_THREADS=OFF cmake flag)
  • fix MacOS build
  • add on-client-connected callback to TCP listener
  • improve test suite
  • minor fixes and improvements in documentation

v0.10.0

4 years ago
  • fix amalgamation process for non POSIX.utf-8 locale (#65)
  • restore Python binding tests
  • simplify and document timeline features
  • allow using dynamic strings as labels for tracepoints in C language (C++ already had that feature)
  • fix memory leak on uninitializing HawkTracer library
  • implement automatic memory management for listeners (so the listener object no longer needs to be manually destroyed)
  • simplify FileDump and TCP listener's API (introduce one function to create listener and register it to a timeline)
  • introduce new, polished tracepoint macros
  • add more benchmark tests
  • minor bugfixes and documentation improvements
  • deprecate:
    • ht_timeline_register_listener: ht_timeline_register_listener_full should be used instead
    • ht_timeline_unregister_all_listeners: HawkTracer no longer allows unregistering listeners. Instead, user should call _stop() methods on the listener object

v0.9.0

4 years ago
  • support dynamically allocated strings as labels for tracepoints
  • support auto-deleting tasks from task scheduler
  • add function for force-flushing file listener #51
  • fix compilation on some platforms (thanks @yak32)
  • fix thread safety of ht_timeline_flush() API #56
  • allow configuring Global Timeline buffer size #59
  • documentation improvements

v0.8.0

5 years ago
  • fix library freeze on closing TCP connection
  • fix crash on multiple ht_init()/ht_deinit() calls
  • add python bindings for a core library
  • documentation improvements

v0.7.0

5 years ago
  • fix crash when pushing events of size bigger than timeline's buffer
  • [api change] rename HT_EVENT_GET_CLASS to HT_EVENT_GET_KLASS
  • [api change] remove ht_timeline_listener_container_unref() from public API
  • fix data race when referencing/dereferencing timeline container object
  • enable code coverage reporting on CI
  • add feature for tracking heap allocations
  • support informations attached to tracepoints for Chrome Trace converter
  • remove C++ dependency for the HawkTracer core library
  • add amalgamation script for generating single source/header HawkTracer files
  • improvements in the installation process (thanks J. Kim and Alexandru!)
  • support reading big-endian data on little-endian platform (and vice versa)
  • many other tiny bug fixes and minor improvements

v0.6.0

5 years ago
  • implement converting HawkTracer stream to callgrind format
  • fix install problem with pkg-config files
  • fix ht_thread_get_current_thread_id() function
  • add information about system endianness and HawkTracer version to metadata stream
  • fix deadlock in TCP listener
  • add memory usage tracking feature for Linux-based platforms
  • add python bindings to a parser library
  • documentation improvements (tutorials, examples, missing function documentation)
  • publish documentation online (https://amzn.github.io/hawktracer/)
  • many other tiny bug fixes and minor improvements

v0.1.0

5 years ago

v0.2.0

5 years ago

v0.3.0

5 years ago

v0.4.0

5 years ago