Skip to content

Commit faad820

Browse files
committed
feat(threads): record ThreadExit() events
1 parent 1948119 commit faad820

File tree

1 file changed

+6
-3
lines changed
  • gems/codetracer-ruby-recorder/ext/native_tracer/src

1 file changed

+6
-3
lines changed

gems/codetracer-ruby-recorder/ext/native_tracer/src/lib.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -896,6 +896,12 @@ unsafe extern "C" fn ex_callback(
896896
let event = TraceLowLevelEvent::ThreadStart(ThreadId((*event_data).thread));
897897
TraceWriter::add_event(&mut **locked_tracer, event);
898898
}
899+
RUBY_INTERNAL_THREAD_EVENT_EXITED => {
900+
let recorder = user_data as *mut Recorder;
901+
let mut locked_tracer = (*recorder).tracer.lock().unwrap();
902+
let event = TraceLowLevelEvent::ThreadExit(ThreadId((*event_data).thread));
903+
TraceWriter::add_event(&mut **locked_tracer, event);
904+
}
899905
/*RUBY_INTERNAL_THREAD_EVENT_READY => {
900906
println!("RUBY_INTERNAL_THREAD_EVENT_READY");
901907
}
@@ -904,9 +910,6 @@ unsafe extern "C" fn ex_callback(
904910
}
905911
RUBY_INTERNAL_THREAD_EVENT_SUSPENDED => {
906912
println!("RUBY_INTERNAL_THREAD_EVENT_SUSPENDED");
907-
}
908-
RUBY_INTERNAL_THREAD_EVENT_EXITED => {
909-
println!("RUBY_INTERNAL_THREAD_EVENT_EXITED {}", (*event_data).thread);
910913
}*/
911914
_ => {}
912915
}

0 commit comments

Comments
 (0)