CHANGELOG
Changelog for package pal_statistics
2.5.0 (2024-11-22)
add the documentation to the getUniqueRegistryKey method
Add more changes to the renaming getOrCreateRegistry method
Apply review suggestions
Add new test on disabling the registered elements by default
add enable option to the REGISTER_ENTITY.. macro
Fix the cpp linter errors
Unify getRegistry method for all types of instances of Node and LifeCycleNode
deprecate getRegistry method
Add support for REGISTRY_KEY on other macros
Add getUniqueRegistryKey method for node and topic
make getOrcreateRegistry more generic for nodes and classes
Add scoped Bookkeeping test
Add first test on the new macros and methods
get resolve_topic_name method to get the proper namespaced/remapped key
Add REGISTER_ENTITY and UNREGISTER_ENTITY macros
Add INITIALIZE_REGISTRY macro
Accept only if it is castable to double
Rename the methods to getOrcreateRegistry
add initializeRegistry method and some macros
add createRegistry and getRegistry method for reutilizing the RegistryMap
remove the node namespace argument
add a way to handle the topic remappings
Contributors: Jordan Palacios, Sai Kishor Kothakota
2.4.0 (2024-11-14)
Create stop thread test
Add stop thread function
Linter: Import order and single quotes
Contributors: David ter Kuile, Isaac Acevedo
2.3.1 (2024-08-29)
Ensure the value is converted to float before creating the msg
Contributors: David ter Kuile
2.3.0 (2024-08-29)
Remove unused files
update qos for ros2
Port test
Port statistics_registry.py
Contributors: David ter Kuile
2.2.4 (2024-05-16)
Use enabled_.swap instead of std::swap. This allows this package to compile on modern g++, on Ubuntu 24.04.
Contributors: Chris Lalancette
2.2.3 (2023-12-18)
Merge branch ‘fix/flaky_macro_asyncPublisher’ into ‘humble-devel’ Fix/flaky macro async publisher See merge request qa/pal_statistics!36
Improve test failure messages
Make gtest failure messages more informative in aync tests For instance from: /home/user/exchange/roses/alum/pal_statistics_ws/src/pal_statistics/pal_statistics/test/gtest_pal_statistics.cpp:580: Failure Value of: waitFor( std::bind( stats_published_for, “macro_var1”, “clp-failure”, “macro_var1_bk”, “macro_var2”, “&var2_”)) Actual: false Expected: true to: /home/user/exchange/roses/alum/pal_statistics_ws/src/pal_statistics/pal_statistics/test/gtest_pal_statistics.cpp:673: Failure After 300 msValue of: get_variables Expected: has 9 elements and there exists some permutation of elements such that: - element #0 is equal to “macro_var1”, and - element #1 is equal to “clp-failure”, and - element #2 is equal to “macro_var1_bk”, and - element #3 is equal to “macro_var2”, and - element #4 is equal to “&var2_”, and - element #5 is equal to “topic_stats.pal_statistics_node_test/pal_statistics.publish_async_attempts”, and - element #6 is equal to “topic_stats.pal_statistics_node_test/pal_statistics.publish_async_failures”, and - element #7 is equal to “topic_stats.pal_statistics_node_test/pal_statistics.publish_buffer_full_errors”, and - element #8 is equal to “topic_stats.pal_statistics_node_test/pal_statistics.last_async_pub_duration” Actual: { “topic_stats.pal_statistics_node_test/pal_statistics.publish_async_attempts”, “topic_stats.pal_statistics_node_test/pal_statistics.publish_async_failures”, “topic_stats.pal_statistics_node_test/al_statistics.publish_buffer_full_errors”, “topic_stats.pal_statistics_node_test/pal_statistics.last_async_pub_duration”, “macro_var1”, “macro_var1_bk”, “macro_var2”, “&var2_” }, which has 8 elements
Create helpers for better failure messages in async tests
Fix time units in messages
Fix c++17 already enforced
Make tests exit when requested
Clean up unused functions
macroTest: prevent some flakiness
asyncPublisherTest: prevent some flakiness
Contributors: Carles Lopez Parera, Jordan Palacios
2.2.2 (2023-11-14)
Add website tag
Contributors: Noel Jimenez
2.2.1 (2023-11-14)
Merge branch ‘fix/flaky_chaos_test’ into ‘humble-devel’ Fix flakiness in chaos tests See merge request qa/pal_statistics!34
Fix flakiness in chaos tests
Contributors: Carles Lopez Parera, Jordan Palacios
2.2.0 (2023-10-19)
Merge branch ‘fix/crash_when_start_publish_called_twice_for_same_topic’ into ‘humble-devel’ Fix: prevent crash when publisher thread is recreated See merge request qa/pal_statistics!33
Use make_shared as per CR
Test statistics publish thread can be called multiple times
Fix: interrupt_thread flag could stay true forever This hinders the execution of the publisher thread, making it exit prematurely. For instance, in case joinPublisherThread() is called when no publisher_thread_ is still ready: 1. startPublishThread() 1.1. joinPublisherThread() 1.1.1. interrupt_thread_ set to true 1.1.2. publisher_thread_ is null, no further actions 1.2. new thread created for publisherThreadCycle() 2. In publisherThreadCycle, interrupt_thread_ is true 2.1. thread finishes
Fix use proper event to interrupt the publisher thread
Fix: prevent crash when publisher thread is recreated publisher thread was destroyed before being joined causing the termination of the process See: https://en.cppreference.com/w/cpp/thread/thread/%7Ethread
Contributors: Carles Lopez Parera, Jordan Palacios
2.1.5 (2023-04-14)
miscellaneous enhancements
refactor gtest_pal_statistics to test also lifecycle nodes
add support for lifecycle nodes
add namespace for StaticCircularBuffer
Contributors: Noel Jimenez
2.1.4 (2023-03-02)
Merge branch ‘fix_warns’ into ‘humble-devel’ Fix warns See merge request qa/pal_statistics!28
change types for comparisons
reorder variable initialization
Contributors: Jordan Palacios, Noel Jimenez
2.1.3 (2022-09-07)
Merge branch ‘fix_linter’ into ‘humble-devel’ fix linter See merge request qa/pal_statistics!27
fix linter
Contributors: Jordan Palacios, Noel Jimenez
2.1.2 (2022-09-05)
2.1.1 (2021-11-09)
2.1.0 (2021-10-15)
Revert “Comment out tests that require galactic rclpcpp API” This reverts commit 6642f6a743e5d5be210f7e59191153746b296866.
Fix cmake lint
Contributors: Victor Lopez
2.0.0 (2021-10-15)
Comment out tests that require galactic rclpcpp API
Use ament_cmake_auto
Update package.xml
Add comment about ament_cmake_pal
Change license to BSD-3 Clause
Flake8 and pep257 compliance
Add ament dependencies
More formatting and header ordering
Apply ament_link_cmake
Cpplint compliance
Rename headers to .h and uncrustify them
Fix double comparisons in test
Reorganize code to remove boost from include files
Tests passing in ROS2
Update license on headers refs #5
Change License to MIT fixes #5
Contributors: Victor Lopez
1.4.0 (2020-03-13)
Merge branch ‘use-atomic-bool’ into ‘erbium-devel’ Use atomic bool, because we need atomic operation See merge request qa/pal_statistics!18
Use atomic bool, because we need atomic operation
Contributors: Victor Lopez, victor
1.3.1 (2019-08-28)
Fix shadow variable warning
Contributors: Victor Lopez
1.3.0 (2019-08-12)
Merge branch ‘async-optimizations’ into ‘erbium-devel’ Optimize async update when everything is enabled See merge request qa/pal_statistics!17
Smarter clear and resize of vectors when all enabled
Optimize async update when everything is enabled
Add LGPL3 version text
Contributors: Victor Lopez
1.2.1 (2019-04-18)
Fix stamp of full messages
Contributors: Victor Lopez
1.2.0 (2019-04-16)
Merge branch ‘optimized-msg’ into ‘erbium-devel’ Optimized msg See merge request qa/pal_statistics!15
Update python api to new msgs
Rename full statistics topic
Add new messages
Change internal structure from vector of pairs to pair of vectors
Add missing add_dependencies
Contributors: Victor Lopez
1.1.1 (2018-12-19)
Merge branch ‘correct-stamp’ into ‘erbium-devel’ Correct stamp See merge request qa/pal_statistics!14
Add macros with variable argument count
Set time stamp from main thread
Fix maintainer
Contributors: Victor Lopez
1.1.0 (2018-10-29)
Merge branch ‘fix-test’ into ‘erbium-devel’ Fix spurious test failure when buffer was filled See merge request qa/pal_statistics!12
Fix spurious test failure when buffer was filled
Contributors: Victor Lopez
1.0.8 (2018-10-25)
Fix some issues with copyable object that shouldn’t be
Contributors: Victor Lopez
1.0.7 (2018-10-25)
Change Sleep to WallSleep When sim time stops being published. The thread can get stuck and never end.
Fix unitialized variable
Contributors: Victor Lopez
1.0.6 (2018-10-24)
Merge branch ‘improve-constness’ into ‘erbium-devel’ Change namespace to pal_statistics and and const to double * Closes #5 See merge request qa/pal_statistics!11
Add tests for registration modification between pubAsync and publishing
Change namespace to pal_statistics and and const to double * Fixes https://gitlab/qa/pal_statistics/issues/5
Contributors: Victor Lopez
1.0.5 (2018-10-24)
Fix bug when changing registrations and publsihing before a pubAsync
Contributors: Victor Lopez
1.0.4 (2018-10-23)
Merge branch ‘auto-start-thread’ into ‘erbium-devel’ Auto start thread and use steady clock for time diff See merge request qa/pal_statistics!10
Auto start thread and use steady clock for time diff
Contributors: Victor Lopez
1.0.3 (2018-10-23)
Merge branch ‘add-extendable-registration’ into ‘erbium-devel’ Add the option to customize registration See merge request qa/pal_statistics!9
Add the option to customize registration
Contributors: Victor Lopez
1.0.2 (2018-10-22)
Increase sleep time to reduce cpu load
Contributors: Victor Lopez
1.0.1 (2018-10-22)
Merge branch ‘add-enable’ into ‘erbium-devel’ Add enable See merge request qa/pal_statistics!8
Fix RT loss due to condition_variable, extend tests
Reenable stressAsync test
Fix publish() not publishing updated data
Add buffer to last_values_
Improve const-correctness of methods
Extend macroTest
Add unregister variable macro and use constexpr
Restructure mutex and other optimizations
Add debug metrics
Use boost variant in VariableHolder
Remove nodehandle from buffer test
Add enable/disable
Add debuginfo of messages lost and set buffer size to 10
Add message queue buffer
Contributors: Victor Lopez
1.0.0 (2018-09-20)
Merge branch ‘python-api’ into ‘erbium-devel’ First version of Python API See merge request qa/pal_statistics!6
First version of Python API
Contributors: Jordan Palacios, Victor Lopez
0.0.3 (2018-07-25)
Fix copyright notice on test
Acquire mutex when creating publisher thread
Disable logs for RT safety
Merge branch ‘macros-in-lib’ into ‘erbium-devel’ Put macro static registry on a lib See merge request qa/pal_statistics!5
Add namespace to registry statistics
Put macro static registry on a lib
Contributors: Jordan Palacios, Victor Lopez
0.0.2 (2018-07-04)
Merge branch ‘add-single-publish’ into ‘erbium-devel’ Add publishStatistic function See merge request qa/pal_statistics!3
Add registerFunction and publishCustomStatistics
Add namespace to getRegistry
Add publishStatistic function
Updated license
Moved files to their own package directory
Contributors: Jordan Palacios, Victor Lopez