{"id":39219205,"url":"https://github.com/relvinarsenio/calyx","last_synced_at":"2026-04-06T03:35:24.095Z","repository":{"id":330864096,"uuid":"1121672243","full_name":"relvinarsenio/calyx","owner":"relvinarsenio","description":"Rapid VPS Profiler","archived":false,"fork":false,"pushed_at":"2026-01-11T19:16:51.000Z","size":179,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-11T21:51:12.597Z","etag":null,"topics":["bench","benchmark","cpp","linux","tools","vps","vps-benchmark"],"latest_commit_sha":null,"homepage":"https://calyx.pages.dev/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/relvinarsenio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-23T11:10:08.000Z","updated_at":"2026-01-06T17:30:10.000Z","dependencies_parsed_at":"2025-12-31T14:01:35.650Z","dependency_job_id":null,"html_url":"https://github.com/relvinarsenio/calyx","commit_stats":null,"previous_names":["relvinarsenio/bench","relvinarsenio/calyx"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/relvinarsenio/calyx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relvinarsenio%2Fcalyx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relvinarsenio%2Fcalyx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relvinarsenio%2Fcalyx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relvinarsenio%2Fcalyx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/relvinarsenio","download_url":"https://codeload.github.com/relvinarsenio/calyx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relvinarsenio%2Fcalyx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28522142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T22:11:28.393Z","status":"ssl_error","status_checked_at":"2026-01-17T22:11:27.841Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["bench","benchmark","cpp","linux","tools","vps","vps-benchmark"],"created_at":"2026-01-17T23:26:19.501Z","updated_at":"2026-04-06T03:35:24.088Z","avatar_url":"https://github.com/relvinarsenio.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Calyx - Rapid VPS Profiler\n\n**Calyx** is a high-performance, rapid Linux server profiling and benchmarking tool written in **Modern C++ (C++23)**. It is designed to be completely static, memory-safe, and incredibly fast.\n\nUnlike traditional bash scripts that rely on external tools (like `awk`, `sed`, or `grep`), Calyx parses kernel interfaces (`/proc`, `/sys`) directly using native C++ system calls for maximum precision and zero overhead.\n\n## 🔥 Key Features\n\n* **Hardcore Disk I/O Test**: Uses `O_DIRECT` + `io_uring` (where available) to bypass RAM Cache (Page Cache), measuring true raw disk speed / commit speed.\n* **Rapid System Profiling**: Instant detection of CPU Model, Cache, Virtualization (Docker/KVM/Hyper-V), and specific RAM/Swap types (ZRAM/ZSwap).\n* **Context-Aware Storage Check**: Automatically detects the filesystem and capacity of the specific partition where the test is running (supports OverlayFS, Btrfs, Ext4, etc.).\n* **Network Speedtest**: Native integration with Ookla Speedtest CLI via JSON parsing for accurate Latency, Jitter, and Packet Loss data (impersonating a real browser to avoid blocks).\n* **Fully Static Binary**: Zero runtime dependencies (Musl-linked) - runs on Linux Kernel 5.x+ with io_uring support distribution (Alpine, Ubuntu, CentOS, Arch, etc.).\n* **Modern Tech Stack**: Built with C++23 (`std::print`, `std::expected`) and utilizes `io_uring` for asynchronous I/O.\n\n### 🧠 Understanding ZSwap Metrics\nCalyx provides deep insights into the Linux **ZSwap** subsystem (when available), identifying memory bottlenecks:\n\n*   **Spilled** (Written-back): Data that overflowed from ZSwap and was forced onto the disk swap. High values indicate actual RAM exhaustion.\n*   **Rejected** (Reclaim Fail): Data that failed to enter ZSwap because the system couldn't cycle space fast enough. A key indicator of extreme memory pressure.\n*   **Capped** (Pool Limit Hit): Data turned away because the configured max pool size was reached. Suggests the ZSwap limit is too tight for the load.\n\n---\n\n## 📦 Quick Start (Pre-built Binary)\n\nDownload and run the pre-built static binary - **no compilation required**:\n\n```bash\ncurl -fsL https://calyx.pages.dev/run | bash\n\n```\n\n*(This script automatically detects your architecture, downloads the latest binary securely to a temporary location, runs the benchmark, and cleans up afterwards.)*\n\n---\n\n## 🛠️ Build from Source\n\n### Requirements\n\n| Component | Requirement | Notes |\n| --- | --- | --- |\n| **OS** | Linux | Any distro with Docker support |\n| **Kernel** | **5.x+** | 5.10+ required for Disk Benchmark (`io_uring`) |\n| **Docker** | 20.10+ | Required for building static binary |\n\n### Dependencies (Handled Automatically)\n\nThis project is **fully reproducible**. All dependencies are automatically downloaded and built from source during the Docker build process:\n\n* **zlib** (v1.3.1) - Full LTO + -Oz\n* **LibreSSL** (v4.2.1) - Full LTO + -Oz\n* **libcurl** (v8.17.0) - Ultra-minimal (HTTP/HTTPS only)\n* **nlohmann/json** (v3.12.0)\n\n### Build with Docker 🐳\n\nThe build script will create a fully static binary (~2.7 MB) inside the `dist/` folder:\n\n```bash\n# Clone the repo\ngit clone https://github.com/relvinarsenio/calyx.git\ncd calyx\n\n# Build using Docker\nchmod +x build-static.sh\n./build-static.sh\n\n# Run the result\n./dist/calyx\n\n```\n\n#### Build Options\n\n```bash\n# Normal build (uses cached Docker image if available)\n./build-static.sh\n\n# Fresh build (force rebuild dependencies)\n./build-static.sh --fresh-build\n\n```\n\n---\n\n## 📊 Example Output\n\n```text\n--------------------- Calyx - Rapid VPS Profiler (v7.3.1) ----------------------\n Author             : Alfie Ardinata (https://calyx.pages.dev/)\n GitHub             : https://github.com/relvinarsenio/calyx\n Usage              : ./calyx\n--------------------------------------------------------------------------------\n -\u003e CPU \u0026 Hardware\n CPU Model            : AMD Ryzen 5 7535HS with Radeon Graphics\n CPU Cores            : 6 @ 4584.2 MHz\n CPU Cache            : 16 MB\n AES-NI               : ✓ Enabled\n Hardware Virt        : ✗ Disabled\n\n -\u003e System Info\n OS                   : Debian GNU/Linux 13 (trixie)\n Arch                 : x86_64 (64 Bit)\n Kernel               : 6.19.6+deb14-amd64\n TCP CC               : bbr\n Virtualization       : Hyper-V\n System Uptime        : 14 hours, 38 mins\n Load Average         : 1.54, 1.06, 0.97\n\n -\u003e Storage \u0026 Memory\n Test Path            : /home/user/Github/calyx (/dev/sda2 (xfs))\n Size Partition       : 63 GB (25 GB Used)\n Total Mem            : 6.9 GB (4.5 GB Used)\n Total Swap           : 5.2 GB (3.1 GB Used)\n   -\u003e Partition        : 4 GB (2.8 GB Used) (/dev/sdb)\n   -\u003e ZSwap            : 1.2 GB → 308.1 MB (3.88×) [zstd, limit: 1.4 GB (20%)]\n                         Spilled: 10.8 GB  Rejected: 22.1 GB  Capped: 157.1 MB\n\n -\u003e Network\n IPv4/IPv6            : ✓ Online / ✗ Offline\n ISP                  : AS13335 Cloudflare, Inc.\n Location             : Bandar Lampung / ID\n Region               : Lampung\n--------------------------------------------------------------------------------\nRunning I/O Test (1 GB File)...\n  I/O Speed (Run #1)   : Write    440.1 MB/s   Read    385.9 MB/s\n  I/O Speed (Run #2)   : Write    390.3 MB/s   Read    392.7 MB/s\n  I/O Speed (Run #3)   : Write    389.9 MB/s   Read    385.9 MB/s\n  I/O Speed (Average)  : Write    406.8 MB/s   Read    388.2 MB/s\n--------------------------------------------------------------------------------\nDownloading Speedtest CLI...\n Node Name              Download          Upload            Latency     Loss    \n Speedtest.net (Auto)   66.99 Mbps        21.29 Mbps        47.00 ms    0.00 %  \n Singapore, SG          65.99 Mbps        21.13 Mbps        30.85 ms    0.00 %  \n Los Angeles, US        71.33 Mbps        21.15 Mbps        200.30 ms   0.00 %  \n Montreal, CA           65.52 Mbps        21.02 Mbps        283.15 ms   0.00 %  \n London, UK             71.84 Mbps        20.94 Mbps        278.54 ms   0.00 %  \n Amsterdam, NL          68.61 Mbps        21.16 Mbps        237.72 ms   0.00 %  \n Sydney, AU             69.05 Mbps        20.52 Mbps        123.62 ms   0.33 %  \n--------------------------------------------------------------------------------\n Finished in        : 3 min 47 sec\n\n```\n\n---\n\n## ⚖️ License\n\nThis project is licensed under the **Mozilla Public License 2.0**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelvinarsenio%2Fcalyx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frelvinarsenio%2Fcalyx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelvinarsenio%2Fcalyx/lists"}