# ittapi [![Build Status](https://github.com/intel/ittapi/workflows/CI/badge.svg)][ci] [![Documentation Status](https://docs.rs/ittapi/badge.svg)][docs] This crate allows Rust programs to use Intel® Instrumentation and Tracing Technology (ITT) APIs. Currently, the following APIs are supported (please submit an issue or PR for additional support): - a JIT notification API, a higher-level view of the C [JIT Profiling API] - the Domain API - the Task API - the String Handle API - the Event API - the Collection Control API This uses the [`ittapi-sys`] crate which depends on the [C `ittapi` library]. [ci]: https://github.com/intel/ittapi/actions/workflows/main.yml [docs]: https://docs.rs/ittapi [JIT Profiling API]: https://www.intel.com/content/www/us/en/develop/documentation/vtune-help/top/api-support/jit-profiling-api.html [`ittapi-sys`]: https://github.com/intel/ittapi/tree/master/rust/ittapi-sys [C `ittapi` library]: https://github.com/intel/ittapi > IMPORTANT NOTE: this crate is currently only tested on Linux, macOS, and Windows platforms but > support for other platforms is intended; contributions are welcome! FreeBSD and OpenBSD are > supported but untested. If you are interested in using VTune to profile Rust applications, you may find the following guide helpful: [Wasmtime Docs: Using VTune on Linux](https://docs.wasmtime.dev/examples-profiling-vtune.html) ### Use ```toml [dependencies] ittapi = "0.3" ``` ### Build ``` cargo build ``` ### Test ```sh cargo test ```