borrowscope_runtime/tracker/
async_tracking.rs1use super::TRACKER;
4
5pub fn track_async_block_enter(
6 #[cfg_attr(not(feature = "track"), allow(unused_variables))] block_id: usize,
7 #[cfg_attr(not(feature = "track"), allow(unused_variables))] location: &str,
8) {
9 #[cfg(feature = "track")]
10 {
11 let mut tracker = TRACKER.lock();
12 tracker.record_async_block_enter(block_id, location);
13 }
14}
15
16#[inline(always)]
25pub fn track_async_block_exit(
26 #[cfg_attr(not(feature = "track"), allow(unused_variables))] block_id: usize,
27 #[cfg_attr(not(feature = "track"), allow(unused_variables))] location: &str,
28) {
29 #[cfg(feature = "track")]
30 {
31 let mut tracker = TRACKER.lock();
32 tracker.record_async_block_exit(block_id, location);
33 }
34}
35
36#[inline(always)]
46pub fn track_await_start(
47 #[cfg_attr(not(feature = "track"), allow(unused_variables))] await_id: usize,
48 #[cfg_attr(not(feature = "track"), allow(unused_variables))] future_name: &str,
49 #[cfg_attr(not(feature = "track"), allow(unused_variables))] location: &str,
50) {
51 #[cfg(feature = "track")]
52 {
53 let mut tracker = TRACKER.lock();
54 tracker.record_await_start(await_id, future_name, location);
55 }
56}
57
58#[inline(always)]
67pub fn track_await_end(
68 #[cfg_attr(not(feature = "track"), allow(unused_variables))] await_id: usize,
69 #[cfg_attr(not(feature = "track"), allow(unused_variables))] location: &str,
70) {
71 #[cfg(feature = "track")]
72 {
73 let mut tracker = TRACKER.lock();
74 tracker.record_await_end(await_id, location);
75 }
76}
77