Rust source-code CPU + ET profiling and tracing

hello everyone

(I have searched this forum and found some posts but mostly dated, 3+ years old)

I am looking for a simple and ideally free tool or crate to help me profile CPU and Elapsed Time performance of my own Rust programs at a source code level.

i.e. CPU or elapsed time consumed by each line of my own Rust code or a call to a function and the number of times each line of code/function was executed and (ideally) lines of code that did not get executed at all.

Performance and Coverage, at a high level.

I dont need to see the performance metrics inside any external crates or inside std lib, just for my own Rust code and the calls my program makes to external crates/libraries.

I would like it to work on Rust stable version ideally, not just the nightly (found some for nightly only).

As of present time, end of Nov 2021, what is the "current state" of Rust source-code-level CPU & Elapsed-Time & Coverage profiling?

I am currently developing on Windows 10, 64-bit (Intel i7) but I am happy to switch to Linux on same hardware, if it will help.

I want to use this tool to help me write better Rust code from performance viewpoint.

thank you very much