Eregon (Benoit Daloze) wrote in #note-12: > @dalehamel Could you update the dev-meeting summary at https://bugs.ruby-lang.org/issues/22417#note-2 to reflect the latest patch? > ... Thanks for the guidance, I updated the comment and ope...dalehamel (Dale Hamel)
> The profiler has to access it during the VM is locked? No. The profiler only reads `ruby_global_symbols`, and it doesn't need the VM lock (which an external process couldn't take anyway). It is used to name methods implemented ...dalehamel (Dale Hamel)
## Summary Exporting the three symbols had no measurable cost on ruby-bench's `lobsters`, with or without ZJIT, on x86-64 or arm64. With default visibility, though, GCC compiles `vm.c` differently, which can move interpreter microbenc...dalehamel (Dale Hamel)
* [Feature #21539] Export symbols for external profiling of stripped shared Ruby builds (dalehamel) * External profilers need `ruby_current_ec`, `rb_vm_exec`, and `ruby_global_symbols`, which are lost when distributions strip libruby. ...dalehamel (Dale Hamel)
## Motivation External profilers such as [OpenTelemetry's eBPF profiler](https://github.com/open-telemetry/opentelemetry-ebpf-profiler) collect Ruby stacks from outside the Ruby process. Distribution packages commonly ship shared l...dalehamel (Dale Hamel)
> does this suffice your use case? Interesting, I'll need to investigate this - it certainly has potential. My use case is for experimental tracing work, and I basically want to be able to pre-compile original source with added in...dalehamel (Dale Hamel)
Yes when I test out Koichi's sample, the iseq look like: ``` disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(1,6)> (catch: FALSE) 0000 putself ( 1)[Li] 0001 opt_send_without_...dalehamel (Dale Hamel)
> Could you show us how V8 and Python provide USDT features? V8 has ustack helpers (which I'd love to try and figure out how to do for MRI) https://www.joyent.com/blog/understanding-dtrace-ustack-helpers which make the type of probing...dalehamel (Dale Hamel)