Alan Coopersmith
2006-Oct-30 22:59 UTC
[dtrace-discuss] [Fwd: Xserver provider for DTrace [PSARC/2006/609 Timeout: 11/06/2006]]
Thanks to a couple of gentle prods from the JDS team, I''ve finally submitted the ARC fasttrack to add the Xserver dtrace probes to the Xservers shipped in Solaris. There''s only been one probe added since the original release, the send-event probe, though others can always be added in the future should the need arise. (Should anyone wish to comment to the ARC reviewing this, I believe you can mail opensolaris-arc at opensolaris.org, though you may have to send it to psarc-ext at sun.com - I''m not clear on the current state of the proposed changes.) -Alan Coopersmith- alan.coopersmith at sun.com Sun Microsystems, Inc. - X Window System Engineering -------- Original Message -------- Subject: Xserver provider for DTrace [PSARC/2006/609 Timeout: 11/06/2006] Date: Mon, 30 Oct 2006 14:45:51 -0800 (PST) From: Alan Coopersmith <alanc at sac.sfbay.sun.com> To: PSARC at sac.sfbay.sun.com Subject: PSARC FastTrack [11/06/2006]: Xserver provider for DTrace I am sponsoring this case for myself with a timeout of Monday, Nov. 6. Template Version: @(#)sac_nextcase %I% %G% SMI 1. Introduction 1.1. Project/Component Working Name: Xserver provider for DTrace 1.2. Name of Document Author/Supplier: Author: Alan Coopersmith 1.3 Date of This Document: 30 October, 2006 4. Technical Description Xserver provider for DTrace ========================== This case introduces a User-land Statically Defined Tracing (USDT) DTrace provider for X11 servers. This provider instruments various points in the X server, to allow tracing what client applications are up to. These probes will be included in the main X server applications shipped in the Solaris X Consolidation: Xorg, Xsun, Xprt, Xnest, Xvfb. Since this case only adds functionality and makes no visible changes to existing interfaces, it seeks a Patch release binding. Descriptions of the probes and their arguments are in the Xserver-probes.html file in the case materials. [For those reading this outside the Sun firewall, you can reference the copy at http://people.freedesktop.org/~alanc/dtrace/ now, or the case materials should be automatically mirrored to the case directory in the ARC community on opensolaris.org shortly.] Where possible, data formats and structures used are taken directly from the X11 Protocol wire formats, which are well defined and have been a stable standard interface for over 20 years. The probe definitions are annotated with these stability levels (the stability facility in DTrace still uses the previous stability taxonomy names): #pragma D attributes Unstable/Unstable/Common provider Xserver provider #pragma D attributes Private/Private/Unknown provider Xserver module #pragma D attributes Private/Private/Unknown provider Xserver function #pragma D attributes Unstable/Unstable/Common provider Xserver name #pragma D attributes Unstable/Unstable/Common provider Xserver args Imported Interfaces: -------------------- X11 Protocol, Revision 6.7 Stable X.Org Standard User-land Statically Defined Tracing (USDT) Evolving PSARC 2004/624 Exported Interfaces: -------------------- Xserver provider Uncommitted Xserver probe names & data Uncommitted Xserver binary file names & function names which may be exposed via these probes Project Private 6. Resources and Schedule 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: X Consolidation / Desktop C-Team 6.5. ARC review type: FastTrack
Alan Coopersmith
2006-Nov-23 01:44 UTC
[dtrace-discuss] Re: [Fwd: Xserver provider for DTrace [PSARC/2006/609 Timeout: 11/06/2006]]
Forgot to mention here, the PSARC fasttrack I forwarded earlier was approved, and the probes are putback to Xsun & Xorg in nv_53, and in the X.Org community codebase in the branch that will become X11R7.3 in about 6 months. Those inside Sun who''ve already installed the nv_53 ISO''s that were released internally earlier today can now see this in the default install: # dtrace -l -n ''Xserver*:::'' ID PROVIDER MODULE FUNCTION NAME 10 Xserver591 Xorg ClientAuthorized client-auth 11 Xserver591 Xorg AuthAudit client-auth 12 Xserver591 Xorg EstablishNewConnections client-connect 13 Xserver591 Xorg AllocLbxClientConnection client-connect 14 Xserver591 Xorg CloseDownRetainedResources client-disconnect 15 Xserver591 Xorg CloseDownClient client-disconnect 16 Xserver591 Xorg ProcKillClient client-disconnect 17 Xserver591 Xorg Dispatch client-disconnect 18 Xserver591 Xorg Dispatch request-done 19 Xserver591 Xorg Dispatch request-start 20 Xserver591 Xorg AddResource resource-alloc 21 Xserver591 Xorg FreeAllResources resource-free 22 Xserver591 Xorg FreeClientResources resource-free 23 Xserver591 Xorg FreeClientNeverRetainResources resource-free 24 Xserver591 Xorg FreeResourceByType resource-free 25 Xserver591 Xorg FreeResource resource-free 26 Xserver591 Xorg WriteEventsToClient send-event 27 Xserver591 Xorg DoFocusEvents send-event 28 Xserver591 Xorg FocusEvent send-event 29 Xserver591 Xorg DeliverEventsToWindow send-event 30 Xserver591 Xorg TryClientEvents send-event -- -Alan Coopersmith- alan.coopersmith at sun.com Sun Microsystems, Inc. - X Window System Engineering