We'll build a practical site-monitoring CLI tool step by step. Starting from an empty Cargo project, we add an HTTP client, migrate to async with Tokio, introduce a polling loop with latency tracking, add resilient error handling, and finish with user-configurable command-line arguments via clap.
Along the way we cover core Rust concepts — crates, async/await, the Result type, pattern matching, and derive macros — in the context of a tool you can actually use.