Changelog#
CARET#
v0.5.13 _ Nov 25, 2024#
- Update: Update sync-files. (caret_trace #303, caret_trace #305)
- Update: Setuptools version specification. (caret_analyze #534)
- Update: Implementation improvements for subscription take. (caret_analyze #538)
- Update: revert setuptools version. (caret_analyze #540)
- Update: Exclude "struct/__init__.py" from test_flake8.py. (caret_analyze #541)
- Fix: Add retry for init LTTng. (ros2caret #200)
- Update: In the caret setup, modify the python module to be installed with user privileges. (caret #206)
- Update: Increase the version of ansible to "6*" to match autoware. (caret #207)
- Update: Add warning indicating sim_time reversal detection. (caret_trace #307)
- Fix: Use default value if the key is not registered in
event_counter.py
. (caret_analyze #543)
v0.5.12 _ Oct 09, 2024#
- Fix: Analysis of caret_report with sim_time enabled may fail when analyzing caret measurement data with sim_time enabled. (caret_analyze #536)
v0.5.11 _ Sep 30, 2024#
- Fix: Fixed a problem where a warning was incorrectly displayed when the maximum number of legends was not exceeded. (caret_analyze #523)
- Update: Fixed mypy1.11 error untyped-overrides. (caret_analyze #527)
- Update: Fixed stacked bar graph when time reversal occurs. (caret_analyze #517)
- Update: Fixed type_check_decorator. (caret_analyze #513)
- Update: Delete the AssignContextReader class and change the implementation to be more in line with the actual situation. (caret_analyze #532)
- Update: Refactoring and bug fixes for #516. (caret_analyze #526)
- Update: Fix docstring of RecordsCppImpl and TracePointData. (caret_analyze #528)
- Update: Fixed the issue where version 2.2.2 of the type-checking library was installed. (caret_analyze #529)
- Update: Fixed deploy docs has error because installed griffe>=1.0.0. (caret_analyze #531)
v0.5.10 _ Aug 26, 2024#
- Update: Added description of problems with numpy v2 release. (caret_doc #350)
- Fix: Fixed the issue that many hover icons appear when displaying histograms. (caret_analyze #522)
- Update: Suppress warnings associated with using deprecated Bokeh properties. (caret_analyze #520)
v0.5.9 _ Aug 7, 2024#
- Fix: Temporarily limit mypy version for CI execution. (caret_analyze #519)
- Update: Supports the implementation that users explicitly take messages using subscription->take. This allows visualization of the message flow of the path containing the nodes implemented above. (caret_analyze #516)
v0.5.8 _ Jul 29, 2024#
- New: Add cppcheck to ci. At the same time, the correction of the indicated items in cppcheck is carried out. (caret_trace #291, caret_analyze_cpp_impl #211)
- Update: Remove the pull-request trigger in cppcheck-all-files workflow. (caret_trace #294)
- Update: Explicitly include some standard headers to support g++13. (caret_trace #293)
- Fix: Fixed a PlantUML bug in documentation. (caret_doc #348)
- Update: Reviewed import statements not at the beginning of caret_analyze. (caret_analyze #510)
- Update: Added feature to verify trace points on dds layer. (caret_analyze #514)
- Update: Update docker image used for ci. (caret_analyze #515, ros2caret #194)
- Update: Fixed to recognize callback groups that are not associated with the executor. (caret_analyze #511)
v0.5.7 _ Jun 24, 2024#
- Update: controlling the dds_bind_addr_to_stamp output of
generic_publish()
. (caret_trace #288)
- Update: Build support for caret_analyze_cpp_impl using gcc13. Fixed build failure due to some C++ standard library header changes. (caret_analyze_cpp_impl #210)
- Update: changed the log level when the executor failed to load. (caret_analyze #509)
- Update: fixed incorrect arguments in rclcpp_service_callback_added. (caret_trace #289)
- Update: Unify the description of doxygen comments for methods of the same family declared in tracing_controller.hpp. (caret_trace #287)
v0.5.6 _ May 24, 2024#
- Update: Fix command to install packages needed to build mkdocs. (caret_doc #334)
- Fix: If there is a Subscription callback with the same symbol, it will not be possible to analyze correctly. (caret_analyze #460)
- Update: If Autoware is started and CARET measurement is started at the same time, some nodes may not be recorded. (caret_doc #343)
- Fix: Fixed a bug in NodeStructValue.get_timer (external API). (caret_analyze #502)
- Update: Removed special duplicate check when recording trace events. (caret_trace #284)
- Fix: Fixed problem with ros2 caret check_ctf not validating even if a single path is entered. (caret_analyze #503)
- Update: Added output of message_construct trace points during light measurements. (ros2caret #187)
- Fix: Fix for segmentation fault occurrence in autoware pandar_node_container (segmentation fault due to race condition). (caret_trace #285)
- Update: Provide a filter function suitable for analyzing multiple data. (caret_analyze #504)
v0.5.5 _ May 10, 2024#
- New: Added the feature to measure systems operating with multiple hosts and to analyze the measured data. (caret_trace #262, caret_analyze #445, ros2caret #163, caret_doc #333)
v0.5.4 _ May 7, 2024#
- Fix: Trace points of nodes specified by the environment variable CARET_IGNORE_NODES may not be excluded. (caret_trace #280)
- Fix: Bug fix for address duplication (process ID support). (caret_trace #280)
- Fix: Filtering does not work in some cases when using FastDDS in iron environment. (caret_trace #280)
- Fix: construct_static_executor is not outputting when measurement is started after the application is launched. (caret_trace #280)
v0.5.3 _ Apr 22, 2024#
- Fix: Removed duplicate code in processing service callbacks. No change in functionality. (caret_analyze #494)
- Update: Removed unused objects. Record and Records class are not currently used in CARET. (caret_analyze #493)
- Update: Unified the method of specifying modules and paths when import a module. (caret_analyze #496)
- Update: Replaced deprecated method with currently recommended one. (caret_analyze #497)
v0.5.2 _ Mar 26, 2024#
- Update: If pydantic is not imported using
type_check_decorator
, issue a warning message. (caret_analyze #484)
- Update: Update
histogram
images in the documentation. (caret_doc #336)
- Update: Update docker images used for CI. (caret_analyze #483, ros2caret #178)
- Update: Fixed a problem where the filter function would not work when the publisher_handle address changed during execution. (caret_trace #277)
- Update: Fixed annotations of API documentation. (caret_analyze #488, caret_analyze #490)
- Update: Changed to ignore some data used to calculate response time. Data present at the beginning of the measurement data that cannot be used to calculate an accurate response time is no longer used in the response time calculation. (caret_analyze #486)
- Update: Refactoring of the code related to the
type_check_decorator
. (caret_analyze #489)
- Update: Refactoring of the code related to the
histogram
. (caret_analyze #481)
- Update: Improved type_check_decorator warning. When a variable-length argument violates a type, the message now includes the index of the violating location. (caret_analyze #485)
- New: Add documentation for installation of CARET Debian packages. (caret_doc #335)
- New: Add a trace point filtering feature for the specified process. (caret_trace #273)
v0.5.1 _ Mar 11, 2024#
- Update: Remove the description of response time histogram. (caret_doc #331)
- Fix: Fixed that overlapping histograms are hard to see. (caret_analyze #475)
- Fix: Fixed problem with ros2 caret command not working when built without
--symlink-install
. (ros2caret #175)
- Update: Add a dynamic type check method for the plot API. (caret_analyze #472)
- Fix: Speeding up by limiting registration to init_events because id_remapper takes a long time to load measurement data. (caret_analyze #480)
- Fix: Fixed warning "More than three callbacks are registered in one subscription_handle. Skip loading callback info." when parsing certain trace data. (caret_analyze #470)
- Fix: Fixed a bug where the count of filtered data wasn't correctly displayed ("filtered to 0 events") when loading trace data. (caret_analyze #480)
- Update: Update latency visualization API features in the Gallery section. (caret_doc #332)
- Fix: Speeding up
search_paths
by limiting number ofconstruction_order
. (caret_analyze #477)
- New: Added max_construction_order argument to commands using Architecture-API. (ros2caret #173)
v0.4.25 _ Feb 26, 2024#
- Fix: Fixed annotations in the Plot API about TimeSeriesTypes. (caret_analyze #463)
- Fix: Fixed an issue where the histogram would exit with an error if an empty records was entered. (caret_analyze #466)
- Update: Added and fixed doc string information in value_object package. (caret_analyze #454)
- Update: Copyright change from ISP to TIER IV, Inc. (caret_analyze #473)
- Update: Removed Galactic and Ubuntu 20.04 support from the documentation. (caret_doc #328)
- New: Add a workflow to automatically update package.xml on git tag. (caret_analye #467, caret_analyze_cpp_impl #194, caret_trace #268, ros2caret #169)
v0.4.24 _ Jan 15, 2024#
- Update: Delete past implementations of histograms and response times that are no longer needed. (caret_analyze #442)
- Fix: Fixed behavior of
ros2 caret check_caret_rclcpp
command after iron. (ros2caret #135)
- Fix: Fixed a bug in the
ros2 caret record --immediate
option. It caused an error in the input operation if there was no standard input. (ros2caret #164)
- Update: Change in the method of determining ROS Distributions. (caret_analyze #452, ros2caret #161)
v0.4.23 _ Dec 12, 2023#
- Update: In mypy 1.x, it is recommended to use the --check-untyped-defs option for stricter type checking. this option has been added to pytest in caret_analyze, and the warning that occurred after the option was added has been corrected. (caret_analyze #441)
- Update: Changed implementation so that BokehUserWarning (out of range integer) in Bokeh 3.x is not generated. (caret_analyze #447)
- Update: Fixed API list (doc_string) except value_objects. (caret_analyze #446)
- Fix: Fixed argument error passed to _find_node_path. (caret_analyze #453)
- New: Added setup script for iron. Added build procedure and tutorial for iron. (caret #175, caret_doc #207, caret_doc #322)
v0.4.22 _ Dec 12, 2023#
- Update: Support for analysis of trace data without
--light
option for applications using GenericPublisher, GenericSubscription. (caret_analyze #432, caret_analyze #445)
- Update: Fixed a bug when address duplication occurs. (caret_analyze #342)
- Update: Update some API to support sim_time. (caret_analyze #433, ros2caret #152)
v0.4.21 _ Nov 27, 2023#
- Update: Update maintainer. (caret_analyze #422, caret_analyze_cpp_impl #172, caret_trace #244, ros2caret #143)
- New: Add trace points to GenericPublisher and GenericSubscription. (rclcpp #7, caret_trace #220, caret_trace #228, caret_doc #309)
- Update: Fix for mypy error in CARET_analyze PR. Support for mypy v1.x. (caret_analyze #425)
- Update: Changed Y-axis from probability to number of samples for better readability of graphs. (caret_analyze #430, caret_doc #313)
v0.4.20 _ Nov 13, 2023#
- Update: Update documentation with changes to ros2 caret command. (caret_doc #295)
- Update: Update tracepoint event 'caret_init'. (caret_doc #304)
- Update: Support for bokeh 3.x. (caret_analyze #391)
- Update: Change in the method of 'Timeseries'. The method of calculating ResponseTime for the best and worst-with-external-latency cases has been changed to be the same as for
all
andworst
case. (caret_analyze #323)
- New: Changed the CI for caret_analyze to use cart_analyze_cpp_impl. (caret_analyze #405)
- Update: Unify graph captions for
path
. (caret_analyze #410)
v0.4.19 _ Oct 31, 2023#
- Update: Improvement of option specification of ros2 caret command. (ros2caret #129), (caret_doc #287), (caret #176)
- Update: Version update support for multimethod. (caret_analyze #403), (caret_analyze #398)
v0.4.18 _ Oct 16, 2023#
- New: Supported for iron tracepoint. (caret_analyze #318), (caret_trace #150), (ros2caret #84), (ros2caret #86)
- Humble trace data and its analysis will still be available in later versions.
- New: Added immediate recoding option to
ros2caret
. (ros2caret #123) - New: Added an option to ros2caret to specify the size of the Lttng buffer. (ros2caret #85)
v0.4.17 _ Oct 03, 2023#
- Update: Improved
case
option for calculating the elapsed time specified for functions that graph response time. (caret_analyze #339), (caret_analyze #355)- Added new "all" option, which uses all input times in the same cycle to calculate the elapsed time.
- Renamed "worst" option to "worst-with-external-latency".
- Added new "worst" option, which uses the worst of all input times in the same cycle to calculate the elapsed time.
CARET<0.4.17 | CARET>=v0.4.7 |
---|---|
N/A | "all" |
"best" | "best" |
N/A | "worst" |
"worst" | "worst-with-external-latency" |
- Update: Added
create_response_time_histogram_plot
function to graph response time as histogram. (caret_analyze #349) - Fix: Improved measurement leaks in the first measurement after the host machine has been started up. (caret #142)
- Removed unnecessary dependent modules from caret_analyze_cpp_impl. (caret_analyze_cpp_impl #142), (caret_analyze #332)
v0.4.16.1 _ Sep 21, 2023#
- Fix: Fixed an issue that prevented CARETmeasurement when using cyclonedds 0.10.x. (caret #121)
- New: Added API to plot the response time of Paths as timeseries. (caret_analyze #322)
- Changed to temporarily specify the version of
setuptools
to be installed, as the latestsetuptools
causes error during CARET building. (caret_analyze #330)
v0.4.15 _ Sep 4, 2023#
- Updated the version of humble branch in tier4/rclcpp repository, which is forked from ros2/rclcpp, from 16.0.1 to 16.0.5. (rclcpp #4)
- Refactored and added APIs to calculate response time, these are a preparation to add options for visualizing graph in the future update. (caret_analyze #310), (caret_analyze #313), (caret_analyze #319)
- Fixed typo in CMakeLists.txt. (caret_analyze_cpp_impl #131)
- Specified Pandas library version as '<2.1.0' to avoid problems with the Pandas library 2.1.0. (caret_analyze #324)
- Fixed to force loading process to ignore the second and subsequent callbacks even if "Duplicated callback id" occurs during CARET analyzing. (caret_analyze #314)
v0.4.14 _ Aug 21, 2023#
- Supported for function argument changes in
ros/ros2_tracing
. This support is in preparation for functionality improvements that will make rebuilding of the measurement application unnecessary. (rclcpp #2), (ros2_tracing #5), (caret_trace #136), (caret_analyze #302), (caret_doc #204)- This change affects trace data compatibility. However, this only affects cases where trace data captured after this update is analyzed by caret_analyze before this update. Please see the table below for the supported combinations.
trace data (<=0.4.13) | trace data (>=v0.4.14) | |
---|---|---|
caret_analyze (<=v0.4.13) | Supported | Unsupported |
caret_analyze (>=v0.4.14) | Supported | Supported |
- Adjusted Lttng buffer size to appropriate value. (ros2_tracing #6)
- Fixed a build error that occurred in environments older than Python 3.10. (ros2caret #81)
v0.4.13 _ Jul 24, 2023#
- Fixed a bug that delayed starting a measurement after
caret record
is launched depending on the time elapsed after the application being measured was launched. (caret_trace #129)
v0.4.12 _ Jul 10, 2023#
- Fixed a bug in the Plot class API that could not create graphs correctly when the
xaxis_type='sim_time'
option was specified. (caret_analyze #276), (caret_analyze #306) - Fixed a bug that caused incorrect warnings to be output when using
ros2 caret check_ctf
. (caret_analyze #308)
v0.4.11 _ Jun 26, 2023#
- Applied to the type hinting for generics in standard collections adopted from Python 3.9. (caret_analyze #294), (caret_analyze #299)
- Fixed a segmentation fault problem that occurred depending on the condition of the data analyzed by caret_analyze. (caret_analyze_cpp_impl #79)
- Added
ros2 caret version
command to get the CARET version. (ros2caret #69)
v0.4.10 _ Jun 12, 2023#
- Update: Changed trace points used to tie records of inter-process communication. This change affects trace data compatibility. However, this only affects cases where trace data captured after this update is analyzed by caret_analyze before this update. In that case, update caret_analyze (caret_analyze #296), (caret_trace #113), (caret_doc #191), (ros2caret #70)
- Please see the table below for the supported combinations
trace data (<=0.4.9) | trace data (>=v0.4.10) | |
---|---|---|
caret_analyze (<=v0.4.9) | Supported | Unsupported |
caret_analyze (>=v0.4.10) | Supported | Supported |
- Added remove functions to modify intra-node data path:
remove_variable_passing
andremove_publisher_callback
(caret_analyze #297)
v0.4.9 _ May 15, 2023#
- Update:Improved path analysis to analyze paths that contain the same symbol object (caret_analyze #261), (caret_doc #183)
- Improved Plot class not to plot on a graph when communication is not established (caret_analyze #291), (caret_doc #184)
- Removed old modules:
node_graph
andcallback_graph
(caret_analyze #290)
v0.4.8 _ May 1, 2023#
- Removed deprecated interface such as
message_flow
(caret_analyze #179), (caret_analyze #274), (caret_analyze #282) - Reduced warnings when loading trace data (caret_analyze #284)
v0.4.7 _ Apr 17, 2023#
- Refactored the Plot package design (caret_analyze #267), (caret_analyze #275), (caret_analyze #277), (caret_analyze #278), (caret_analyze #279), (caret_analyze #280)
v0.4.6 _ Apr 3, 2023#
- New: Added function to visualize response time with the stacked bar graph(caret_analyze #265, caret_analyze #259, caret_doc #169)
- Update: Added selective path definition to include or exclude first and last callback execution (caret_analyze #263, caret_analyze #271, caret_analyze #272, caret_analyze #273)
- Added a new function to get difference between two Architecture objects (caret_analyze #245, caret_doc #168)
- Removed deprecated interface such as
callback_sched
andPlot.create_*_plot
(caret_analyze #266) - Refactored visualization API such as
message_flow
(caret_analyze #267)
v0.4.5 _ Mar 20, 2023#
- Enhanced the trace filtering to exclude selected DDS events (caret_trace #101)
- Added the unit to the label of y-axis on time-series graph (caret_analyze #256)
- Refactored the Plot package (caret_analyze #257, caret_analyze #258)
- Added the docstring for explaining rename methods for Architecture object (caret_analyze #253)
v0.4.4 _ Feb 21, 2023#
- Fixed the time format of the time-series graphs (caret_analyze #255)
- Added the design documentation for trace filtering to exclude events in DDS-layer (caret_doc #158)
- Moved
get_range()
function torecord
package (caret_analyze #254)
v0.4.3 _ Feb 10, 2023#
- Fixed the bug preventing
check_ctf
from running properly after supporting activation/deactivation on runtime (caret_analyze #251) - Suppressed update frequency of progress bar from
tqdm
when reading trace data (caret_analyze #248) - Fixed incorrect annotation from
list
toList
(caret_analyze #252) - Changed
setup_caret.bash
script to prompt users to install the packages (caret #72)
v0.4.2 _ Jan 23, 2023#
- Added lightweight recording option to
ros2caret
(ros2caret #63) - Removed old interface of
Plot.create_callback_jitter_plot
(caret_analyze #231) - Refactored
Plot.create_callback_scheduling_plot
(caret_analyze #240) - Added new API to combine two paths found by
Architecture.search_paths()
(caret_analyze #224) - Fixed the bug in
Records
class (caret_analyze #246) - Applied minor refactoring (caret_analyze #244, caret_analyze #243, caret_analyze #237, caret_analyze #234)
- Suppressed warning message outputted during runtime recording (caret_analyze #238, caret_analyze #236)
- Added
construction_order
item to identify multiple callbacks which have common symbol (caret_analyze #225)
v0.4.1 _ Dec 26, 2022#
- New: Added functions to assign intra-node data path with
message_context
(caret_analyze #196) - Update: Changed design of visualization API for refactoring to avoid usage of Pandas (caret_analyze #116, caret_analyze #167, caret_analyze #168, caret_analyze #170)
- Added configure file to control log level to suppress warning message (caret_analyze #220)
- Changed behavior of visualization to output empty graph if inputted data does not have any data rather than raising exception (caret_analyze #223)
- Fixed
ValueError
, whencreate_publish_subscription_frequency_plot
is called with being inputted empty object (caret_analyze #227) - Added metric name to tooltip for identifying plots on a graph
v0.4.0 _ Dec 16, 2022#
- New: Added a new feature to start, stop, and resume even recording whenever users want to (caret_trace #68, caret_analyze #190, ros2caret #48, and caret_doc #126)
v0.3.4 _ Dec 12, 2022#
- New: Added functions to rename subsystems in Architecture object like executor, node, callback and topic (caret_analyze#156)
- Suppressed warning messages, which are outputted because
service
event is not supported, during trace data loading (caret_analyze#192) - Fixed bug which calculated incorrect period or frequency (caret_analyze#213)
- Fixed error messages from
Mypy
(caret_analyze#211)
v0.3.3 _ Nov 28, 2022#
- Added guidances for a beginner to avoid getting stuck in unexpected cases (caret_analyze #200 and caret_analyze #186)
- Added
publishers
andsubscriptions
properties toArchitecture
andApplication
classes (caret_analyze #179, caret_analyze #180) - Added function to update cache file named as
caret_converted
(caret_analyze#189) - Suppressed unnecessary warnings in
check_caret_rclcpp
(ros2caret #53, ros2caret #54) - Improved documentation of installation (caret_doc #111), configuration (caret_doc #112), visualization (caret_doc #98), and design (caret_doc#106)
- Fixed a bug which makes incorrect graphs (caret_analyze #201)
v0.3.2 _ Nov 14, 2022#
- Improved warning messages of caret_analyze (caret_analyze #144, caret_analyze #158, caret_analyze #162, caret_analyze #172, caret_analyze #182)
- Added properties of
publishers
andsubscriptions
toApplication
andArchitecture
object(caret_analyze #179) - Improved ros2caret(ros2caret #44, ros2caret #50)
- Enlarged buffer size(ros2_tracing #2)
- Added some minor changes (caret_analyze #183, caret_analyze #187)
v0.3.1 _ Oct 31, 2022#
- Added record function to ros2caret for upcoming feature. (ros2caret #38)
- Added function to display histogram for response time (caret_analyze #165)
- Added API to calculate period and latency (caret_analyze #167, caret_analyze #168)
- Fixed some bugs (caret_analyze #141, caret_analyze #153, caret_analyze #157)
- Refactored
Architecture
object interface (caret_analyze) - Added some minor changes (caret_analyze #139, caret_analyze #146, caret_analyze #147, caret_analyze #151, caret_analyze #159, caret_analyze #162, caret_analyze #165, caret_analyze#171)
v0.3.0 _ Sept 26, 2022#
- Supported OS: Ubuntu 22.04
- Supported ROS Dist.: ROS Humble
- Imported to Ubuntu 22.04 and ROS Humble
- Added new feature to show response time (caret_analyze #96)
- Added new APIs to visualize frequency, period, and latency of publishes, subscriptions, and communications (caret_analyze #124, #130, #133, #134, #136, #140)
- Reduced memory consumption wasted for recorded data (caret_analyze #100)
- Launched caret_analyze API document
- Added small fixes
v0.2.3 _ July 14, 2022#
- Supported OS: Ubuntu 20.04
- Supported ROS Dist.: ROS Galactic
- Improved output message from
path.verify()
method - Improved view of graphs
- Added wildcard support for
Architecture.callbacks()
method - Added command line function to check trace data
- Fixed specification of
Architecture.search_paths()
method - Added function to extract duplicated timer callback
v0.2.2 _ May 2, 2022#
- Supported OS: Ubuntu 20.04
- Supported ROS Dist.: ROS Galactic
- Added feature to measure complicated node path
- Added feature to choose optional trace points
- Added
Architecture.search_paths()
method - Improved trace filtering function