NetWare Directory Services

DSTrace

June, 1995

Disclaimer

Novell, Inc. makes no representations or warranties with respect to the contents or use of this manual, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes.

Novell, Inc.

122 East 1700 South

Provo, UT 84606

Trademarks

Novell and NetWare are registered trademarks of Novell, Inc.

NetWare Directory Services

DSTrace Filters and Commands

June, 1995

DSTrace is a file server console screen available on Novell NetWare 4 servers. This debug screen is enabled through set commands and allows an inside view of Directory Services on that particular server. DSTrace was used by Novell engineers during the development process and can be used to view Directory Services "in action." The functionality of DSTrace can be divided into three parts: basic functions, filters, and commands.

Basic Functions

The basic functions of DSTrace control the general status of the Directory Services Trace screen in NetWare 4. An example would be:

SET DSTRACE=ON

The basic functions are:

ON	Enables the Directory Services debug screen

OFF	Disables the debug screen

NODEBUG	Leaves the screen enabled, but turns off all debugging messages.

DEBUG	Turns on a predefined set of debugging messages.

Filters

When the DSTrace screen is enabled, the information displayed is based on a default set of filters. If you wish to view more or less information than the default, you can manipulate the filters. Each process has a set of debugging messages that can be viewed. To view messages on a particular process, use a "+" and the process name. To disable the display of a process, use a "-" and the process name. Slashes indicate alternate command line statements. Some examples are:

SET DSTRACE=+SYNC

SET DSTRACE=-LOCKS

SET DSTRACE=+SCHEMA

Debugging messages are available for the following processes or functions in Directory Services:

ALL	Displays all debugging information.
AUTHEN	Enables authentication messages.
AUDIT	Auditing information.
BLINK/BACKLINK	Verification of backlinks and external references.
COLL/COLLISION	Entry/Attribute collisions
DSA/DSAGENT	Requests to the server agent.
E/ERR/ERRORS	Displays errors.
EMU	Bindery emulator.
ERRET	Displays errors.
FRAG/FRAGGER	Fragger debug messages.
INIT	Enables messages during initialization of the database.
I/INSPECTOR	Verification of entry and entry references on the local server.
J/JANITOR	Removal of deleted entries, status of NCP servers, miscellaneous record management.
LIMBER	Verification of server name/address/replica, tree connectivity.
LOCKS	Database locking information.
MISC	Miscellaneous information.
PART	Partitioning process.
RECMAN	Hashing/Iteration state handling.
RN/RESNAME	Resolve name requests (tree walking).
S/SYNC	Synchronization process by object name.
SAP	SAP messages.
SCHEMA	Schema synchronization.
STREAMS	Stream attributes.
TV/TIMEVECTOR	Synchronization timestamp exchange.
VC/VCLIENT	Virtual client information.

Commands

Each of the following commands when preceded by an asterisk will perform a Directory Services action. An example would be:

SET DSTRACE=*H

FLAG	PARAMETERS	ACTION
*.	None	Reloads DS.NLM from the SYS:SYSTEM directory. Both DS.NLM and DSOLD.NLM will be loaded for a short period of time.
*B	None	Force backlink process
*D	Replica rootEntryID	Aborts a "send all updates" or *I. Used when *I is unable to complete (and is therefore endlessly trying to send the objects to all replicas) usually because one of the servers is inaccessible.
*E	None	Verify that the entry cache is viable.
*F	None	Force flatcleaner process (purge deleted entries from database).
*G	None	Give up on a server when there are too many requests in process. Unable to specify the server ID. This is the opposite of the *U command.
*H	None	Force heartbeat process--exchanges timestamps with all servers in replica list. Starts synch immediately.
*I	Replica rootEntryID	This command is the same as "send all objects" in DSREPAIR. *I will copy all objects in the replica on the server where you issue the command to all other servers in the replica list. Be sure to issue this command from the server with the "good" copy.
*L	None	Start the Limber Up process (connectivity check of pseudo server ID and server name).
*M	Bytes	Set the maximum size of the trace file.
*P	None	Displays the tunable parameters and their default settings.
*R	None	Reset the DSTRACE.DBG file.
*S	None	Schedule skulker to run (put this on the work queue to be done).
*SS	None	Force immediate schema synchronization.
*U	Optional ID of server object	Forces server state(s) to up. If no ID is specified, all servers in replica lists are set to up.

Saving to a File

The information scrolling across the DSTrace screen can be saved to a file. To save DSTrace to a file, do the following:

SET DSTRACE=ON

SET DSTRACE=<your favorite set of filters>

SET TTF=ON	Begins saving screen messages at the current file pointer.

SET DSTRACE=*H	Forces a heartbeat process.

<Toggle to the DSTrace screen and wait for the process to complete.>

SET TTF=OFF	Ends saving of screen messages and closes the file.

The DSTrace messages will be stored to a file in SYS:SYSTEM named DSTRACE.DBG. The file will grow to one megabyte and then will wrap additional text to the beginning of the file.