{"repo":"Christopher-06/rustmeter","free":true,"listed":false,"github":"https://github.com/Christopher-06/rustmeter","clone":"git clone https://github.com/Christopher-06/rustmeter.git","description":"A profiling and tracing system for Embedded Rust that visualizes Embassy tasks, function calls, metrics and defmt logs in the Perfetto UI.","language":"Rust","stars":34,"topics":["async","embassy","embedded","no-std","perfetto","performance","profiling","rust","tracing","defmt"],"license":"MIT","category":"analytics","readme_excerpt":"RustMeter RustMeter is a comprehensive profiling, tracing, and monitoring system designed specifically for Embedded Rust applications. It is highly integrated with the Embassy async framework and defmt logging system. The collected data is converted into a format that can be directly visualized in the Perfetto UI , providing detailed insights into runtime behavior, task scheduling, and firmware performance. Features - Embassy Task Tracing: Automatically visualizes the lifecycle of async tasks (Spawned, Waiting, Running, Idle). - Function Monitoring: Simple macro #[monitor fn] to measure execution times of functions and granular measurement of specific code blocks using monitor scoped! . - Custom Metrics: Record values over time (e.g., sensor data, memory usage) using monitor value! . - Multicore Support: Detects and visualizes events separated by processor cores (e.g., ESP32 App/Pro CPU). - Defmt Timestamp: Visualizes defmt log messages in the timeline for better correlation with events (even without defmt timestamp feature!). Project Structure The repository consists of two main components: 1. rustmeter-beacon : The library included in your embedded firmware. It provides macros and hooks for embassy-executor and defmt . 2. rustmeter-cli : The command-line tool for the developer PC. It runs the project, collects tracing data, and creates the JSON file for Perfetto. 🚀 Installation & Setup 1. Prepare Embedded Project Add rustmeter-beacon to your embedded project's Cargo.toml a","default_branch":null,"files":null,"tree":[],"storefront":"/r/Christopher-06","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Christopher-06/rustmeter/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}