From jyri@sac.sfbay.sun.com Tue Mar  4 21:42:50 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m255gnfJ012330
	for <psarc-ext@sac.sfbay.sun.com>; Tue, 4 Mar 2008 21:42:50 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m255gk0p008907;
	Wed, 5 Mar 2008 05:42:47 GMT
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JX800L03T7A6H00@brm-avmta-1.central.sun.com>; Tue,
 04 Mar 2008 22:42:46 -0700 (MST)
Received: from dm-sfbay-02.sfbay.sun.com ([129.146.11.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JX8002IYT79AQA0@brm-avmta-1.central.sun.com>; Tue,
 04 Mar 2008 22:42:45 -0700 (MST)
Received: from sac.sfbay.sun.com (new-sac.SFBay.Sun.COM [129.146.175.65])
	by dm-sfbay-02.sfbay.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2)
 with ESMTP id m255gj0X041954; Tue, 04 Mar 2008 21:42:45 -0800 (PST)
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m255Rjbq011986; Tue,
 04 Mar 2008 21:27:45 -0800 (PST)
Received: (from jyri@localhost)	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit)
 id m255Ri7m011982; Tue, 04 Mar 2008 21:27:44 -0800 (PST)
Date: Tue, 04 Mar 2008 21:27:44 -0800 (PST)
From: Jyri Virkki <jyri@sac.sfbay.sun.com>
Subject: Enhancing Ruby with DTrace probes [PSARC/2008/174 Self Review]
To: PSARC-ext@sun.com
Cc: Prashant.Srinivasan@sun.com, sivakumar@sun.com,
        webstack-discuss@opensolaris.org
Message-id: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 9238



I am sponsoring this case for Sivakumar and closing it approved automatic.
The only high[low]light is the feature disparity between x86 and SPARC.
If anyone would like to discuss it as a fast track let me know.



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

        These DTrace probes will initially be available only in the x64
        version of Solaris due to a defect (CR # 6659110). This forces us not
        to have DTrace support for Ruby on Sparc. The 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


From richlowe@richlowe.net Tue Mar  4 22:37:22 2008
Received: from sunmail4.singapore.sun.com (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m256bLAr014217
	for <psarc-ext@sac.sfbay.Sun.COM>; Tue, 4 Mar 2008 22:37:22 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail4.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id m256amKu019202
	for <@sunmail2sca.sfbay.sun.com:psarc-ext@sun.com>; Wed, 5 Mar 2008 14:37:20 +0800 (SGT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JX800001VQ6F100@nwk-avmta-2.sfbay.sun.com> for psarc-ext@sun.com
 (ORCPT psarc-ext@sun.com); Tue, 04 Mar 2008 22:37:18 -0800 (PST)
Received: from sca-ea-mail-2.sun.com ([192.18.43.25])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JX800CY3VQ5D0A0@nwk-avmta-2.sfbay.sun.com> for
 psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Tue,
 04 Mar 2008 22:37:17 -0800 (PST)
Received: from relay17i.sun.com
 (ip127.net129179-4.block1.us.syntegra.com [129.179.4.127])
	by sca-ea-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m256bHns009102	for
 <psarc-ext@sun.com>; Wed, 05 Mar 2008 06:37:17 +0000 (GMT)
Received: from mmp11es.sun.com ([160.41.209.21] [160.41.209.21])
 by relay17i.sun.com with ESMTP id BT-MMP-918533 for psarc-ext@sun.com; Wed,
 05 Mar 2008 06:37:16 +0000 (Z)
Received: from relay15i.sun.com (relay15i.sun.com [129.179.4.125])
 by mmp11es.sun.com with ESMTP id BT-MMP-626242 for psarc-ext@sun.com; Wed,
 05 Mar 2008 06:37:16 +0000 (Z)
Received: from QMTA08.westchester.pa.mail.comcast.net
 ([76.96.62.80] [76.96.62.80]) by relay1i.sun.com with ESMTP id BT-MMP-8644976
 for psarc-ext@sun.com; Wed, 05 Mar 2008 06:37:16 +0000 (Z)
Received: from OMTA03.westchester.pa.mail.comcast.net ([76.96.62.27])
	by QMTA08.westchester.pa.mail.comcast.net with comcast	id
 xHzT1Y00Q0bG4ec5801s00; Wed, 05 Mar 2008 06:36:44 +0000
Received: from metropolis ([71.203.214.110])
	by OMTA03.westchester.pa.mail.comcast.net with comcast	id
 xJdE1Y00D2PV7Mj3P00000; Wed, 05 Mar 2008 06:37:16 +0000
Date: Wed, 05 Mar 2008 01:37:10 -0500
From: Richard Lowe <richlowe@richlowe.net>
Subject: Re: Enhancing Ruby with DTrace probes [PSARC/2008/174 Self Review]
In-reply-to: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
To: Jyri Virkki <jyri@sac.sfbay.sun.com>
Cc: PSARC-ext@sun.com, sivakumar@sun.com, webstack-discuss@opensolaris.org,
        Prashant.Srinivasan@sun.com
Message-id: <x7abldwuax.fsf@richlowe.net>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
X-Brightmail-Tracker: AAAAAA==
X-Authority-Analysis: v=1.0 c=1 a=gUKOR4z_cCgA:10 a=CaMBjR-Sg8uVXImuNv8A:9
 a=TnZAWslcbo13MWwXrrMUTEZTFugA:4 a=glM2htcRM5sA:10
X-Antispam: No, score=-2.6/5.0, scanned in 0.052sec at (localhost [127.0.0.1])
	by smf-spamd v1.3.1 - http://smfs.sf.net/
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.99 (usg-unix-v)
Status: RO
Content-Length: 631

Jyri Virkki <jyri@sac.sfbay.sun.com> writes:

> I am sponsoring this case for Sivakumar and closing it approved automatic.
> The only high[low]light is the feature disparity between x86 and SPARC.
> If anyone would like to discuss it as a fast track let me know.
>

It'd be nice if the project team could go into why the disparity
between x86 and SPARC exists.  You mention it, both here and in the
materials but I don't see any description of why these probes can't also be
delivered for SPARC.

Is this an actual decision to not deliver on sparc? does something
prevent delivery on sparc that you can't wait to resolve?

-- Rich

From gdamore@sun.com Wed Mar  5 00:39:29 2008
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m258dTDM017964
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 5 Mar 2008 00:39:29 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m258dQmw009346
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 5 Mar 2008 00:39:29 -0800 (PST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JX900C071DSYJ00@brm-avmta-1.central.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 05 Mar 2008 01:39:28 -0700 (MST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JX9007UV1DRZ960@brm-avmta-1.central.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 05 Mar 2008 01:39:27 -0700 (MST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m258dRo2012498	for
 <PSARC-ext@sun.com>; Wed, 05 Mar 2008 00:39:27 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JX9004011948P00@fe-sfbay-10.sun.com> (original mail from gdamore@sun.com)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 05 Mar 2008 00:39:27 -0800 (PST)
Received: from [192.168.251.106] ([76.174.83.55])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0JX9004A41DQU400@fe-sfbay-10.sun.com>; Wed,
 05 Mar 2008 00:39:27 -0800 (PST)
Date: Wed, 05 Mar 2008 00:37:17 -0800
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: Enhancing Ruby with DTrace probes [PSARC/2008/174 Self Review]
In-reply-to: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
Sender: Garrett.Damore@sun.com
To: Jyri Virkki <jyri@sac.sfbay.sun.com>
Cc: PSARC-ext@sun.com, Prashant.Srinivasan@sun.com, sivakumar@sun.com,
        webstack-discuss@opensolaris.org
Message-id: <47CE5BBD.7050307@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20071023)
Status: RO
Content-Length: 10451

I am unclear if the existence of a bug (6659110) is adequate 
justification for not delivering this feature on SPARC.  Particularly 
given that the named bug has not even been evaluated for accuracy, much 
less root caused or analyzed for cost-to-fix.  Architecturally, this 
would be far far more clear cut if the project team committed to 
architecture feature parity here.  (Ultimately, this may require C-Team 
approval/override, due to violation of Sun Big Rules, but this of course 
falls outside of the scope of ARC review.)

On a related note, I have to ask, is the project going to be delivering 
32-bit probes, or just 64-bit?  (I see a specific reference made to x64, 
but none made for x86.)  I'm not familiar with Ruby, so if this question 
is nonsensical, please so indicate. :-)

    -- Garrett


Jyri Virkki wrote:
> I am sponsoring this case for Sivakumar and closing it approved automatic.
> The only high[low]light is the feature disparity between x86 and SPARC.
> If anyone would like to discuss it as a fast track let me know.
>
>
>
> 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@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
>
>         These DTrace probes will initially be available only in the x64
>         version of Solaris due to a defect (CR # 6659110). This forces us not
>         to have DTrace support for Ruby on Sparc. The 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
>
>   


From Prashant.Srinivasan@sun.com Wed Mar  5 12:33:12 2008
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m25KXCKq016711
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 5 Mar 2008 12:33:12 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m25KX86X007949
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 5 Mar 2008 12:33:12 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JX900B0DYF9DR00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 05 Mar 2008 12:33:09 -0800 (PST)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JX90053SYF62BF0@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 05 Mar 2008 12:33:08 -0800 (PST)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m25KX6pw021315	for
 <PSARC-ext@sun.com>; Wed, 05 Mar 2008 12:33:06 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JX900D01XFKUL00@fe-sfbay-09.sun.com>
 (original mail from Prashant.Srinivasan@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 05 Mar 2008 12:33:06 -0800 (PST)
Received: from [129.145.154.103] by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0JX90081FYF5GWD0@fe-sfbay-09.sun.com>; Wed,
 05 Mar 2008 12:33:06 -0800 (PST)
Date: Wed, 05 Mar 2008 12:33:05 -0800
From: Prashant Srinivasan <Prashant.Srinivasan@sun.com>
Subject: Re: [webstack-discuss] Enhancing Ruby with DTrace probes
	[PSARC/2008/174 Self Review]
In-reply-to: <x7abldwuax.fsf@richlowe.net>
Sender: Prashant.Srinivasan@sun.com
To: Richard Lowe <richlowe@richlowe.net>
Cc: Jyri Virkki <jyri@sac.sfbay.sun.com>, PSARC-ext@sun.com,
        webstack-discuss@opensolaris.org
Message-id: <47CF0381.9030006@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <x7abldwuax.fsf@richlowe.net>
User-Agent: Thunderbird 2.0.0.6 (X11/20070802)
Status: RO
Content-Length: 2220

Richard Lowe wrote:
> Jyri Virkki <jyri@sac.sfbay.sun.com> writes:
>
>   
>> I am sponsoring this case for Sivakumar and closing it approved automatic.
>> The only high[low]light is the feature disparity between x86 and SPARC.
>> If anyone would like to discuss it as a fast track let me know.
>>
>>     
>
> It'd be nice if the project team could go into why the disparity
> between x86 and SPARC exists.  You mention it, both here and in the
> materials but I don't see any description of why these probes can't also be
> delivered for SPARC.
>
> Is this an actual decision to not deliver on sparc? does something
> prevent delivery on sparc that you can't wait to resolve?
>   


Hi Rich,
 The project aims for DTrace support on SFWNV-Ruby-x86 and 
SFWNV-Ruby-SPARC.  The DTrace probes break the SFWNV Ruby build on 
SPARC.  The x64 build works as expected.

 We investigated the problem, the source code looks fine, it appears to 
be a bug with the compiler(6659110).  We're actually able to get the 
SPARC build to work, if we remove all compiler flags _except_ "-g".  
(ie., CFLAGS=-g is the only way to build with SS11).

 We investigated that option as well - we ran microbenchmarks (both 
home-made and from the Debian Ruby Alioth tests), and saw an average 
performance degradation of about 30% with this workaround(I can send out 
the individual performance test details if needed).

 So, the question was whether we provide DTrace functionality on SPARC 
at the cost of having Ruby/SPARC run a third slower . . . and we 
decided, for the time being, to wait for the bug 6659110 to be resolved 
before integrating DTrace probes in SPARC.

 We're definitely committed to delivering DTrace support for SFWNV Ruby 
on SPARC.

 We've gotten requests for DTrace support in Ruby from Sun and non-Sun 
sources . . . and at least one other OS has Ruby/DTrace support bundled 
in - hence we moved to get the probes into x64 without waiting on the 
compiler bug to be fixed.

 Hope that sets some context to this case.
 -ps





> -- Rich
>
>   






-- 
Prashant Srinivasan
F/OSS Enthusiast
Sun Microsystems, Inc.
http://blogs.sun.com/prashant
GnuPG key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x82FBDE5A


From Darren.Moffat@sun.com Wed Mar  5 13:28:39 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m25LScIa018713
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 5 Mar 2008 13:28:39 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m25LSWqC002344
	for <@sunmail2sca.sfbay.sun.com:psarc-ext@sun.com>; Wed, 5 Mar 2008 21:28:38 GMT
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JXA00A030ZPWW00@nwk-avmta-1.sfbay.Sun.COM> for psarc-ext@sun.com
 (ORCPT psarc-ext@sun.com); Wed, 05 Mar 2008 13:28:37 -0800 (PST)
Received: from gmp-eb-inf-1.sun.com ([192.18.6.21])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JXA0015F0ZMTV50@nwk-avmta-1.sfbay.Sun.COM> for
 psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Wed,
 05 Mar 2008 13:28:36 -0800 (PST)
Received: from fe-emea-10.sun.com (gmp-eb-lb-2-fe3.eu.sun.com [192.18.6.12])
	by gmp-eb-inf-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m25LSXGn018809	for
 <psarc-ext@sun.com>; Wed, 05 Mar 2008 21:28:33 +0000 (GMT)
Received: from conversion-daemon.fe-emea-10.sun.com by fe-emea-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JXA00J010X56800@fe-emea-10.sun.com>
 (original mail from Darren.Moffat@Sun.COM)
 for psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Wed,
 05 Mar 2008 21:28:33 +0000 (GMT)
Received: from [129.156.173.21] by fe-emea-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0JXA00EJT0ZJWO20@fe-emea-10.sun.com>; Wed,
 05 Mar 2008 21:28:32 +0000 (GMT)
Date: Wed, 05 Mar 2008 21:28:31 +0000
From: Darren J Moffat <Darren.Moffat@sun.com>
Subject: Re: [webstack-discuss] Enhancing Ruby with DTrace probes
	[PSARC/2008/174 Self Review]
In-reply-to: <47CF0381.9030006@Sun.COM>
Sender: Darren.Moffat@sun.com
To: Prashant Srinivasan <Prashant.Srinivasan@sun.com>
Cc: Richard Lowe <richlowe@richlowe.net>, psarc-ext@sun.com,
        webstack-discuss@opensolaris.org, Jyri Virkki <jyri@sac.sfbay.sun.com>
Message-id: <47CF107F.9030709@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <x7abldwuax.fsf@richlowe.net> <47CF0381.9030006@Sun.COM>
User-Agent: Thunderbird 2.0.0.9 (X11/20080213)
Status: RO
Content-Length: 729

Based on your description that there is no architectural issue with 
providing the probes on SPARC just a build environment issue.

Given what you described the way I would recommend that this case is 
changed to provide the functionality on both platforms.  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

From Prashant.Srinivasan@sun.com Wed Mar  5 13:54:11 2008
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m25LsB39019633
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 5 Mar 2008 13:54:11 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m25Ls3ZM051903
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Wed, 5 Mar 2008 14:54:11 -0700 (MST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JXA00D0526AJZ00@nwk-avmta-1.sfbay.Sun.COM> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@sun.com); Wed, 05 Mar 2008 13:54:10 -0800 (PST)
Received: from sca-es-mail-1.sun.com ([192.18.43.132])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JXA001YI269TQ60@nwk-avmta-1.sfbay.Sun.COM> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 05 Mar 2008 13:54:09 -0800 (PST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m25Ls9e2001294	for
 <PSARC-ext@sun.com>; Wed, 05 Mar 2008 13:54:09 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JXA000011TYFT00@fe-sfbay-10.sun.com>
 (original mail from Prashant.Srinivasan@Sun.COM)
 for PSARC-ext@sun.com (ORCPT PSARC-ext@sun.com); Wed,
 05 Mar 2008 13:54:09 -0800 (PST)
Received: from [129.145.154.103] by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0JXA00GEZ267FA60@fe-sfbay-10.sun.com>; Wed,
 05 Mar 2008 13:54:08 -0800 (PST)
Date: Wed, 05 Mar 2008 13:54:07 -0800
From: Prashant Srinivasan <Prashant.Srinivasan@sun.com>
Subject: Re: Enhancing Ruby with DTrace probes [PSARC/2008/174 Self Review]
In-reply-to: <47CE5BBD.7050307@sun.com>
Sender: Prashant.Srinivasan@sun.com
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: Jyri Virkki <jyri@sac.sfbay.sun.com>, psarc-ext@sun.com, sivakumar@sun.com,
        webstack-discuss@opensolaris.org
Message-id: <47CF167F.1090900@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <47CE5BBD.7050307@sun.com>
User-Agent: Thunderbird 2.0.0.6 (X11/20070802)
Status: RO
Content-Length: 20964

Garrett D'Amore wrote:
> I am unclear if the existence of a bug (6659110) is adequate 
> justification for not delivering this feature on SPARC.  Particularly 
> given that the named bug has not even been evaluated for accuracy, 
> much less root caused or analyzed for cost-to-fix.

 The bug it self is being scoped down by folks in the iropt and front 
end groups.  If by "not even been evaluated for accuracy" you mean user 
error, the compiler team is able to reproduce the problem, and have 
indicated that they think it's a problem with the probes.

> Architecturally, this would be far far more clear cut if the project 
> team committed to architecture feature parity here.

 SPARC support is something we really want to introduce, as soon as we 
get relief on 6659110.  It was felt that introducing SPARC support with 
a severe performance degradation was not good for Ruby/Solaris/SPARC - 
and dalaying release until the compiler bug got resolved

>   (Ultimately, this may require C-Team approval/override, due to 
> violation of Sun Big Rules, but this of course falls outside of the 
> scope of ARC review.)
>
> On a related note, I have to ask, is the project going to be 
> delivering 32-bit probes, or just 64-bit?  (I see a specific reference 
> made to x64, but none made for x86.)  I'm not familiar with Ruby, so 
> if this question is nonsensical, please so indicate. :-)
 The probes are 32 bit - they're going to be introduced into the 
existing Ruby language software which comprise 32-bit programs.  I've 
made a correction to the ARC case and inlined the new version 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@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

        These DTrace probes will initially be available only in the x86 and x64
        versions of Solaris due to a defect (CR # 6659110). This forces us not
        to have DTrace support for Ruby on Sparc. The 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


>
>    -- Garrett
>
>
> Jyri Virkki wrote:
>> I am sponsoring this case for Sivakumar and closing it approved 
>> automatic.
>> The only high[low]light is the feature disparity between x86 and SPARC.
>> If anyone would like to discuss it as a fast track let me know.
>>
>>
>>
>> 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@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
>>
>>         These DTrace probes will initially be available only in the x64
>>         version of Solaris due to a defect (CR # 6659110). This 
>> forces us not
>>         to have DTrace support for Ruby on Sparc. The 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
>>
>>   
>


-- 
Prashant Srinivasan
F/OSS Enthusiast
Sun Microsystems, Inc.
http://blogs.sun.com/prashant
GnuPG key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x82FBDE5A


From Prashant.Srinivasan@sun.com Wed Mar  5 14:12:50 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m25MCnbO021145
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 5 Mar 2008 14:12:50 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m25MCWEY021285
	for <@sunmail2sca.sfbay.sun.com:psarc-ext@sun.com>; Wed, 5 Mar 2008 22:12:48 GMT
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JXA0050931CZA00@brm-avmta-1.central.sun.com> for psarc-ext@sun.com
 (ORCPT psarc-ext@sun.com); Wed, 05 Mar 2008 15:12:48 -0700 (MST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JXA0025T31BAN70@brm-avmta-1.central.sun.com> for
 psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Wed,
 05 Mar 2008 15:12:47 -0700 (MST)
Received: from fe-sfbay-09.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m25MClZx012101	for
 <psarc-ext@sun.com>; Wed, 05 Mar 2008 14:12:47 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JXA005012OJMN00@fe-sfbay-09.sun.com>
 (original mail from Prashant.Srinivasan@Sun.COM)
 for psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Wed,
 05 Mar 2008 14:12:47 -0800 (PST)
Received: from [129.145.154.103] by fe-sfbay-09.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0JXA0031031ABYE0@fe-sfbay-09.sun.com>; Wed,
 05 Mar 2008 14:12:47 -0800 (PST)
Date: Wed, 05 Mar 2008 14:12:46 -0800
From: Prashant Srinivasan <Prashant.Srinivasan@sun.com>
Subject: Re: [webstack-discuss] Enhancing Ruby with DTrace	probes
	[PSARC/2008/174 Self Review]
In-reply-to: <47CF107F.9030709@Sun.COM>
Sender: Prashant.Srinivasan@sun.com
To: Darren J Moffat <Darren.Moffat@sun.com>
Cc: Richard Lowe <richlowe@richlowe.net>, psarc-ext@sun.com,
        webstack-discuss@opensolaris.org, Jyri Virkki <jyri@sac.sfbay.sun.com>
Message-id: <47CF1ADE.3030608@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <x7abldwuax.fsf@richlowe.net> <47CF0381.9030006@Sun.COM>
 <47CF107F.9030709@Sun.COM>
User-Agent: Thunderbird 2.0.0.6 (X11/20070802)
Status: RO
Content-Length: 10320

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@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@opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
>   


-- 
Prashant Srinivasan
F/OSS Enthusiast
Sun Microsystems, Inc.
http://blogs.sun.com/prashant
GnuPG key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x82FBDE5A


From Prashant.Srinivasan@sun.com Wed Mar  5 14:14:25 2008
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m25MEOWj021183
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 5 Mar 2008 14:14:24 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m25MEOu5056921
	for <@sunmail2sca.sfbay.sun.com:psarc-ext@sun.com>; Wed, 5 Mar 2008 15:14:24 -0700 (MST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JXA0060333Z3T00@brm-avmta-1.central.sun.com> for psarc-ext@sun.com
 (ORCPT psarc-ext@sun.com); Wed, 05 Mar 2008 15:14:23 -0700 (MST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JXA0020433YAL80@brm-avmta-1.central.sun.com> for
 psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Wed,
 05 Mar 2008 15:14:23 -0700 (MST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m25MEM16012280	for
 <psarc-ext@sun.com>; Wed, 05 Mar 2008 14:14:22 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JXA009012WQCN00@fe-sfbay-10.sun.com>
 (original mail from Prashant.Srinivasan@Sun.COM)
 for psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Wed,
 05 Mar 2008 14:14:22 -0800 (PST)
Received: from [129.145.154.103] by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0JXA00DJY33RGO00@fe-sfbay-10.sun.com>; Wed,
 05 Mar 2008 14:14:15 -0800 (PST)
Date: Wed, 05 Mar 2008 14:14:14 -0800
From: Prashant Srinivasan <Prashant.Srinivasan@sun.com>
Subject: Re: Enhancing Ruby with DTrace probes [PSARC/2008/174 Self Review]
In-reply-to: <47CF167F.1090900@Sun.COM>
Sender: Prashant.Srinivasan@sun.com
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: Jyri Virkki <jyri@sac.sfbay.sun.com>, psarc-ext@sun.com, sivakumar@sun.com,
        webstack-discuss@opensolaris.org
Message-id: <47CF1B36.1020204@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <47CE5BBD.7050307@sun.com> <47CF167F.1090900@Sun.COM>
User-Agent: Thunderbird 2.0.0.6 (X11/20070802)
Status: RO
Content-Length: 872

Prashant Srinivasan wrote:
> Garrett D'Amore wrote:
>> I am unclear if the existence of a bug (6659110) is adequate 
>> justification for not delivering this feature on SPARC.  Particularly 
>> given that the named bug has not even been evaluated for accuracy, 
>> much less root caused or analyzed for cost-to-fix.
>
> The bug it self is being scoped down by folks in the iropt and front 
> end groups.  If by "not even been evaluated for accuracy" you mean 
> user error, the compiler team is able to reproduce the problem, and 
> have indicated that they think it's a problem with the probes.
>

Oops, I meant to say " . . and have not indicated that they think it's a 
problem with the probes".
 -ps

-- 
Prashant Srinivasan
F/OSS Enthusiast
Sun Microsystems, Inc.
http://blogs.sun.com/prashant
GnuPG key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x82FBDE5A


From jyri@buye.red.iplanet.com Wed Mar  5 15:09:50 2008
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m25N9otd022522
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 5 Mar 2008 15:09:50 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m25N9lwX019346;
	Wed, 5 Mar 2008 15:09:48 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JXA00L015OADA00@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 05 Mar 2008 15:09:46 -0800 (PST)
Received: from buye.red.iplanet.com ([192.18.65.224])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JXA001HI5OATQB0@nwk-avmta-1.sfbay.Sun.COM>; Wed,
 05 Mar 2008 15:09:46 -0800 (PST)
Received: from buye.red.iplanet.com (localhost [127.0.0.1])
	by buye.red.iplanet.com (8.13.7+Sun/8.13.7) with ESMTP id m25Msk2N011455; Wed,
 05 Mar 2008 14:54:46 -0800 (PST)
Received: (from jyri@localhost)
	by buye.red.iplanet.com (8.13.7+Sun/8.13.7/Submit) id m25MskDK011454; Wed,
 05 Mar 2008 14:54:46 -0800 (PST)
Date: Wed, 05 Mar 2008 14:54:46 -0800
From: Jyri Virkki <Jyri.Virkki@sun.com>
Subject: Re: [webstack-discuss] Enhancing Ruby with DTrace probes
 [PSARC/2008/174 Self Review]
In-reply-to: <47CF107F.9030709@Sun.COM>
To: Darren J Moffat <Darren.Moffat@sun.com>
Cc: Prashant Srinivasan <Prashant.Srinivasan@sun.com>,
        Richard Lowe <richlowe@richlowe.net>, psarc-ext@sun.com,
        webstack-discuss@opensolaris.org
Message-id: <20080305225446.GC11041@sun.com>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <x7abldwuax.fsf@richlowe.net> <47CF0381.9030006@Sun.COM>
 <47CF107F.9030709@Sun.COM>
User-Agent: Mutt/1.5.11
Status: RO
Content-Length: 1123

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.
> 
> Given what you described the way I would recommend that this case is 
> changed to provide the functionality on both platforms.  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.

That is indeed what the project team is committing to - equal features
on both platforms, with the understanding that putbacks for them will
not occur on the same date (SPARC follows at a later date). That's how
they managed to convince me it's an automatic case.

There's been a handful of replies, tempting me to move it to a fast
track but OTOH I'm not seeing an issue yet to really discuss deeper.
If anyone feels the project needs to change to deliver simultaneously
on all platforms, speak up and I'll promote it to a fast track so the
discussion can go on.


-- 
Jyri J. Virkki - jyri.virkki@sun.com - Sun Microsystems

From gdamore@sun.com Wed Mar  5 15:59:17 2008
Received: from newsunmail1brm.central.sun.com (newsunmail1brm.Central.Sun.COM [129.147.62.245])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m25NxG6a024063
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 5 Mar 2008 15:59:16 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by newsunmail1brm.central.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m25Nx9xZ020127
	for <@sunmail2sca.sfbay.sun.com:psarc-ext@sun.com>; Wed, 5 Mar 2008 16:59:16 -0700 (MST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JXA0031V7YR5100@nwk-avmta-1.sfbay.Sun.COM> for psarc-ext@sun.com
 (ORCPT psarc-ext@sun.com); Wed, 05 Mar 2008 15:59:15 -0800 (PST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JXA0019I7YPTTD0@nwk-avmta-1.sfbay.Sun.COM> for
 psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Wed,
 05 Mar 2008 15:59:14 -0800 (PST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m25NxDpd024143	for
 <psarc-ext@sun.com>; Wed, 05 Mar 2008 15:59:13 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JXA005017PEDX00@fe-sfbay-10.sun.com> (original mail from gdamore@sun.com)
 for psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Wed,
 05 Mar 2008 15:59:13 -0800 (PST)
Received: from [192.168.251.106] ([76.174.83.55])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0JXA0045G7YO7N30@fe-sfbay-10.sun.com>; Wed,
 05 Mar 2008 15:59:13 -0800 (PST)
Date: Wed, 05 Mar 2008 15:56:59 -0800
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: Enhancing Ruby with DTrace probes [PSARC/2008/174 Self Review]
In-reply-to: <47CF167F.1090900@Sun.COM>
Sender: Garrett.Damore@sun.com
To: Prashant Srinivasan <Prashant.Srinivasan@sun.com>
Cc: Jyri Virkki <jyri@sac.sfbay.sun.com>, psarc-ext@sun.com, sivakumar@sun.com,
        webstack-discuss@opensolaris.org
Message-id: <47CF334B.4030405@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <47CE5BBD.7050307@sun.com> <47CF167F.1090900@Sun.COM>
User-Agent: Thunderbird 2.0.0.6 (X11/20071023)
Status: RO
Content-Length: 22225

Prashant Srinivasan wrote:
> Garrett D'Amore wrote:
>> I am unclear if the existence of a bug (6659110) is adequate 
>> justification for not delivering this feature on SPARC.  Particularly 
>> given that the named bug has not even been evaluated for accuracy, 
>> much less root caused or analyzed for cost-to-fix.
>
> The bug it self is being scoped down by folks in the iropt and front 
> end groups.  If by "not even been evaluated for accuracy" you mean 
> user error, the compiler team is able to reproduce the problem, and 
> have indicated that they think it's a problem with the probes.

I'm confused.  Do you mean to say that the compiler folks think that 
there is a bug in the ruby probes, or is it a bug in some other kind of 
probe in the compiler?  If the former, then I think the project team 
needs to tackle the problem.  If the latter, then use of a phased 
deliver is, IMO, superior to an "architectural" split.

>
>> Architecturally, this would be far far more clear cut if the project 
>> team committed to architecture feature parity here.
>
> SPARC support is something we really want to introduce, as soon as we 
> get relief on 6659110.  It was felt that introducing SPARC support 
> with a severe performance degradation was not good for 
> Ruby/Solaris/SPARC - and dalaying release until the compiler bug got 
> resolved

That sounds like a C-Team override, which can happen, but not 
necessarily good architecture.  I'd rather see this case include SPARC 
support, and possibly use phased delivery (and so indicate in the case) 
rather than "only" ARC'ing the x86 bits now.


>
>>   (Ultimately, this may require C-Team approval/override, due to 
>> violation of Sun Big Rules, but this of course falls outside of the 
>> scope of ARC review.)
>>
>> On a related note, I have to ask, is the project going to be 
>> delivering 32-bit probes, or just 64-bit?  (I see a specific 
>> reference made to x64, but none made for x86.)  I'm not familiar with 
>> Ruby, so if this question is nonsensical, please so indicate. :-)
> The probes are 32 bit - they're going to be introduced into the 
> existing Ruby language software which comprise 32-bit programs.  I've 
> made a correction to the ARC case and inlined the new version below.

Okay, thanks.

    -- Garrett

>
>
> 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@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
>
>        These DTrace probes will initially be available only in the x86 
> and x64
>        versions of Solaris due to a defect (CR # 6659110). This forces 
> us not
>        to have DTrace support for Ruby on Sparc. The 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
>
>
>>
>>    -- Garrett
>>
>>
>> Jyri Virkki wrote:
>>> I am sponsoring this case for Sivakumar and closing it approved 
>>> automatic.
>>> The only high[low]light is the feature disparity between x86 and SPARC.
>>> If anyone would like to discuss it as a fast track let me know.
>>>
>>>
>>>
>>> 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@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
>>>
>>>         These DTrace probes will initially be available only in the x64
>>>         version of Solaris due to a defect (CR # 6659110). This 
>>> forces us not
>>>         to have DTrace support for Ruby on Sparc. The 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
>>>
>>>   
>>
>
>


From gdamore@sun.com Wed Mar  5 16:29:02 2008
Received: from sunmail2sca.sfbay.sun.com (sunmail2sca [129.145.155.234])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m260T2WF025806
	for <psarc-ext@sac.sfbay.sun.com>; Wed, 5 Mar 2008 16:29:02 -0800 (PST)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.146.11.74])
	by sunmail2sca.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m260T20l005652
	for <@sunmail2sca.sfbay.sun.com:psarc-ext@sun.com>; Wed, 5 Mar 2008 16:29:02 -0800 (PST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JXA006059CC3T00@nwk-avmta-1.sfbay.Sun.COM> for psarc-ext@sun.com
 (ORCPT psarc-ext@Sun.COM); Wed, 05 Mar 2008 16:29:00 -0800 (PST)
Received: from sca-es-mail-2.sun.com ([192.18.43.133])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JXA001ZI9CBTTE0@nwk-avmta-1.sfbay.Sun.COM> for
 psarc-ext@sun.com (ORCPT psarc-ext@Sun.COM); Wed,
 05 Mar 2008 16:28:59 -0800 (PST)
Received: from fe-sfbay-10.sun.com ([192.18.43.129])
	by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m260Swh2027131	for
 <psarc-ext@Sun.COM>; Wed, 05 Mar 2008 16:28:58 -0800 (PST)
Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JXA00001988XN00@fe-sfbay-10.sun.com> (original mail from gdamore@sun.com)
 for psarc-ext@Sun.COM (ORCPT psarc-ext@Sun.COM); Wed,
 05 Mar 2008 16:28:58 -0800 (PST)
Received: from [192.168.251.106] ([76.174.83.55])
 by fe-sfbay-10.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb
 28 2007)) with ESMTPSA id <0JXA004TK9BU7NF0@fe-sfbay-10.sun.com>; Wed,
 05 Mar 2008 16:28:48 -0800 (PST)
Date: Wed, 05 Mar 2008 16:26:29 -0800
From: "Garrett D'Amore" <gdamore@sun.com>
Subject: Re: [webstack-discuss] Enhancing Ruby with DTrace	probes
	[PSARC/2008/174 Self Review]
In-reply-to: <47CF1ADE.3030608@Sun.COM>
Sender: Garrett.Damore@sun.com
To: Prashant Srinivasan <Prashant.Srinivasan@sun.com>
Cc: Darren J Moffat <Darren.Moffat@sun.com>,
        Richard Lowe <richlowe@richlowe.net>, PSARC-ext@sun.com,
        webstack-discuss@opensolaris.org, Jyri Virkki <jyri@sac.sfbay.sun.com>
Message-id: <47CF3A35.5010806@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <x7abldwuax.fsf@richlowe.net> <47CF0381.9030006@Sun.COM>
 <47CF107F.9030709@Sun.COM> <47CF1ADE.3030608@Sun.COM>
User-Agent: Thunderbird 2.0.0.6 (X11/20071023)
Status: RO
Content-Length: 10614

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@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@opensolaris.org
>> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
>>   
>
>


From Darren.Moffat@sun.com Thu Mar  6 02:41:18 2008
Received: from sunmail3mpk.sfbay.sun.com (sunmail3mpk [129.146.11.52])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m26AfIN7011647
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 6 Mar 2008 02:41:18 -0800 (PST)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail3mpk.sfbay.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id m26AfGVd019256
	for <@sunmail2sca.sfbay.sun.com:psarc-ext@sun.com>; Thu, 6 Mar 2008 02:41:18 -0800 (PST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JXB00K051OT2100@brm-avmta-1.central.sun.com> for psarc-ext@sun.com
 (ORCPT psarc-ext@sun.com); Thu, 06 Mar 2008 03:41:17 -0700 (MST)
Received: from gmp-eb-inf-2.sun.com ([192.18.6.24])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JXB00CVA1OSGP70@brm-avmta-1.central.sun.com> for
 psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Thu,
 06 Mar 2008 03:41:17 -0700 (MST)
Received: from fe-emea-10.sun.com (gmp-eb-lb-2-fe2.eu.sun.com [192.18.6.11])
	by gmp-eb-inf-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m26AfGRm018375	for
 <psarc-ext@sun.com>; Thu, 06 Mar 2008 10:41:16 +0000 (GMT)
Received: from conversion-daemon.fe-emea-10.sun.com by fe-emea-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JXB00K011F50D00@fe-emea-10.sun.com>
 (original mail from Darren.Moffat@Sun.COM)
 for psarc-ext@sun.com (ORCPT psarc-ext@sun.com); Thu,
 06 Mar 2008 10:41:16 +0000 (GMT)
Received: from [129.156.173.21] by fe-emea-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0JXB00C9V1OGPQ00@fe-emea-10.sun.com> for psarc-ext@sun.com
 (ORCPT psarc-ext@sun.com); Thu, 06 Mar 2008 10:41:04 +0000 (GMT)
Date: Thu, 06 Mar 2008 10:41:03 +0000
From: Darren J Moffat <Darren.Moffat@sun.com>
Subject: Re: [webstack-discuss] Enhancing Ruby with DTrace probes
 [PSARC/2008/174 Self Review]
In-reply-to: <20080305225446.GC11041@sun.com>
Sender: Darren.Moffat@sun.com
To: Jyri Virkki <Jyri.Virkki@sun.com>
Cc: Prashant Srinivasan <Prashant.Srinivasan@sun.com>,
        Richard Lowe <richlowe@richlowe.net>, psarc-ext@sun.com,
        webstack-discuss@opensolaris.org
Message-id: <47CFCA3F.8080701@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <x7abldwuax.fsf@richlowe.net> <47CF0381.9030006@Sun.COM>
 <47CF107F.9030709@Sun.COM> <20080305225446.GC11041@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080213)
Status: RO
Content-Length: 876

Jyri Virkki 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.
>>
>> Given what you described the way I would recommend that this case is 
>> changed to provide the functionality on both platforms.  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.
> 
> That is indeed what the project team is committing to - equal features
> on both platforms, with the understanding that putbacks for them will
> not occur on the same date (SPARC follows at a later date). That's how
> they managed to convince me it's an automatic case.

It isn't what many of us read the case as saying though.

-- 
Darren J Moffat

From Darren.Moffat@sun.com Thu Mar  6 02:43:00 2008
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id m26AgxnB011684
	for <psarc-ext@sac.sfbay.sun.com>; Thu, 6 Mar 2008 02:42:59 -0800 (PST)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.8+Sun/8.13.8/ENSMAIL,v2.2) with ESMTP id m26AgucQ026324
	for <@sunmail2sca.sfbay.sun.com:PSARC-ext@sun.com>; Thu, 6 Mar 2008 10:42:58 GMT
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JXB0040F1RKHW00@nwk-avmta-2.sfbay.sun.com> for PSARC-ext@sun.com
 (ORCPT PSARC-ext@Sun.COM); Thu, 06 Mar 2008 02:42:56 -0800 (PST)
Received: from gmp-eb-inf-1.sun.com ([192.18.6.21])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JXB00M1Z1RI0JF0@nwk-avmta-2.sfbay.sun.com> for
 PSARC-ext@sun.com (ORCPT PSARC-ext@Sun.COM); Thu,
 06 Mar 2008 02:42:55 -0800 (PST)
Received: from fe-emea-10.sun.com (gmp-eb-lb-2-fe1.eu.sun.com [192.18.6.10])
	by gmp-eb-inf-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id m26AgsMK000014	for
 <PSARC-ext@Sun.COM>; Thu, 06 Mar 2008 10:42:54 +0000 (GMT)
Received: from conversion-daemon.fe-emea-10.sun.com by fe-emea-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 id <0JXB00K011F50D00@fe-emea-10.sun.com>
 (original mail from Darren.Moffat@Sun.COM)
 for PSARC-ext@Sun.COM (ORCPT PSARC-ext@Sun.COM); Thu,
 06 Mar 2008 10:42:54 +0000 (GMT)
Received: from [129.156.173.21] by fe-emea-10.sun.com
 (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007))
 with ESMTPSA id <0JXB00CA91R6PQ00@fe-emea-10.sun.com>; Thu,
 06 Mar 2008 10:42:42 +0000 (GMT)
Date: Thu, 06 Mar 2008 10:42:42 +0000
From: Darren J Moffat <Darren.Moffat@sun.com>
Subject: Re: [webstack-discuss] Enhancing Ruby with DTrace	probes
	[PSARC/2008/174 Self Review]
In-reply-to: <47CF3A35.5010806@sun.com>
Sender: Darren.Moffat@sun.com
To: "Garrett D'Amore" <gdamore@sun.com>
Cc: Prashant Srinivasan <Prashant.Srinivasan@sun.com>,
        Richard Lowe <richlowe@richlowe.net>, psarc-ext@sun.com,
        webstack-discuss@opensolaris.org, Jyri Virkki <jyri@sac.sfbay.sun.com>
Message-id: <47CFCAA2.4040204@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <200803050527.m255Ri7m011982@sac.sfbay.sun.com>
 <x7abldwuax.fsf@richlowe.net> <47CF0381.9030006@Sun.COM>
 <47CF107F.9030709@Sun.COM> <47CF1ADE.3030608@Sun.COM>
 <47CF3A35.5010806@sun.com>
User-Agent: Thunderbird 2.0.0.9 (X11/20080213)
Status: RO
Content-Length: 118

Garrett D'Amore wrote:
> This looks much better.  Thanks.

Agreed. I'm happy with this case now.

-- 
Darren J Moffat

