Sha256: 82ba29a3bc22a197d9d15e6b01a67d6a0334c8a6eb3fd896fa8f55a07b30c855
Contents?: true
Size: 1.92 KB
Versions: 1
Compression:
Stored size: 1.92 KB
Contents
= XRay * http://rubyforge.org/projects/xray == Description XRay provides a lightweight yet powerful toolbox for troubleshooting Ruby applications when things stop making sense. XRay includes GDB and DTrace tooling as well as a Thread Dump utility that can dump the stack trace of all the thread in your Ruby VM when you send a +QUIT+ signal. == GDB Copy the +gdb_macros+ file provided in the gem as your ~/.gdbinit file. You will find more details on how to use them, in my {Troubleshooting Ruby Shortcut}[http://ph7spot.com/publications/troubleshooting_ruby_processes] == Thread Dump After patching your Ruby VM with {caller_for_all_threads_patch_for_MRI_1.8.6.diff}[http://xray.rubyforge.org/svn/patches_for_mri/caller_for_all_threads_patch_for_MRI_1.8.6.diff] (or {caller_for_all_threads_patch_for_MRI_1.8.7.diff}[http://xray.rubyforge.org/svn/patches_for_mri/caller_for_all_threads_patch_for_MRI_1.8.7.diff]) as explained in {this document}[http://ph7spot.com/caller_for_all_threads], you can install a signal handler in charge of dumping the stack trace for all the threads in your Ruby VM with: require "rubygems" require "xray/thread_dump_signal_handler" You can then trigger a thread dump at any time with kill -QUIT <pid of your ruby process> == DTrace === Fire DTrace Application Probes See XRay::DTrace::Tracer === Out-of-the-box Rails DTrace Instrumentation *** You are one require away from triggering automatically DTrace events for Rails requests, database access and template rendering. As simple as # environment.rb Rails::Initializer.run do |config| ... config.after_initialize do require "rubygems" require "xray/dtrace/rails/enable_tracing" end end See * lib/xray/dtrace/railsenable_tracing.rb * lib/xray/dtrace/action_controller_tracing_extension.rb * lib/xray/dtrace/active_record_tracing_extension.rb == Author Philippe Hanrigou, http://ph7spot.com
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
xray-1.1 | README |