Requirements

Beyond just making the process less ad hoc, other important requirements should be established for the extension:
It is the explicit goal of XYZ to meet all of these requirements.

Implicit so far in our discussion is the idea that a server extension is the right mechanism to provide server instrumentation and tracing. Before discussing the actual functionality of the XYZ extension, some discussion should be presented for why a server extension is an appropriate means to support X server instrumentation and tracing.

As mentioned in the requirements, we want to be able to use the facility through the client-server interface. This is natural because some interface to the facility will be necessary and the client-server interface is readily available and network accessible. Additionally, providing access through the client-server interface makes it easy to construct tests out of clients.

The facility might be able to be built on top of the current properties mechanism to avoid implementing an extension. This mechanism was rejected because it places the instrumentation and tracing data in a very public data-space. Instead, it is preferable to provide a private name-space for the instrumentation and tracing data only accessible through an extension.