--17pEHd4RhPHOinZp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, May 02, 2012 at 01:01:17PM +0900, SASADA Koichi wrote:
> Hi,
>=20
> (2012/05/02 11:38), Aaron Patterson wrote:
> > DTrace allows us to specify the stability of the probes.  I've
> > declared the provider name of "ruby" to be stable.
>=20
> I agree.
>=20
> > We don't declare any modules or functions, so I've declared them as
> > stable.
>=20
> I'm not sure about it.  You mean that we'll declare "there are no
> modules or functions" ?

That's correct.  We are not allowed to define modules or functions, so
I've declared that our non-existent modules and functions are stable.

> > The probes (e.g. function-entry), as well as the type and number of
> > arguments to the probes are declared as unstable, so users are
> > advised not to depend on them.
>=20
> I agree.  Or declare specification as "Ruby 2.0.0" (specific
> implementation) and make warning that "there are possibilities of
> changing probes after Ruby 2.0.1 or later".

I believe that is implied since we've said the api is not stable.

> > You can find the stability declarations here:
> >=20
> > https://github.com/tenderlove/ruby/blob/probes/probes.d#L26-30
>=20
> Thanks.
>=20
> I have a question:  We have lazy sweep which run many short scattered
> sweep process.  Should we measure such a thing?

I think it's fine to measure.  I've added probes in all the places where
we gather GC statistics (near GC_PROF_SWEEP_TIMER_START and
GC_PROF_SWEEP_TIMER_STOP).  The nice thing is that the DTrace system
will provide the time, so we don't need to write any C code to calculate
timing.

> > I think declaring them unstable is the best conservative approach.
> > If we find them to be good over the long term, we can change the
> > stability declaration in later releases of Ruby.
>=20
> I agree.

Great!  If you're happy with my patch, I'll apply. :-)

--=20
Aaron Patterson
http://tenderlovemaking.com/

--17pEHd4RhPHOinZp
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)

iQEcBAEBAgAGBQJPoWzMAAoJEJUxcLy0/6/Gxh4IAIxhJkEaG6JIknIPovNjYGy+
gAAC7eTedDvo22T9EyfeVW2r9l6m/Grpz83MtqFewyjXrh6caomiRcJjffOH8Opf
mBmUCdCWSIbuhogiwvsLFs0ogDMmT1Hx+OhHFTs/VHzizHewdl8U+3REc12KSENE
RYT6M7V45Ky3qrJKw+4O2ZEjDJo/Af8lLkyfsbPpkDWM4lGjaVKiMw17V5l1khsi
XvaD2JQkaEUH1pcB3FzkeMSNqO3w00fqtOTqmsJ+XviQrOBx3t/PejiuJbXV52Ne
FK71VLKcpVTndki9d99KQ6zr+usV0230Cc8FaTaz3YrtvNZ0Mm6c71P10BB6lUw=
=taaf
-----END PGP SIGNATURE-----

--17pEHd4RhPHOinZp--

On Wed, May 02, 2012 at 01:01:17PM +0900, SASADA Koichi wrote:
> Hi,
>=20
> (2012/05/02 11:38), Aaron Patterson wrote:
> > DTrace allows us to specify the stability of the probes.  I've
> > declared the provider name of "ruby" to be stable.
>=20
> I agree.
>=20
> > We don't declare any modules or functions, so I've declared them as
> > stable.
>=20
> I'm not sure about it.  You mean that we'll declare "there are no
> modules or functions" ?

That's correct.  We are not allowed to define modules or functions, so
I've declared that our non-existent modules and functions are stable.

> > The probes (e.g. function-entry), as well as the type and number of
> > arguments to the probes are declared as unstable, so users are
> > advised not to depend on them.
>=20
> I agree.  Or declare specification as "Ruby 2.0.0" (specific
> implementation) and make warning that "there are possibilities of
> changing probes after Ruby 2.0.1 or later".

I believe that is implied since we've said the api is not stable.

> > You can find the stability declarations here:
> >=20
> > https://github.com/tenderlove/ruby/blob/probes/probes.d#L26-30
>=20
> Thanks.
>=20
> I have a question:  We have lazy sweep which run many short scattered
> sweep process.  Should we measure such a thing?

I think it's fine to measure.  I've added probes in all the places where
we gather GC statistics (near GC_PROF_SWEEP_TIMER_START and
GC_PROF_SWEEP_TIMER_STOP).  The nice thing is that the DTrace system
will provide the time, so we don't need to write any C code to calculate
timing.

> > I think declaring them unstable is the best conservative approach.
> > If we find them to be good over the long term, we can change the
> > stability declaration in later releases of Ruby.
>=20
> I agree.

Great!  If you're happy with my patch, I'll apply. :-)

--=20
Aaron Patterson
http://tenderlovemaking.com/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)

iQEcBAEBAgAGBQJPoWzMAAoJEJUxcLy0/6/Gxh4IAIxhJkEaG6JIknIPovNjYGy+
gAAC7eTedDvo22T9EyfeVW2r9l6m/Grpz83MtqFewyjXrh6caomiRcJjffOH8Opf
mBmUCdCWSIbuhogiwvsLFs0ogDMmT1Hx+OhHFTs/VHzizHewdl8U+3REc12KSENE
RYT6M7V45Ky3qrJKw+4O2ZEjDJo/Af8lLkyfsbPpkDWM4lGjaVKiMw17V5l1khsi
XvaD2JQkaEUH1pcB3FzkeMSNqO3w00fqtOTqmsJ+XviQrOBx3t/PejiuJbXV52Ne
FK71VLKcpVTndki9d99KQ6zr+usV0230Cc8FaTaz3YrtvNZ0Mm6c71P10BB6lUw=
=taaf
-----END PGP SIGNATURE-----