{"id":27192341,"url":"https://github.com/sameh-farouk/rmb_tester","last_synced_at":"2025-04-09T18:44:34.543Z","repository":{"id":127939582,"uuid":"498397903","full_name":"sameh-farouk/rmb_tester","owner":"sameh-farouk","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-25T20:41:10.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-12-25T21:40:12.482Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sameh-farouk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-05-31T15:41:46.000Z","updated_at":"2022-05-31T15:43:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"26742b08-4040-4500-8e11-50f81c9c5602","html_url":"https://github.com/sameh-farouk/rmb_tester","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameh-farouk%2Frmb_tester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameh-farouk%2Frmb_tester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameh-farouk%2Frmb_tester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sameh-farouk%2Frmb_tester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sameh-farouk","download_url":"https://codeload.github.com/sameh-farouk/rmb_tester/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248090842,"owners_count":21046155,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-09T18:44:33.812Z","updated_at":"2025-04-09T18:44:34.515Z","avatar_url":"https://github.com/sameh-farouk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RMB tools (CLI tools/scripts)\n## NOTE : This repo is no longer maintained. please go instaed to https://github.com/threefoldtech/rmb-rs\n\nYou can find here CLI tools and scripts that can be used for testing and benchmarking [RMB](https://github.com/threefoldtech/rmb-rs). You can use either RMB_Tester, RMB_echo, or both to quickly test the communications over RMB.\n\n## Installation:\n- clone the repo\n- create a new env\n```py\npython3 -m venv venv\n```\n- activate the new env\n```py\nsource ./venv/bin/activate\n```\n- install dependencies\n```py\npip install -r requirements.txt\n```\n\n## Usage:\nRMB tools comprise two Python programs that can be used independently or in conjunction with each other.\n\n### RMB_Tester\nRMB_Tester is a CLI tool that serves as an RMB client to automate the process of crafting a specified number of test messages to be sent to one or more destinations. The number of messages, command, data, destination list, and other parameters can be configured through the command line. The tool will wait for the correct number of responses and report some statistics.\n\nPlease ensure that there is a process running on the destination side that can handle this command and respond back or use RMB_echo for this purpose.\n\nexample:\n```sh\n# We sending to two destinations\n# The default test command will be used and can be handled by RMB_echo process\npython3 ./rmb_tester.py --dest 41 55\n```\n\nto just print the summary use `--short` option\n\nto override default command use the `--command`\n```sh\n# The `rmb.version` command will be handled by RMB process itself\npython3 ./rmb_tester.py --dest 41 --command rmb.version\n```\n\nfor all optional args see\n```sh\npython3 ./rmb_tester.py -h\n```\n\n### RMB_Echo (message handler)\nThis tool will automate handling the messages coming to $queue and respond with same message back to the source and display the count of processed messages.\n\nexample:\n```sh\npython3 ./msg_handler.py\n```\n\nor specify the redis queue (command) to handle the messages from\n```sh\npython3 ./msg_handler.py --queue helloworld\n```\n\nfor all optional args see\n```sh\npython3 ./msg_handler.py -h\n```\n\n## Recipes:\n- Test all online nodes (based on up reports) to ensure that they are reachable over RMB\n```sh\n# The nodes.sh script when used with `--likely-up` option will output the IDs of the online nodes in the network using the gridproxy API.\npython3 ./rmb_tester.py -d $(./scripts/twins.sh --likely-up main) -c \"rmb.version\" -t 600 -e 600\n```\nNote: this tool is for testing purposes and not optimized for speed, for large number of destinations use appropriate expiration and timeout values.\n\nyou can copy and paste all non responsive twins and run `./twinid_to_nodeid.sh` with the list of twins ids for easy lookup node id and verfiying the status (like know if node in standby mode).\n```sh\n./scripts/twinid_to_nodeid.sh main 2562 5666 2086 2092\n```\n\nFirst arg is network (one of `dev`, `qa`, `test`, `main`)\nThen you follow it with space separated list of twin ids\n\nthe output would be like\n```sh\ntwin ID: 2562 node ID: 1419 status: up\ntwin ID: 5666 node ID: 3568 status: up\ntwin ID: 2086 node ID: 943 status: up\ntwin ID: 2092 node ID: 949 status: up\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameh-farouk%2Frmb_tester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsameh-farouk%2Frmb_tester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsameh-farouk%2Frmb_tester/lists"}