This looks much better. Thanks.
-- Garrett
Prashant Srinivasan wrote:
> Darren J Moffat wrote:
>> Based on your description that there is no architectural issue with
>> providing the probes on SPARC just a build environment issue.
>>
>
> Darren,
> Yes, that's correct.
>
>> Given what you described the way I would recommend that this case is
>> changed to provide the functionality on both platforms.
>
> I've inlined an updated version of the case below -
>
> Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI
> This information is Copyright 2008 Sun Microsystems
> 1. Introduction
> 1.1. Project/Component Working Name:
> Enhancing Ruby with DTrace probes
> 1.2. Name of Document Author/Supplier:
> Author: Sivakumar Shanmugasundaram
> 1.3 Date of This Document:
> 04 March, 2008
> 4. Technical Description
> Enhancing Ruby with DTrace probes
>
> Sivakumar Shanmugasundaram <sivakumar at Sun.COM>
>
> 4 March 2008
>
> 1. Summary and motivation
>
> This project enables Ruby[1] in OpenSolaris[2] to expose DTrace[3]
> probes, thus enabling Ruby/Rails[4] users on Solaris to
> trace/examine
> application behavior in a more useful manner than they otherwise
> are
> able to. DTrace is one of Solaris' key features, and this
> integration
> will go a long way in making Solaris the preferred platform for
> Ruby/Rails deployment/development.
> Ruby was originally delivered by PSARC/2007/600.
>
> 11 DTrace probes, developed by DTrace enthusiasts at Joyent[5], are
> being integrated into Solaris.
>
> This case seeks Minor Release Binding.
>
> 2. Technical issues
>
> 2.1. Key objects.
>
> The DTrace probes are part of the Ruby runtime library
> (libruby.so.1)
> which in turn is linked in to the 'ruby' binary and hence is
> also part
> of the 'ruby' binary. No new files are delivered as part of this
> case.
>
> 2.2. Versioning
>
> The DTrace interfaces for Ruby are based on subversion trunk
> version
> 501. The interfaces are evolving, and it is unknown whether they
> will
> remain stable across releases.
>
> 2.3. Packaging and Delivery
>
> The DTrace probes will be included as a patch to the existing
> 'ruby'
> binary and will be delivered as part of the existing SUNWruby18u
> package.
>
> 2.4 Platform support
>
> The DTrace probes will be available on all hardware platforms
> supported
> by Solaris.
>
> Note: Due to a defect in the Sun Studio compiler(CR # 6659110), the
> delivery on SPARC platforms may occur at a point after the probes
> are released on Solaris on the Intel/AMD architectures.
>
> This feature parity will be restored as soon as possible.
>
> 3. DTrace Probe dependencies.
>
> The DTrace probes depends on the DTrace packages in Solaris
> SUNWdtrc
> and SUNWdtrp.
>
> 4. DTrace probe Internationalization.
>
> The DTrace probes are not internationalized as DTrace does not
> support
> internationalization at this time.
>
> 5. Ruby DTrace Documentation.
>
> The list of DTrace probes for Ruby is listed below. Examples for
> using the DTrace probes are available in the Joyent's DTrace
> page [6].
>
> Probe name Description
>
> ----------------------------------------------------------------------
> function-entry Fires when a Ruby method is entered
> function-return Fires when a Ruby method returns
> raise Fires when a Ruby exception is raised
> rescue Fires when a Ruby exception is rescued
> line Fires for every line of Ruby executed
> gc-begin Fires right before a GC cycle begins
> gc-end Fires right after a GC cycle finishes
> object-create-start Fires directly before a Ruby object is
> allocated
> object-create-done Fires when Ruby is finished allocating an
> object
> object-free Fires every time a Ruby object is freed
> ruby-probe Probe that can be fired from Ruby code (see
> below)
>
> Probe Arguments
>
> Probe args0 args1 args2 args3
>
> --------------------------------------------------------------------------
>
> function-entry Ruby class Method name Source file Line
> number
> function-return Ruby class Method name Source file Line
> number
> raise Ruby class Source file Line number -
> rescue Source file Line number - -
> line Source file Line number - -
> gc-begin - - - -
> gc-end - - - -
> object-create-start Ruby type Source file Line number -
> object-create-done Ruby type Source file Line number -
> object-free Ruby type - - -
> ruby-probe Any string Any string - -
> The man page for Ruby will be suitably modified as well, to
> indicate
> the addition of DTrace probes to the interpreter and the list of
> probes available as well.
>
>
> 5.1. Manual Pages.
>
> The man page of ruby.1 is changed to include the information
> about the
> availability of DTrace probes in the binary and list of DTrace
> probes,
> its description and their arguments.
> The changed man page fragment is in Appendix 1.
>
> 6. Interfaces
>
> 6.1. Imported Interfaces.
>
> NAME STABILITY NOTES
>
> ----------------------------------------------------------------------
> Ruby language implementation Uncommitted
> PSARC/2007/600
> DTrace Provider API Uncommitted
> PSARC/2001/466
>
>
> 6.2. Exported Interfaces.
>
> NAME STABILITY NOTES
>
> ----------------------------------------------------------------------
> function-entry Uncommitted DTrace
> Probe
> function-return Uncommitted DTrace
> Probe
> raise Uncommitted DTrace
> Probe
> rescue Uncommitted DTrace
> Probe
> line Uncommitted DTrace
> Probe
> gc-begin Uncommitted DTrace
> Probe
> gc-end Uncommitted DTrace
> Probe
> object-create-start Uncommitted DTrace
> Probe
> object-create-done Uncommitted DTrace
> Probe
> object-free Uncommitted DTrace
> Probe
> ruby-probe Uncommitted DTrace
> Probe
>
> The description of these probes are listed in the documentation
> section 5 above. More details about the usage of these probes,
> their
> decription, the arguments can be found in Joyents web site [6].
>
> 7. References.
>
> [1] http://www.ruby-lang.org
> [2] http://www.opensolaris.org
> [3] http://opensolaris.org/os/community/dtrace
> [4] http://www.rubyonrails.org
> [5] http://dtrace.joyent.com
> [6]
> https://dtrace.joyent.com/projects/ruby-dtrace/wiki/Ruby+DTrace+probes+and+arguments
>
>
>
>
> ==============================================================================
>
>
> Appendix 1: Ruby man page changes
>
> FEATURES
> ..
> DTrace Probes
> Ruby has a set of DTrace probes that can be used to debug a running
> Ruby/Rails application. NOTE: This is on x86/x64 platform only.
>
> function-entry - Probe that fires when a Ruby method is entered
> function-return - Probe that fires when a Ruby method returns
> raise - Probe that fires when a Ruby exception is raised
> rescue - Probe that fires when a Ruby exception is rescued
> line - Probe that fires for every line of Ruby executed
> gc-begin - Probe that fires right before a GC cycle begins
> gc-end - Probe that fires right after a GC cycle finishes
> object-create-start - Probe that fires directly before a Ruby
> object is allocated
> object-create-done - Probe that fires when Ruby is fin- ished
> allocating an object
> object-free - Probe that fires every time a Ruby object is freed
> ruby-probe - Probe that can be fired from Ruby code (see below)
>
>
> Probe Arguments
>
> function-entry "Ruby class" "Method name" "Source file" "Line
> number"
>
> function-return "Ruby class" "Method name" "Source file"
> "Line number"
>
> raise "Ruby class" "Source file" "Line number"
>
> rescue "Source file" "Line number"
>
> line "Source file" "Line number"
>
> gc-begin ""
>
> gc-end ""
>
> object-create-start "Ruby type" "Source file" "Line number"
>
> object-create-done "Ruby type" "Source file" "Line number"
>
> object-free "Ruby type" ruby-probe "Arbitrary string"
> "Arbitrary string"
>
>
> ..
> NOTES
> Source for ruby is available on http://opensolaris.org.
> The source for the DTrace probes for Ruby and examples are available
> on http://dtrace.joyent.com.
>
>
> 6. Resources and Schedule
> 6.4. Steering Committee requested information
> 6.4.1. Consolidation C-team Name:
> sfw
> 6.5. ARC review type: Automatic
> 6.6. ARC Exposure: open
>
>
> Thanks,
> -ps
>
>
>> The project teams asks that due to the issue described that
>> delivery on x86 be allowed before delivery on SPARC - this is really
>> more of a C-Team issue but it helps to have had the ARC review.
>>
>> For the record I don't think Self Review is appropriate in any case
>> where functionality delivers only on one of x86 or SPARC unless it is
>> obvious that it can only apply to one or the other (eg it is a case
>> about OBP or about hardware unique to x86).
>>
>> --
>> Darren J Moffat
>> _______________________________________________
>>
>>
>> webstack-discuss mailing list
>> webstack-discuss at opensolaris.org
>> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
>>
>
>