cancel
Showing results for 
Search instead for 
Did you mean: 

Insights

Within Enterprise Vault there are a number of additional debug entries. dtrace is a debugging tool which allows you to trace what is happening at each stage of a process. Dtrace allows you to monitor multiple services simultaneously, write the trace to a file, filter for specific words and trigger tracing based on the filters.

Usage:

To use dtrace, go to a command prompt, change directory to the Vault installation directory and type dtrace. From version 8 onwards you can also find it in the Enterprises Vault start menu. You will dropped to a shell looking like this, DT> prompt.

Type ? at any time to view help topics specific to the section you are in. A typical usage of Dtrace is

dtrace
set archivetask v y
log archivetask-01.log
mon

This starts dtrace, sets the Archive Task to be monitored at the highest level - verbose, logs the output to a file, and then starts monitoring the events on the console so they can be viewed in real-time. As soon as the log command is entered events are written to the specified file. You can use set followed by ? to list all the services that can be monitored.

Once you have created a log file, open it in notepad and scan for errors, EV~ error codes, failed messages or the event that you are looking for.

Problems and troubleshooting

Lines being skipped

The first figure on each line is the sequential line number as it was captured. If there are gaps in the trace it could be because there is not enough CPU time available to process and write the entry into the log file. It is recommended that if you are tracing an Agent Service then you lower the number of threads for the service and only monitor a single thread. Also if there are multiple services of the same type (Archiving for example) then stopping all but one service is advisable as dtrace does not differentiate between the different services.

No output on the screen after monitor command, or no trace in log file

Have you selected the correct service? It may be that the problem lies in a different service and the one you are monitoring is not called as a results. Has dtrace been run over Terminal Services or another remote control application that doesn't use the primary operating system console? Dtrace events are written to the primary console and so may not appear when using Terminal Services. If you have to use Terminal Services launch it in console mode e.g. mstsc /console

Too much information in the log file

Dtrace content can be filtered, triggered based on specific words or events and also you can limit the number of services and service threads to try to be turned on for extended periods of time.

Summary

How to run DTRACE on an Enterprise Vault Server

Quick Guide

cd "\Program Files\Enterprise Vault"
dtrace

DT> view
Remember the ID number beside the service or services you will run dtrace on, or alternatively if you know the process you want to monitor use the name.
DT> set ServiceID v y (If you want to dtrace Admin Service the ID is 1, then the syntax would be: "set 1 v y" or "set adminservice v y")
DT> log trace.log

Reproduce the issue or wait until the issue reoccurs.

DT> quit
Select Yes to disable all tracing

Review the trace.log file for any issues.

TIP: Dtrace is useful in troubleshooting a specific problem. However, it should not be turned on for extended periods of time.
Comments
Hi Wayane,

    Thanks this information realy help me.
Here is how you can sript a tarce too.

@echo off

setlocal
set dtlogfile=%CD%\dtrace.log
del %dtlogfile% /q

set dtcmds=dtracecmd.ini

echo set DirectoryService v >> %dtcmds%
echo log %dtlogfile% >> %dtcmds%
echo comment EV Support canned archive task failure script >> %dtcmds%
rem log the dtrace output for 20 minutes
echo pause 20 >> %dtcmds%

for /F "tokens=3*" %%i in ('REG QUERY "HKLM\SOFTWARE\KVS\Enterprise Vault\Install" /v InstallPath ^| find "REG_SZ"') DO SET EVINSTALLPATH=%%i %%j
path %path%;%EVINSTALLPATH%
dtrace.exe < %dtcmds%

if exist %dtlogfile% (
echo log file ^(%dtlogfile%^)
) else (
echo Log file ^(%dtlogfile%^) not found.
echo +++
more %dtcmds%
echo +++
path
echo +++
)

:end
rem tidy up
del %dtcmds% /q
endlocal