Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
sc-tracing: Only print events for whitelisted targets
Browse files Browse the repository at this point in the history
We should only print events for whitelisted targets, otherwise we may run into some stack overflow
while printing the event.
  • Loading branch information
bkchr committed Jul 1, 2023
1 parent 433bc24 commit b5b370f
Showing 1 changed file with 20 additions and 18 deletions.
38 changes: 20 additions & 18 deletions client/tracing/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -328,24 +328,26 @@ where
}

fn on_event(&self, event: &Event<'_>, ctx: Context<S>) {
let parent_id = event.parent().cloned().or_else(|| {
if event.is_contextual() {
ctx.lookup_current().map(|span| span.id())
} else {
None
}
});

let mut values = Values::default();
event.record(&mut values);
let trace_event = TraceEvent {
name: event.metadata().name().to_owned(),
target: event.metadata().target().to_owned(),
level: *event.metadata().level(),
values,
parent_id,
};
self.dispatch_event(TraceHandlerEvents::Event(trace_event));
if self.check_target(event.metadata().target(), &event.metadata().level()) {
let parent_id = event.parent().cloned().or_else(|| {
if event.is_contextual() {
ctx.lookup_current().map(|span| span.id())
} else {
None
}
});

let mut values = Values::default();
event.record(&mut values);
let trace_event = TraceEvent {
name: event.metadata().name().to_owned(),
target: event.metadata().target().to_owned(),
level: *event.metadata().level(),
values,
parent_id,
};
self.dispatch_event(TraceHandlerEvents::Event(trace_event));
}
}

fn on_enter(&self, span: &Id, ctx: Context<S>) {
Expand Down

0 comments on commit b5b370f

Please sign in to comment.