Skip to content

Latest commit

 

History

History
81 lines (55 loc) · 2.5 KB

README.md

File metadata and controls

81 lines (55 loc) · 2.5 KB

CN devtools

Inspect and Debug your Tauri applications in style 💃
Work In Progress

License

Note: This project is under active development, features might have big, be only partially implemented or outright missing. Almost everything about this project is work in progress even the name! If you're interested in improving the Tauri debug experience:

Contributions are very welcome, get in touch!

Using CN devtools

This project consists of two parts: The instrumentation library and the visualization client. You will need both in order to debug Rust programs.

Adding the instrumentation library

The instrumentation library can be used like any regular Rust log or tracing frontend. Add it to your crate's dependencies:

subscriber = { git = "https://github.com/crabnebula-dev/devtools" }

And initialize it in your main function. It is important that you initialize it as early as possible

fn main() {
  let context = tauri::generate_context!();

  subscriber::init(&context);

  tauri::Builder::default()
      .run(context)
      .expect("error while running tauri application");
}

Installing the client

The client gathers the data collected by the instrumentation library and presents it in a human readable and interactive way. There are currently no pre-compiled builds so you will have to build it from source (make sure you have all the prerequisites to build tauri apps!)

# clone the git repo
git clone https://github.com/crabnebula-dev/devtools

# build the app
cargo tauri build

Now you can run the app! Active instrumented apps on your local network will appear in the "Live Sessions" section

Screenshot of the session selector

Features

  • Command Performance Profiling
  • Events Console

Contributing

TODO

License

Licensed under the Apache License, Version 2.0.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this app by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.