70 Commits

Author SHA1 Message Date
han J
d1ea3b4e13
run all examples of aimrt and generate the report (#34)
* run all examples of aimrt and generate the report

* add example items  of cpp and python

* add release_notes

* Modify copyright statement

---------

Co-authored-by: hanjun <hanjun@agibot.com>
2024-10-18 16:41:25 +08:00
zhangyi1357
1186d81a07
feat: add aimrt_py rpc benchmark example (#37)
* feat: add python benchmark example and update dependencies

Introduce an aimrt_py benchmark example for Python testing. Replace boost dependency with the standalone asio library to reduce overall dependencies and enhance configuration options for zenoh and mqtt.

* feat: add RPC benchmark client and configuration

Introduce a new benchmark client module and accompanying scripts to facilitate testing and performance measurement of RPC services. Include configuration for parallel execution and adjustable benchmarking parameters.

* docs: add benchmark process for protobuf RPC

Include detailed instructions for reproducing the crash issue and running benchmarks effectively to streamline troubleshooting and performance evaluation.

* chore: include string header

Add the string header to enable potential future string manipulations within the RPC handling code. This sets the stage for improved functionality and cleaner code integration down the line.

* feat: enhance benchmark reporting and logging

Improve performance benchmarking by logging detailed results, including latency metrics and error rates. Ensure more precise measurements by using microseconds for task duration and substituting print statements with structured logging.

* chore: update benchmark configurations for clarity and accuracy

Refine the benchmark plans to provide clearer settings. Adjust parameters for the fixed-frequency mode to ensure more relevant testing scenarios.

* chore: add script and config files for HTTP server examples

Include new symbolic links for server configuration and application scripts to streamline example setup and ensure consistency across projects.

* docs: update README for better clarity on python RPC benchmark setup

Enhance the README to provide a clearer guide on using the protobuf RPC benchmark example, including setup instructions, core files, and configuration details. This improves user experience and facilitates easier implementation for developers.

* style: correct casing in module name

Standardize the module name casing for improved consistency and readability in the RPC server application.

* docs: add pb_rpc_bench example link

Include the link to the pb_rpc_bench example for better accessibility and completeness in the tutorial.

* style: clean up code formatting

Remove unnecessary blank lines to improve readability in the benchmark RPC client module.

* docs: modify aimrt_py rpc release note
2024-10-18 16:33:58 +08:00
zhangyi1357
5ca412c339
fix: add GIL for pybind11::bytes object accessing (#35)
* 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: resolve occasional server crash during multi-threaded RPC calls

Address a rare issue causing server crashes in aimrt_py under multi-threaded RPC operations, enhancing stability and reliability.
2024-10-17 18:52:28 +08:00
wtudio
fabac84bb0
feat: Allow custom RPC names for some plugins (#33)
* Allow custom RPC names for some plugins
2024-10-17 16:39:35 +08:00
han J
5b85a23678
Zenoh update to 1.0.0.11 (#31)
* Upgrade zenoh to version 1.0.0.11

* Update the download link for the zenoh-c library to version 1.0.0.11 and adjust some related URL configurations.

---------

Co-authored-by: hanjun <hanjun@agibot.com>
2024-10-16 19:39:38 +08:00
zhangyi1357
036bd5bef9
feat: add aimrt_py benchmark publisher and subscriber applications (#28)
* feat: add aimrt_py benchmark publisher and subscriber applications

Introduce new benchmark publisher and subscriber modules, enabling performance testing with custom configuration. Includes necessary YAML configuration files and scripts for simulation of message publishing and receiving.

* style: correct message size formatting

Update the log message to use "bytes" for clarity and consistency in reporting metrics.

* feat: add python benchmark example and update dependencies

Introduce an aimrt_py benchmark example for Python testing. Replace boost dependency with the standalone asio library to reduce overall dependencies and enhance configuration options for zenoh and mqtt.

* feat: add aimrt_py channel benchmark example

Introduce a new benchmark example for aimrt_py to enhance Python benchmarking capabilities and provide clearer insights into performance metrics.

* format code

* style: format loss rate output

Remove the percentage symbol from the loss rate display for a cleaner presentation.

* docs: update release notes for v0.9.0

Clarify new features, config options, and dependency changes, including the addition of the aimrt_py channel benchmark example and removal of boost dependencies in favor of asio.

* docs: add benchmark example to Python interfaces section

Include a new link for the pb_chn_bench example to enhance the documentation and provide users with more comprehensive usage scenarios.

* docs: add README for protobuf channel benchmark example

Provide instructions on setting up and running a Python channel benchmark using protobuf with HTTP backend. Include details on core modules, configuration, and execution steps to enhance usability and understanding.

* docs: update installation instructions to link to quick start guide

Enhance user experience by providing direct access to the installation guide for the `aimrt_py` package, improving clarity and reducing search time for new users.

* docs: correct grpc reference in README

Update the section title to accurately reflect the protocol being used, enhancing clarity for users.
2024-10-16 14:03:05 +08:00
ATT_POWER
85ca6fb570
CI: change build worlflow image tag from v20240927 to latest (#29)
Co-authored-by: yuguanlin <yuguanlin@agibot.com>
2024-10-16 13:57:04 +08:00
zhangyi1357
81600602e3
build: simplify Boost fetching logic (#26)
Streamline the process of finding and downloading Boost by removing unnecessary checks and consolidating the logic, making it easier to manage and maintain dependencies.
2024-10-14 21:23:01 +08:00
zhangyi1357
83611e9591
build: update download URLs for dependencies (#27)
Enhance dependency management by aligning jsoncpp and asio download links with AimRT repositories.
2024-10-14 21:22:26 +08:00
wtudio
69ccda4268
fix iceoryx plugin example (#25) 2024-10-14 18:48:07 +08:00
zhangyi1357
e83c3ce8fe
build: reorganize CMake settings for better clarity (#23)
Streamline CMake configuration by consolidating compiler options and ensuring consistent export of compile commands, enhancing the build process especially for MSVC and Windows environments.
2024-10-14 17:49:01 +08:00
zhangyi1357
10153950c8
build: add Windows specific compile option for ssize_t (#24)
* build: add Windows specific compile option for ssize_t

Ensure compatibility on Windows by defining ssize_t as int for the gRPC plugin. This adjustment prevents potential type-related issues during compilation.

* chore: include string header for message handling

Ensure that the string functionality is available for improved message processing.
2024-10-14 17:48:07 +08:00
AimRT
515fc49c2d
Update feature_request.md 2024-10-14 12:42:55 +08:00
zhangyi1357
793418f0a2 update 2024-10-14 09:45:07 +08:00
AimRT
7e4a55c39d
CI: Add GitHub Actions to test on multiple platforms (amd64, arm64, msvc) (#22)
feat: 添加 AIMRT github action

Key features of this workflow:
Runs automated tests on the mentioned platforms using matrix strategy in GitHub Actions.
Ensures that the code compiles and runs correctly on each platform.
The workflow is automatically triggered whenever the "ci ready" label is applied to a pull request or a new release is published, ensuring thorough testing and validation at critical stages of the development process.

---------
Co-authored-by: yuguanlin <yuguanlin@agibot.com>
2024-10-12 20:51:43 +08:00
zhangyi1357
7d5fe68319 update 2024-09-30 17:22:32 +08:00
AimRT
28664a53bd
Update issue templates 2024-09-26 17:21:05 +08:00
AimRT
ac0e1f8b53
Merge pull request #1 from zhangyi1357/misc
docs: add code of conduct and contribution guidelines
2024-09-25 09:58:28 +08:00
zhangyi
d0e3c67c9b feat: add code of conduct and contribution guidelines
Establish a community code of conduct to foster a respectful and inclusive environment, and provide comprehensive contribution guidelines to streamline project participation for all contributors.
2024-09-25 09:54:34 +08:00
wtudio
d2d7b0495d update v0.8.0 v0.8.0 2024-09-23 16:01:31 +08:00