This document describes the various techniques available for
troubleshooting, tracing and logging with EntireX components.
It
covers the following topics:
EntireX Component | Use Tracing Technique for | Tracing Technique |
---|---|---|
Broker ActiveX Control | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing Broker Stubs |
EntireX Broker ACI under Windows | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing Broker Stubs |
EntireX Broker Agent | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing Broker Agent |
EntireX Broker under UNIX | Processing within the Broker Requests to, replies from clients/server |
Tracing EntireX Broker |
DCOM Wrapper | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing Broker Stubs |
RPC-related problems on the client side Requests to, replies from RPC Servers Requests to, replies from the Broker |
Tracing the RPC Runtime | |
EntireX Java ACI | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing EntireX Java ACI |
Java Wrapper | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing EntireX Java ACI |
EntireX Java RPC Server | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing Java RPC Server |
EntireX IDL Tester | ||
.NET Wrapper | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing Broker Stubs |
RPC-related problems on the client side Requests to, replies from RPC servers Requests to, replies from the Broker |
Tracing the RPC Runtime | |
C Wrapper | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing Broker Stubs |
RPC-related problems on the client side Requests to, replies from RPC servers Requests to, replies from the Broker |
Tracing the RPC Runtime | |
EntireX RPC Server under UNIX | RPC-related problems on the server side Requests to, replies from RPC clients Requests to, replies from the Broker |
Tracing the RPC Server |
Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing Broker Stubs | |
EntireX Broker HTTP(S) Agent | Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing EntireX Java ACI |
EntireX XML/SOAP RPC Server | For XML/SOAP RPC Server-related problems. | Tracing the XML/SOAP Runtime |
Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing EntireX Java ACI | |
EntireX XML Tester | ||
EntireX XML/SOAP Listener | For XML/SOAP Listener-related problems. | Tracing the XML/SOAP Runtime |
Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing EntireX Java ACI | |
XML/SOAP Wrapper | For XML/SOAP Wrapper-related problems. | Tracing the XML/SOAP Runtime |
Transport-related problems Requests to, replies from the Broker or Broker Agent |
Tracing EntireX Java ACI | |
EntireX RPC-ACI Bridge | Tracing the EntireX RPC-ACI Bridge |
To switch on tracing
Set the attribute TRACE-LEVEL
in the broker attribute file
for minimal trace output to "1"
for detailed trace output to "2"
for full trace output to "3"
Example:
TRACE-LEVEL=2
To switch off tracing
Set the attribute TRACE-LEVEL
in the broker attribute file to 0:
TRACE-LEVEL=0
Or:
Omit the TRACE-LEVEL
attribute.
To display the trace file (under UNIX)
In System Management Hub, select EntireX n.n.n, then EntireX Broker, then the Broker ID you are interested in, then choose
.The trace file, BrokerID.LOG, is written to the Broker Directory directory.
To switch on tracing
Set the parameter Trace Option to ON. For the complete table of parameters, see Using the Broker SSL Agent and Using the TCP Agent.
To switch off tracing
Set the parameter Trace Option to OFF.
Or:
Omit the parameter Trace Option.
The trace output will be written to STDOUT.
If the Broker Agent is started with the System Management Hub, the trace output is written to the subfolder etc of the EntireX main directory. The file name is BrokerAgent.<agent name>.log.
The broker stubs provide an option for writing trace files.
To switch on tracing for the broker stub
Before starting the client application, set the environment variable ETB_STUBLOG
:
Trace Value |
Trace Level | Description |
---|---|---|
0 | NONE |
No tracing. |
1 | STANDARD |
Traces initialization, errors, and all ACI request/reply strings. |
2 | ADVANCED |
Used primarily by system engineers, traces everything from level 1 and provides additional information - for example the Broker ACI control block - as well as transport information. |
3 | SUPPORT |
This is full tracing through the stub, including detailed traces of control blocks, message information, etc. |
Example:
ETB_STUBLOG
=2
If the trace level is greater than 1, unencrypted contents of the send/receive buffers may be exposed in the trace.
The trace file is created in the current directory. The name is pid
.etb where pid
is the process ID. If you want to write the trace file to a different location, set environment variable ETB_STUBLOGPATH
to the desired path.
See also UNIX Commands to Set the Environment Variables.
Remember to switch off tracing to prevent trace files from filling up your disk.
To switch off tracing for the broker stub
Set the environment variable ETB_STUBLOG
to NONE
or delete it.
The EntireX Java ACI provides a system property for tracing.
To switch on tracing
When starting the Java virtual machine, set the Java system property
entirex.trace
for minimal trace output to "1"
for detailed trace output to "2"
for full trace output to "3".
The programming interface of the EntireX Java ACI allows you to set the trace value by the Java application using the EntireX Java ACI, see Tracing under Writing Advanced Applications - EntireX Java ACI. There may also be other methods to provide the trace value. See your application documentation.
To switch off tracing
Set the Java system property
entirex.trace
to 0 when starting the Java virtual
machine
Or:
Omit the Java system property
entirex.trace
when starting the Java virtual
machine.
The trace output will be written to STDOUT.
To switch on tracing
When starting the Java virtual machine, set the Java system property
entirex.trace
for minimal trace output to "1"
for detailed trace output to "2"
for full trace output to "3".
To switch off tracing
Set the Java system property
entirex.trace
to "0" when starting the Java virtual
machine.
Or:
Omit the Java system property
entirex.trace
when starting the Java virtual
machine.
The trace output will be written to STDOUT.
To switch on tracing
Before starting the client application, set the environment variable
ERX_TRACELEVEL
to
STANDARD
for minimal
trace output
ADVANCED
for detailed
trace output
SUPPORT
for full trace
output.
To switch off tracing
Set the environment variable to NONE or delete it.
By default the trace file, ERXTrace.nnn.log, will be written to the trace directory.
The value nnn can be in the range from 001 to 005.
To change the trace destination
Set the environment variable ERX_TRACEFILE
to the
desired destination, which can consist of
file names, folder names and variables for file names, folder names, process ID, thread ID, range.
The variables are:
Variable | Operating System | Description |
---|---|---|
%...% | Windows | environment variable |
$(...) | UNIX | environment variable |
@PID | UNIX, Windows | process ID |
@TID | UNIX, Windows | thread ID |
@RANGE[ n,m ] | UNIX, Windows | m must be greater than n, range is from 0 - 999 |
@CSIDL_PERSONAL | Windows | The user's home directory. The variable will be resolved by Windows shell functions. |
@CSIDL_APPDATA | Windows | The Application Data Directory. The variable will be resolved by Windows shell functions. |
@CSIDL_LOCAL_APPDATA | Windows | The Application Data Directory. The variable will be resolved by Windows shell functions. |
Environment Variables in EntireX
To switch on tracing
Set the TraceLevel
parameter in the server configuration file to
STANDARD
for minimal
trace output
ADVANCED
for detailed
trace output
SUPPORT
for full trace
output.
Tracing
can also be switched on and off with the environment variable
ERX_TRACELEVEL
. The settings in the
configuration file override the environment variable.
To switch off tracing
Set the TraceLevel
parameter in the server configuration file to
NONE.
By default the trace file, ERXTrace.nnn.log, will be written to the trace directory.
The value nnn can be in the range from 001 to 005.
To change the trace destination
Set the parameter TraceDestination
in the
server configuration file to the desired destination. See Configuring the RPC Server.
The variables are:
Variable | Operating System | Description |
---|---|---|
%...% | Windows | environment variable |
$(...) | UNIX | environment variable |
@PID | UNIX, Windows | process ID |
@TID | UNIX, Windows | thread ID |
@RANGE[ n,m ] | UNIX, Windows | m must be greater than n, range is from 0 - 999 |
@CSIDL_PERSONAL | Windows | The User's Home Directory. The variable will be resolved by Windows shell functions. |
@CSIDL_APPDATA | Windows | The Application Data Directory. The variable will be resolved by Windows shell functions. |
@CSIDL_LOCAL_APPDATA | Windows | The Application Data Directory. The variable will be resolved by Windows shell functions. |
EntireX RPC Server Return Codes
This section provides information on tracing the following components:
EntireX XML/SOAP RPC Server
EntireX XML/SOAP Listener
EntireX XML/SOAP Wrapper
The following topics are covered:
There are two ways to switch on tracing mode:
To switch on tracing mode using a property file
Copy the trace property file entirex.trace.standard to one of the following locations:
the working directory of your client application;
the user's home directory;
any other location.
Rename the copied file entirex.trace.properties.
Customize entirex.trace.properties as described in Trace Parameters.
If entirex.trace.properties is within the current directory of your client application or your user home directory, it will be located automatically.
Otherwise, specify the fully qualified or relative file name when starting the Java virtual machine for your
client application using property entirex.sdk.default.trace.propertiesfile
, example:
java -Dentirex.sdk.default.trace.propertiesfile ="/MyDirName/entirex.trace.properties" MyClient
To switch on tracing mode by specifying the trace parameters of the Java virtual machine
Submit the trace parameters when you start the Java virtual machine for the application to be traced. See Trace Parameters. Note that parameter specifications submitted overwrite settings in the property file.
To switch off tracing
Delete or rename the trace property file if it is located in the working directory or in the user's home directory.
Or:
Specify level=NONE
when invoking the Java virtual machine :
java -Dentirex.sdk.default.trace.level = NONE MyClient
We recommend to add the following parameter in file conf/axis2.xml located in the Software AG Common Web Services Stack installation:
<parameter name="exx-trace-propertiesfile">file:////path of trace.properties file</parameter>
Example:
<parameter name="exx-trace-propertiesfile">MyDirName/entirex.trace.properties</parameter>
Notes:
exx-trace-propertiesfile
can contain definitions of operating system variables, for example location="$EXXDIR/config/entirex.trace.properties"
.
See Enabling Tracing.
Note:
If the XML/SOAP RPC Server is running as a daemon, enable tracing by adding a Java system property to
the start script or by copying file entirex.trace.properties
to the same directory as the start script.
The following table provides an overview on trace parameters, their respective values, and how to submit them as arguments when invoking the Java virtual machine for the component to be traced.
Parameter | Syntax | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
propertiesfile | entirex.sdk.component name.trace.propertiesfile= absolute or relative path including the properties file | Provide the location of the entirex.trace.properties file.
Only used when the component is started.
Note: |
|||||||||||||||
level | entirex.sdk.component name.trace.level = tracelevel | You can specify the following trace levels:
|
|||||||||||||||
directory | entirex.sdk.component name.trace.directory = absolute or relative path | Default is the working directory. | |||||||||||||||
filename | entirex.sdk.component name.trace.filename = FILE|STDOUT|STDERR | Specify where tracing data is written to:
|
|||||||||||||||
threadoriented | entirex.sdk.component name.trace.threadoriented = true | false |
|
|||||||||||||||
rowlength | entirex.sdk.component name.trace.rowlength = maximum_characters_per_row | Maximum number of characters per row. If this limit is exceeded, the remaining letters are written to a new line. | |||||||||||||||
maximumsize | entirex.sdk.component name.trace.maximumsize = max_file_size | Maximum size of the log file. If this limit is exceeded, the log file is renamed and the remaining data is written to a new
log file,
see filename . Note that this specification has an effect only if filename is set to "FILE".
|
|||||||||||||||
timeframe | entirex.sdk.component name.trace.timeframe = number of day | Time period after which the log file is closed. If this time limit has exceeded,
the log file is renamed and the remaining data (if any) is written to a new log file.
Note that this specification has an effect only if filename is set to "FILE".
You can specify the following timeframes:
If no time frame is defined, only one log file is used until tracing is stopped. Example: If timeframe has been set to30D ,
the current log file is closed and renamed at midnight every thirty days, and tracing is continued with a new log file.
|
Trace properties given in the trace property file might have to be restricted by componentname. The following components are available:
EntireX Component | componentname | Description |
---|---|---|
default | The trace property is not restricted to a specific EntireX component. | |
XML/SOAP Runtime | xml.runtime | The trace property belongs to the EntireX XML/SOAP Runtime only. |
To trace Broker calls
Use the system property
entirex.trace=[0|1|2|3]
.
This trace does not separate the calls to the Broker for RPC from those to the Broker for ACI. The trace levels are:
0 to switch off tracing.
1 to trace Broker calls.
2 to trace Broker calls and the payload.
3 to trace Broker calls and all buffers including the payload.
Redirect the trace to a file with the property
entirex.server.logfile
. Set this to the file name
of the log file, the default is standard output.