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
>>   
>
>


Reply via email to