This article describes the various log files that are currently available for the main server and mirror server.
swDBServer
This is the main server executable which contains the connection to the database, cached data and all API logic.
swServer.log
This file logs server events and not user operations. Errors relating to the server, its connection to the database, etc. would be contained in this file.
A thread number is indicated in brackets after the date/time stamp. Within a small time context, it can even be considered as a connection id.
Example
The below example shows when the server is being started.
The server also will log QGetItems queries that take longer than 1 second to run.
CallLogging
(CallLog_YYYYMMDD_mmss.log)
The CallLogging log file is strictly for troubleshooting purposes as it can affect system performance when activated. It is recommended that it only be used for specific troubleshooting purposes and not for daily logging.
Valid options for activation are "on" or "detailed" and for deactivation, use a null value. Detailed provides extended log information about user operations. For example, if detailed is set, not only that a specific user ran a search, but what they searched for. The content of the file is not readable without the assistance of Systemite for decoding.
TcpSubServer
The Systemite.SystemWeaver.TcpSubServer.exe manages the communication through TCP with all the clients and their connections. There are three log files related to this executable - DLQ file, TcpSubServer.log, and Statistics.log.
DLQ File
(Systemite.SystemWeaver.TcpSubServer_YYYY_MM_DD_mmss.dlq)
The DLQ file includes measurements about how long calls take and is a very useful file for troubleshooting purposes. It contains the following information:
ThreadId=Within a small time context, it can even be considered as a connection id. E.g., 14
SeqId=A sequence number indicating the call's order, e.g., 2
SessionId=The unique ID for the session, e.g., 1
BeforeTime=Date/time stamp for the call, e.g., 2019-05-14T12:53:30
QueueWaitTime=The amount of time between a request reaching the TcpSubServer and beginning to be handled, e.g., 00:00:00.0036687 (approx. 3.6 ms)
LockWaitTimeSubServer=The amount of time spent waiting for the TcpSubServer, e.g., 00:00:00.0000015
LockWaitTimeServer=The amount of time spent waiting for the DBServer, e.g., 00:00:00.0003045 (approx. 0.3 ms)
ExecutionTime=Time used to execute the call, e.g., 00:00:00.0001363
TotalTime=The sum of QueueWaitTime, LockWaitTimes and ExecutionTime.
ResultLength=The length of the data response, e.g., 28
CallId=A code for the operation performed, e.g., 67=FindObjects, 137=Item_GetNextVersions
User=The xID for the user performing the call, e.g., xE0000000218A570
AppName=Indicates the client/application used, e.g., swExplorer.exe
Example
Note: Contact [email protected] should you need assistance with analysis. |
TcpSubServer.log
This log file contains client/application information for connects, disconnects, etc.
A thread number is indicated in brackets after the date/time stamp. It is the thread writing to the log. Each connection has it's own thread during the duration of the connection, and this number identifies it. Note that there are other threads as well, e.g., there is one listening for connections. An example is thread number [12] in the below example.
ComputerName=Alias name for computer from which the connection is made
UserName=Computer system user name
ClientName=Client/application used for connection
ApiVersion=The version of the SystemWeaver API
Logged in=Indicates the SystemWeaver user account that is logged in
Example
Statistics.log
There is also an optional Statistics log which provides information about specific user operations and usage statistics.
Example
The entries in the file consist of:
- Time stamp
- Sequence ID
- Session ID
- IP
- User ID
- User Name
- Client Application Name
- Type of operation (event, call or action) along with the associated details.