Struct tracing_core::subscriber::Interest
source · pub struct Interest(InterestKind);
Expand description
Indicates a Subscriber
’s interest in a particular callsite.
Subscriber
s return an Interest
from their register_callsite
methods
in order to determine whether that span should be enabled or disabled.
Tuple Fields§
§0: InterestKind
Implementations§
source§impl Interest
impl Interest
sourcepub fn never() -> Self
pub fn never() -> Self
Returns an Interest
indicating that the subscriber is never interested
in being notified about a callsite.
If all active subscribers are never()
interested in a callsite, it will
be completely disabled unless a new subscriber becomes active.
sourcepub fn sometimes() -> Self
pub fn sometimes() -> Self
Returns an Interest
indicating the subscriber is sometimes interested
in being notified about a callsite.
If all active subscribers are sometimes
or never
interested in a
callsite, the currently active subscriber will be asked to filter that
callsite every time it creates a span. This will be the case until a new
subscriber expresses that it is always
interested in the callsite.
sourcepub fn always() -> Self
pub fn always() -> Self
Returns an Interest
indicating the subscriber is always interested in
being notified about a callsite.
If any subscriber expresses that it is always()
interested in a given
callsite, then the callsite will always be enabled.
sourcepub fn is_never(&self) -> bool
pub fn is_never(&self) -> bool
Returns true
if the subscriber is never interested in being notified
about this callsite.
sourcepub fn is_sometimes(&self) -> bool
pub fn is_sometimes(&self) -> bool
Returns true
if the subscriber is sometimes interested in being notified
about this callsite.
sourcepub fn is_always(&self) -> bool
pub fn is_always(&self) -> bool
Returns true
if the subscriber is always interested in being notified
about this callsite.
sourcepub(crate) fn and(self, rhs: Interest) -> Self
pub(crate) fn and(self, rhs: Interest) -> Self
Returns the common interest between these two Interests.
If both interests are the same, this propagates that interest.
Otherwise, if they differ, the result must always be
Interest::sometimes
— if the two subscribers differ in opinion, we
will have to ask the current subscriber what it thinks, no matter what.