aboutsummaryrefslogtreecommitdiff
path: root/src/macros/trace.rs
blob: 31dde2f255a719d3d4aa1cc8c34a062196ac8ce4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
cfg_trace! {
    macro_rules! trace_op {
        ($name:literal, $readiness:literal, $parent:expr) => {
            tracing::trace!(
                target: "runtime::resource::poll_op",
                parent: $parent,
                op_name = $name,
                is_ready = $readiness
            );
        }
    }

    macro_rules! trace_poll_op {
        ($name:literal, $poll:expr, $parent:expr $(,)*) => {
            match $poll {
                std::task::Poll::Ready(t) => {
                    trace_op!($name, true, $parent);
                    std::task::Poll::Ready(t)
                }
                std::task::Poll::Pending => {
                    trace_op!($name, false, $parent);
                    return std::task::Poll::Pending;
                }
            }
        };
    }
}