-
Notifications
You must be signed in to change notification settings - Fork 0
Rust implemenation of the Tracelogging api from Microsofts Event Tracing for Windows (ETW)
License
andjo403/tracelogging
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Rust implemenation of parts of the Tracelogging api from Microsofts Event Tracing for Windows (ETW)
## Example ##
Cargo.toml:
```toml
tracelogging = { version = "0.1.0"}
```
main.rs:
```Rust
#![feature(const_str_as_bytes)]
#![feature(const_slice_len)]
#![feature(const_str_len)]
#![feature(const_raw_ptr_deref)]
use tracelogging::*;
fn main() {
let handle = tracelogging_register!(
"3970f9cf-2c0c-4f11-b1cc-e3a1e9958833",
SimpleTraceLoggingProvider
);
let activity1 = tracelogging_start!(handle, "main");
let var1 = 42;
let var2 = "first";
tracelogging!(handle, "myEvent1", var1, var2);
tracelogging!(handle, "myEvent2");
let var3 = format!("{}", 3);
let activity2 = tracelogging_start!(handle, "myEvent3", var1, var2);
tracelogging_stop!(handle, activity2, "myEvent3", var1, var3);
tracelogging_expr!(
handle,
"myEvent4",
|| {
tracelogging_tagged!(handle, "myEvent5", var1, var2, var3);
},
var1,
var2
);
assert_eq!(
3,
tracelogging_expr!(handle, "myEvent6", {
tracelogging_tagged!(handle, "myEvent7", var1, var2);
2 + 1
})
);
assert_eq!(
3,
tracelogging_fun!(handle, "myEvent6", || {
tracelogging_tagged!(handle, "myEvent7", var1, var2);
2 + 1
})
);
tracelogging_stop!(handle, activity1, "main", var1, var3);
tracelogging_un_register!(handle);
}
```About
Rust implemenation of the Tracelogging api from Microsofts Event Tracing for Windows (ETW)
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published