static void __attribute__((constructor)) init() { register_tracepoint(ust_event, tp_probe, NULL); register_tracepoint(ust_event, tp_probe2, NULL); register_tracepoint(ust_event, tp_probe3, &msg_probe3); register_tracepoint(ust_event2, tp_probe4, NULL); }
/** * rb_enable_traces * This is the implementation of Tracer#enable_traces methods. It creates * the Tracer#file_tracepoint and Tracer#fiber_tracepoint for the first time * called. Then it also enables them immediately upon creation. */ static VALUE rb_enable_traces(VALUE self) { VALUE file_tracepoint; VALUE fiber_tracepoint; file_tracepoint = register_tracepoint(self, FILE_TRACEPOINT_EVENTS, "@file_tracepoint", file_tracepoint_callback); UNUSED(fiber_tracepoint); // Immediately activate file tracepoint and fiber tracepoint if (RTEST(file_tracepoint) && !RTEST(rb_tracepoint_enabled_p(file_tracepoint))) { rb_tracepoint_enable(file_tracepoint); } #ifdef RUBY_EVENT_FIBER_SWITCH fiber_tracepoint = register_tracepoint(self, RUBY_EVENT_FIBER_SWITCH, "@fiber_tracepoint", fiber_tracepoint_callback); if (RTEST(fiber_tracepoint) && !RTEST(rb_tracepoint_enabled_p(fiber_tracepoint))) { rb_tracepoint_enable(fiber_tracepoint); } #endif return Qnil; }