{"id":18821695,"url":"https://github.com/goto-eof/telemetry-workloan-test","last_synced_at":"2026-02-03T09:41:40.793Z","repository":{"id":135174027,"uuid":"582126899","full_name":"goto-eof/telemetry-workloan-test","owner":"goto-eof","description":"Telemetry workloan test was developed for testing the applications workloan in order to allow to make a comparison between different technologies. Currently there are 4 projects on which tests are made: Java, Rust, Rust (no ORM) and TypeScript. This project was made using turbo repo and pnpm.","archived":false,"fork":false,"pushed_at":"2023-04-28T19:54:54.000Z","size":1708,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-17T16:57:14.739Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","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/goto-eof.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-25T19:38:42.000Z","updated_at":"2022-12-25T19:40:27.000Z","dependencies_parsed_at":"2023-06-03T20:00:19.337Z","dependency_job_id":null,"html_url":"https://github.com/goto-eof/telemetry-workloan-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/goto-eof/telemetry-workloan-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Ftelemetry-workloan-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Ftelemetry-workloan-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Ftelemetry-workloan-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Ftelemetry-workloan-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goto-eof","download_url":"https://codeload.github.com/goto-eof/telemetry-workloan-test/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goto-eof%2Ftelemetry-workloan-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29039824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T09:33:44.148Z","status":"ssl_error","status_checked_at":"2026-02-03T09:33:43.343Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2024-11-08T00:45:20.629Z","updated_at":"2026-02-03T09:41:40.779Z","avatar_url":"https://github.com/goto-eof.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n\n████████╗███████╗██╗     ███████╗███╗   ███╗███████╗████████╗██████╗ ██╗   ██╗                              \n╚══██╔══╝██╔════╝██║     ██╔════╝████╗ ████║██╔════╝╚══██╔══╝██╔══██╗╚██╗ ██╔╝                              \n   ██║   █████╗  ██║     █████╗  ██╔████╔██║█████╗     ██║   ██████╔╝ ╚████╔╝                               \n   ██║   ██╔══╝  ██║     ██╔══╝  ██║╚██╔╝██║██╔══╝     ██║   ██╔══██╗  ╚██╔╝                                \n   ██║   ███████╗███████╗███████╗██║ ╚═╝ ██║███████╗   ██║   ██║  ██║   ██║                                 \n   ╚═╝   ╚══════╝╚══════╝╚══════╝╚═╝     ╚═╝╚══════╝   ╚═╝   ╚═╝  ╚═╝   ╚═╝                                 \n                                                                                                            \n██╗    ██╗ ██████╗ ██████╗ ██╗  ██╗██╗      ██████╗  █████╗ ███╗   ██╗    ████████╗███████╗███████╗████████╗\n██║    ██║██╔═══██╗██╔══██╗██║ ██╔╝██║     ██╔═══██╗██╔══██╗████╗  ██║    ╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝\n██║ █╗ ██║██║   ██║██████╔╝█████╔╝ ██║     ██║   ██║███████║██╔██╗ ██║       ██║   █████╗  ███████╗   ██║   \n██║███╗██║██║   ██║██╔══██╗██╔═██╗ ██║     ██║   ██║██╔══██║██║╚██╗██║       ██║   ██╔══╝  ╚════██║   ██║   \n╚███╔███╔╝╚██████╔╝██║  ██║██║  ██╗███████╗╚██████╔╝██║  ██║██║ ╚████║       ██║   ███████╗███████║   ██║   \n ╚══╝╚══╝  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝       ╚═╝   ╚══════╝╚══════╝   ╚═╝   \n                                                                                                                 \n                          \n                                                                                        \n```\n## Telemetry workloan test\nTelemetry workloan test was developed for testing the applications workloan in order to allow to make a comparison between different technologies. Currently there are 4 projects on which tests are made: Java, Rust, Rust (no ORM) and TypeScript. This project was made using turbo repo and pnpm.\n\n### Architecture\nAll 4 applications that are tested are installed in 4 different docker containers. Every application connects to the fifth container that contains the DBMS (Postgres).\n\n![architecture](telemetry_workloan_test.png)\n\n\n### Development stack\n - Java application: Java, Spring Boot, Hibernate, Postgres\n - TS pplication: Typescript, Express, TypeORM, Postgres\n - Rust application: Rust, Warp, Sea-ORM, Postgres\n - Rust (no ORM) application: Rust, Warp, sqlx, Postgres\n\n### Install pnpm\n```curl -fsSL https://get.pnpm.io/install.sh | sh -```\n\n### Install packages\n```pnpm install```\n\n### Run test\n```pnpm run test```\n\n### Tests results\nTests results  are under the directory `apps/telemetry_test/reports-html`. \n\n### Meaning of tests by directory\n - `kread` - constant number of v-users that makes requests that executes a select. Aim: determinate percentile value. \n - `kwrite` - constant number of v-users that makes requests that executes an insert. Aim: determinate percentile value.\n - `kwriteread` - constant number of v-users that makes requests that executes an insert and a select. Aim: determinate percentile value.\n - `read` - variable number of v-users that makes reqeusts that execute a select. Aim: determinate the workloan.\n - `write` - variable number of v-users that makes reqeusts that execute an insert. Aim: determinate the workloan.\n - `writeread` - variable number of v-users that makes reqeusts that execute am insert and a select. Aim: determinate the workloan.\n\n### Opinion on tests\nTaking into account the various tests I have done, Rust applications seems that has better results. Rust ORM accepts less requests than Rust NO ORM (yes, could be obvius). Furthermore the memory usage of rust applications is lower thant the others (1.5Mb vs about 1Gb of java application, see the `docker stats` result). \nSo that, Rust rocks!\n![docker stats](stats.png)\n\n### Moreover\n - the select involves the execution of a query with a subquery and a group by statement.\n \n \n For bug reporting please click [here](http://andre-i.eu/#contactme).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoto-eof%2Ftelemetry-workloan-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoto-eof%2Ftelemetry-workloan-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoto-eof%2Ftelemetry-workloan-test/lists"}