Skip to content

Tags: AimRT/AimRT

Tags

v0.9.2

Toggle v0.9.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: add service server wait functionality in BenchmarkRpcClientModu…

…le (#131)

- Introduced a new method `WaitForServiceServer` to ensure the service server is available before starting benchmarks.
- Added a timeout mechanism for RPC calls to improve robustness.
- Enhanced logging to provide feedback on server availability during the benchmark process.

v0.9.1

Toggle v0.9.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: update version to 0.9.1 and modify release notes (#128)

- Bumped the version number from 0.9.0 to 0.9.1 in the VERSION file.
- Updated the release notes to reflect the new version, replacing references from v0_9_0.md to v0_9_1.md.

v0.9.0

Toggle v0.9.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix (#120)

v0.9.0-rc2

Toggle v0.9.0-rc2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: add the rpc and channel metric in opentelemetry plugin (#92)

* feat(opentelemetry_plugin): Add RPC tracing and performance metrics

- Added multiple counters and histograms in OpenTelemetryPlugin for tracking RPC calls
- Updated ChannelTraceFilter and RpcTraceFilter with enhanced context attribute handling
- Added new RpcMetricsFilter for collecting RPC performance metrics
- Adjusted log level configuration from INFO to Warn
- Added link to echo_plugin example in documentation

* fix: format the code

* fix : format

* perf(opentelemetry_plugin): Optimize RPC performance metrics calculation logic

* fix: Simplify opentelemetry plugin code

* refactor(opentelemetry_plugin):  remove rpc status

* fix: delete unnessary label

* format

* feat(opentelemetry_plugin): Add custom histogram boundaries option for RPC metrics

* fix(opentelemetry): Fix histogram boundary value type

* fix: change new to make_unique

* docs: add opentelemetry_plugin doc

* fix: opt the expression of doc

* choro: format the code

* docs: opt opentelemetry doc

* fix: update OpenTelemetry plugin documentation

- Change trace_otlp_http_exporter_url and metrics_otlp_http_exporter_url fields from required to optional
- Optimize capture list in OpenTelemetryPlugin::RpcMetricsFilter function

v0.9.0-rc1

Toggle v0.9.0-rc1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: add timer support based on executor's ExecuteAt (#73)

* feat: add timer module integration

Integrate the new timer module into the executor package, enhancing functionality and providing more precise timing capabilities within the system.

* feat: add timer class for periodic task scheduling

Implement a Timer class that enables users to schedule recurring tasks with configurable periods. This enhances the executor functionality by allowing more precise timing control and task management within the AimRT framework.

* refactor: replace WallTimer with aimrt::executor::Timer and enhance logging

Streamline the timer module by removing the custom WallTimer implementation in favor of the built-in aimrt::executor::Timer. Improve logging to track execution intervals, providing clearer insights into task execution frequency.

* feat: enhance timer functionality and behavior

Introduce a shortened sleep duration for task execution and add cancellation capability for timers, improving responsiveness and efficiency in managing timer events.

* feat: enhance timer functionality with flexible period handling

Refine the timer by allowing a customizable reset period, improving task scheduling accuracy, and ensuring that callbacks execute only when appropriate. This update addresses potential timing issues when the timer is reset, enhancing overall reliability in task execution.

* feat: improve timer module functionality and simplify timer creation

Enhance the timer module by updating the logging to microseconds, refactoring timer creation for improved clarity, and adjusting timing intervals for better performance and maintainability.

* feat: add utility for comparing function argument types

Introduce a new utility to compare argument types of functions, enhancing type safety and flexibility in the Timer implementation. Update Timer module to integrate this utility for improved argument type checks. Additionally, adjust timer intervals for more appropriate timing behavior.

* test: add comprehensive tests for SameArguments trait functionality

Introduce a series of tests to validate the behavior of the SameArguments trait across various function types, member functions, function objects, lambda functions, and complex argument types. This ensures compatibility and correctness in argument matching, enhancing type safety and reliability in code usage.

* style: format function definitions for clarity

Improve the readability of the TimerBase class by formatting function definitions to align with standard coding style.

Expand timer functionality to support const reference callbacks, enhancing flexibility in task management.

* style: ensure newline at end of file and tidy up CMakeLists.txt

Update formatting for consistency and readability by adding a newline at the end of the file and improving the organization of the CMakeLists.txt.

* chore: update include paths for consistency

Refactor the include statement for the same_arg_trait to follow the new directory structure, promoting better organization and maintainability.

* fix: clarify comment on task execution timing

Ensure that the executor guarantees all tasks are executed after their planned time to handle timer resets more effectively.

* refactor: simplify cancellation check in timer execution

Improve code clarity by replacing direct access of a member variable with a method call for cancellation checks. This enhances maintainability and encapsulates the cancellation logic.

* refactor: enhance timer interface to support configurable period

Revise the TimerBase and Timer classes to allow starting and resetting with a specific duration. This improves flexibility, prevents duplicate callbacks on resets, and ensures more accurate callback scheduling.

* feat: improve timer functionality and logging

Enhance the timer with more precise intervals and additional logging for better tracking of execution and reset events. Adjust execution periods for improved timing accuracy and introduce dynamic start behavior for better flow control.

* refactor: adjust timer periods for improved performance

Update timer initialization and execution intervals to enhance timing accuracy and operational efficiency.

* refactor: rename callback method for clarity

Update the timer interface to use "ExecuteTask" instead of "ExecuteCallback" for improved readability and accuracy in describing the method's purpose. Ensure that task cancellation is properly handled when auto-start is disabled.

* docs: enhance timer documentation and add usage examples

Clarify the timer interface and its functionality, including creation, scheduling, and task execution. Provide practical usage examples to improve understanding and facilitate integration into projects.

* chore: update copyright information to reflect current year and new authors

Ensure compliance with licensing requirements by revising the copyright and license details in the CMake configuration.

* fix: address potential duplicate callback executions on timer reset

Remove commented FIXME notes regarding edge case of duplicate callbacks when the timer is reset to the same time point.

* fix: adjust timer intervals for improved timing accuracy

Reduce timer intervals from seconds to milliseconds to enhance responsiveness of the timer functionality. Implement a sleep in the shutdown process to ensure all timer executor tasks complete properly before shutdown.

* refactor: simplify timer restart logic

Consolidate timer actions by removing redundant cancellation and restart statements. Adjust logging to reflect the accurate restart timing, enhancing clarity and reducing unnecessary latency.

* fix: add cancellation check in timer execution loop

Ensure that the timer's execution loop properly checks for cancellation, optimizing performance and preventing unnecessary operations when the timer is no longer needed.

* refactor: update time point calculations for accuracy

Improve the handling of time point arithmetic in the Timer class to ensure precision during execution and scheduling. This revision clarifies the time calculations, preventing potential errors in scheduling tasks.

* feat: add synchronization support to Timer class

Implement SyncWait method to allow for synchronous waiting on timer tasks, enhancing task execution control and reliability.

* refactor: streamline timer execution logging

Improve timer execution logging by incrementing the execution count directly within the log statement. Ensure the timer synchronously waits during shutdown to enhance reliability.

* feat: add SyncWait method to TimerBase for safer resource cleanup

Improve timer behavior by introducing SyncWait to ensure resources are correctly released after cancellation before the next execution point. Update timer intervals for enhanced responsiveness and logging clarity.

* feat: add timer based on executor for scheduled tasks

Introduce a new feature to facilitate scheduled task execution with an executor-based timer, enhancing the flexibility and usability of the task management capabilities.

* refactor: streamline timer initialization and assertion handling

Remove inline assertions from the TimerBase constructor and relocate assertions to the CreateTimer function, enhancing clarity and maintaining execution flow. This simplifies timer initialization while ensuring that critical checks occur before timer creation.

* refactor: simplify timer task management and logging

Improve timer initialization and task execution by streamlining start and reset processes. Enhance logging clarity by aligning messages with timepoints and ensuring the timer cancels correctly after reaching execution limits.

* docs: simplify TimerBase interface documentation

Clarify method descriptions and refine behavior explanation to enhance understanding of TimerBase functionality, particularly around the Reset and Start methods.

* refactor: optimize task forwarding in Timer constructor

Improve task handling by using std::forward to perfect-forward the task parameter, ensuring efficient movement semantics and reducing potential overhead.

---------

Co-authored-by: zhangyi <zhangyi@agibot.com>

v0.8.3

Toggle v0.8.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
v0.8.3 bugfix (#38)

* build: add compile options for Windows and include string header

Set ssize_t definition for Windows builds to ensure compatibility. Include string header to support additional functionality in the grpc message handling.

* build: reorganize CMake options for clarity

Enhance CMake configuration by restructuring compilation options for MSVC and Windows. This improves readability and ensures compatibility with UTF-8 while maintaining the NOMINMAX definition on Windows.

* fix: add GIL for pybind11::bytes object accessing

Protect the access to the pybind11::bytes object with a GIL lock to avoid potential memory errors, and unify the handling of empty and non-empty strings.
Eliminate unused functions for empty byte objects in the export channel and export RPC modules to enhance code clarity.

* docs: update release notes and versioning

Add release notes for versions 0.8.2 and 0.8.3, highlighting important fixes, including resolutions for platform-specific linking issues and stability improvements for multi-threaded RPC calls. Increment version to 0.8.3.

v0.8.2

Toggle v0.8.2's commit message
build: link dl library with dynamic loading support

Include the dynamic loading library to enhance compatibility when using the fmt library, ensuring that dependent components can function correctly with external resources.

v0.8.1

Toggle v0.8.1's commit message
docs: add release notes for version 0.8.1

Include important fixes for VERSION file reading, aimrt_py packaging, and nghttp2 dependency issues.

v0.8.0

Toggle v0.8.0's commit message
update v0.8.0