GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read-only access to Rust profiling reports from CI: benchmark history, diffs and policies
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://hotpath.rs/api/v1/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http hotpath-cloud https://hotpath.rs/api/v1/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"hotpath-cloud": {
"url": "https://hotpath.rs/api/v1/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"hotpath-cloud": {
"type": "http",
"url": "https://hotpath.rs/api/v1/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://hotpath.rs/api/v1/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 8 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
get_default_policyGet the default policy document (its keys at their defaults, comments included), as `source`. Every uploaded report must carry a policy file of its repository: write it as hotpath/policy.toml (or hotpath/ -policy.toml), edit it, then check it with validate_policy.
get_diffExplain what changed in a benchmark: compare a stored report with the baseline recorded for it at upload (the report the PR comment compared), judged under the policy the report carried. The head is picked as in get_report. Values are strings formatted as the PR comment shows the
get_reportFetch one stored report by pull request, commit or id (exactly one). `pr` and `commit` answer the newest matching upload; `commit` matches the measured commit or a PR's head commit, so the local HEAD sha of a PR branch finds the PR's report. The summary names the policy file the
list_benchmarksList one repository's benchmarks. A repository that does not exist, that the user cannot see or that has no App installed all answer not_found. list_repos already includes every repository's benchmarks; use this one when the repository is known.
list_reportsList a repository's stored reports, newest first, as summaries without payloads: id, benchmark, commit, PR, event, verdict, dashboard URL and the run's `totals` (wall time, allocated bytes or allocation count, peak RSS, Callgrind instructions and Callgrind wall time, as display s
list_reposList the repositories the token's user can see with the hotpath GitHub App installed, ordered by full name, each with its benchmarks (name, stored reports, time of the newest report). Start here: `full_name` is the `repo` argument of the other tools. A user in a large organizatio
validate_policyCheck that a policy TOML document parses as a hotpath policy, with the parser that judges uploaded reports. Stores nothing. A document with a problem is an error naming it. Use it after editing a policy file, before committing it.
whoamiShow which user and API token this connection acts as: the GitHub login, the token's name and expiry. Use it to confirm the connection works, or after a call answers invalid_token.
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน hotpath.rs แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 262 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 8 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.3) เข้า registry วันนี้
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A simple Rust profiler that shows exactly why your code is slow.
Performance profiling for developers and coding agents. Profile CPU, memory allocations, async tasks, SQL queries, I/O, and lock contention in one place. Explore performance metrics in a live TUI, or export to Prometheus and Grafana when you need production monitoring.
Already using Criterion.rs? Criterion tells you how fast your code runs. hotpath-rs explains why. Add detailed CPU and memory profiling to your existing Criterion benchmarks with minimal changes. Explore Criterion integration →
Find bottlenecks locally, then use hotpath-cloud to track performance changes across pull requests.
Try the TUI demo via SSH - no installation required:
ssh demo.hotpath.rs
Or let your AI coding agent set up profiling, paste into Claude Code, Codex, OpenCode or Cursor:
Set up hotpath-rs profiling in this Rust project using the instructions at https://hotpath.rs/agent/setup
hotpath-rs is an easy-to-configure Rust performance profiling toolkit that shows exactly where your code spends time, burns CPU, and allocates memory.
It helps you distinguish between functions that are slow because they wait on I/O and those that are CPU-intensive. Instrument functions, channels, futures, streams, SQL queries, HTTP calls, and byte-level I/O to find bottlenecks and focus optimizations where they matter most. Get actionable insights into time, memory, and async data flow with minimal setup.
Explore the full documentation at hotpath.rs. See CONTRIBUTING.md for development setup and guidelines.
You can use it to produce one-off performance (timing, memory or CPU) reports:
correlate all performance signals in Grafana with minimal profiling overhead:
catch performance regressions on every pull request with a simple CI integration:
inspect throughput and latency of network, file or compression I/O streams:
analyze SQL/HTTP calls performance with automatic source function attribution:
monitor throughput, performance and max queue depth of instrumented channels:
or use the live TUI dashboard to monitor real-time performance and async data flow metrics with debug info:
https://github.com/user-attachments/assets/2e890417-2b43-4b1b-8657-a5ef3b458153
The quickest way to set up hotpath is to let your own AI coding agent do it. Paste this prompt into Claude Code, Codex, OpenCode, Cursor or any other coding agent, inside your project repo:
Set up hotpath-rs profiling in this Rust project using the instructions at https://hotpath.rs/agent/setup
The agent inspects your project, including workspaces and any existing hotpath setup, adds the feature-gated dependency, instruments main and a small starting set of hot functions, channels and locks, and verifies that everything compiles with profiling enabled and disabled. When the project has a workload that exits, it runs it and shows you the first report; it does not start long-running servers just to get one. It then explains how to run profiling and the live TUI. It finally asks once whether to optionally set up hotpath-cloud to benchmark pull requests in CI.
The prompt is a one-time project setup. The hotpath-rs agent skill is what stays: reusable hotpath knowledge your agent loads in every later session. To install it, for example in a repo that already uses hotpath, run:
npx skills add hotpath-rs/hotpath --skill hotpath-rs
The skill maps every hotpath task, from instrumenting a crate to fixing a regression flagged in CI, to the documentation page that covers it, so your agent fetches the current docs instead of relying on its memory. Your agent remains in control: you review and approve edits through its regular permission prompts.
Add to your Cargo.toml:
[dependencies]
hotpath = "0.31"
[features] hotpath = ["hotpath/hotpath"] hotpath-cpu = ["hotpath", "hotpath/hotpath-cpu"] hotpath-callgrind = ["hotpath", "hotpath/hotpath-callgrind"] hotpath-alloc = ["hotpath", "hotpath/hotpath-alloc"] hotpath-prometheus = ["hotpath", "hotpath/hotpath-prometheus"]
This config ensures that the lib has no compile time or runtime overhead unless explicitly enabled via one of the hotpath features. Every profiling feature also enables hotpath, so a single flag like --features=hotpath-alloc is enough. All the lib dependencies are optional (i.e. not compiled) and all macros are noop unless profiling is enabled.
You'll need only #[hotpath::main] and #[hotpath::measure] macros to get started:
#[hotpath::measure]
fn sync_function(sleep: u64) { std::thread::sleep(Duration::from_nanos(sleep)); let vec1 = vec![1, 2, 3]; std::hint::black_box(&vec1); // force mem allocation }
#[hotpath::measure] async fn async_function(sleep: u64) { tokio::time::sleep(Duration::from_nanos(sleep)).await; }
// When using with tokio, place the #[tokio::main] first #[tokio::main] #[hotpath::main] async fn main() { for i in 0..1000 { sync_function(i); async_function(i * 2).await;
hotpath::measure_block!("custom_block", { std::thread::sleep(Duration::from_nanos(i * 3)) }); } }
Now, run your program with hotpath (and optionally hotpath-alloc features):
cargo run --features='hotpath-alloc'
On exit it will print a report with timings, memory allocations and thread usage metrics:
[hotpath] 1.20s | timing, alloc, threads
timing - Function execution time metrics. +------------------------------+-------+----------+----------+----------+---------+ | Function | Calls | Avg | P95 | Total | % Total | +------------------------------+-------+----------+----------+----------+---------+ | docs_example::main | 1 | 1.20 s | 1.20 s | 1.20 s | 100.00% | +------------------------------+-------+----------+----------+----------+---------+ | docs_example::async_function | 1,000 | 1.16 ms | 1.24 ms | 1.16 s | 96.84% | +------------------------------+-------+----------+----------+----------+---------+ | custom_block | 1,000 | 16.86 µs | 29.50 µs | 16.86 ms | 1.41% | +------------------------------+-------+----------+----------+----------+---------+ | docs_example::sync_function | 1,000 | 12.16 µs | 23.84 µs | 12.17 ms | 1.02% | +------------------------------+-------+----------+----------+----------+---------+
alloc-bytes - Exclusive allocation bytes by each function (excluding nested calls). Total: 100.1 KB +------------------------------+-------+---------+---------+---------+---------+ | Function | Calls | Avg | P95 | Total | % Total | +------------------------------+-------+---------+---------+---------+---------+ | docs_example::main | 1 | 88.4 KB | 88.4 KB | 88.4 KB | 88.29% | +------------------------------+-------+---------+---------+---------+---------+ | docs_example::sync_function | 1,000 | 12 B | 12 B | 11.7 KB | 11.71% | +------------------------------+-------+---------+---------+---------+---------+ | custom_block | 1,000 | 0 B | 0 B | 0 B | 0.00% | +------------------------------+-------+---------+---------+---------+---------+ | docs_example::async_function | 1,000 | 0 B | 0 B | 0 B | 0.00% | +------------------------------+-------+---------+---------+---------+---------+
threads - Thread CPU and memory statistics. (Max RSS: 8.6 MB, Alloc: 108.5 KB, Dealloc: 123.8 KB, Diff: -15.3 KB, 5/15) +-----------------+------+------+----------+---------+----------+ | Thread | Max% | Avg% | Alloc | Dealloc | Diff | +-----------------+------+------+----------+---------+----------+ | main | 4.5% | 3.8% | 100.1 KB | 46.0 KB | 54.0 KB | +-----------------+------+------+----------+---------+----------+ | tokio-rt-worker | 0.0% | 0.0% | 79 B | 70.1 KB | -70.0 KB | +-----------------+------+------+----------+---------+----------+ | tokio-rt-worker | 0.0% | 0.0% | 4.2 KB | 471 B | 3.8 KB | +-----------------+------+------+----------+---------+----------+ | tokio-rt-worker | 0.0% | 0.0% | 3.3 KB | 407 B | 2.9 KB | +-----------------+------+------+----------+---------+----------+ | hp-functions | 1.3% | 1.0% | 0 B | 2.0 KB | -2.0 KB | +-----------------+------+------+----------+---------+----------+
See the full docs and advanced config tutorials at hotpath.rs.
Read the complete guide to profiling Rust applications - a comprehensive overview of debugging performance issues in Rust.
ตัดมาแค่ช่วงต้น อ่านต่อใน repo