Creating a component trace

Last update: 3 March 2022

Preliminary Remarks

Please keep in mind, on what servers tracing takes place when you enable tracing in a Software Component, or you install a tracing library.

Enabling Trace in a Software Component

For enabling a Component trace via the Software Component "Trace" flags, no special library is required or needs to be replaced. This tracing functionality is built into the shipped Software Components.

If you enable the Trace flags in one or more Software Components, this leads to:

  • The Kernel instance used, where you actively have enabled the Trace flag, immediately begins to trace.
  • Every other Kernel instance,  on that server and on all other servers, starts to trace not until you restart that Kernel instances.

Therefore, to directly start tracing of a use case, enable the Trace flags and run the use case on the same Kernel instance as you have activated the Trace flags. Other Kernel instances will recognizes the Trace flags not until Kernel restart. Especially using Load Balancers will require you to connect directly to a webserver and run the use case on that server, otherwise the user might be on another Kernel instance.

Don't forget to disable the Trace flags after tracing is finished, otherwise with next Kernel restart all servers will start to trace.

Tracing with provided tracing libraries

In some situations, when a Software Component trace does not include the required information, Fabasoft's Engineering can create a special tracing library that includes more trace information. In that case, the original (shipped) library needs to be replaced by the tracing library for the duration of the trace recording.

When copying the tracing library to the appropriate Folio directory, it requires to stop and later restart the Kernel instances on that server. After installing the trace library, all Kernel instances of that server will trace with the tracing library. 

Therefore, don't forget to restore the original library after trace recording, and restart the Kernel instances thereafter.

Tracing performance

Enabling Component traces impacts the performance, dependent to the volume the Software Component is used and trace code is implemented. This performance impact is independent to the fact if tracer / tracer.exe is running or not. The tracer binary is only an instrument to collect the traces and has no influence if traces are sent or not.

Therefore, don't forget to disable the Trace flags in the Software Components, and to restore the original library/libraries after you have finished the trace recording.

 

Microsoft Windows

This article describes the steps neccessary to trace activities of Fabasoft Folio components.
This includes for instance tracing versions of libraries as fscvapp.dll, fscvport.dll or simply activating certain settings in a running kernel instance.

Fabasoft Tracer

In order to capture the trace messages from the Kernel the Fabasoft Tracer "tracer.exe" has to be started, for more information about the usage please see Fabasoft Tracer.

Creating the Trace

If the instructions from the Service Desk Ticket include a trace version of a certain library, please make sure to follow any additional steps for replacing the library, as provided by the support engineer.

To create the trace the following steps have to be performed:

  1. Open the properties of the software component, or components, that should be traced.
  2. In the software component activate the settings "Trace Calls", "Trace Errors" and "Trace Expressions" at the bottom of the first page, and commit these changes.

  3. Prepare the steps necessary to reproduce the problem.
  4. Start the Fabasoft Tracer.
  5. Try to reproduce the problem.
  6. When the problem occurs, save the tracer output to a file using the menu "File->Save".
  7. Deactivate the settings "Trace Calls", "Trace Errors" and "Trace Expressions" inside the component.
  8. Upload the trace file to the Fabasoft Support Service Desk.

Please ensure that only trace message information from process, thread and module are recorded, this can be achived by using the Fabasoft Tracer menu "Settings->Output->Default".

Please only start the Fabasoft Tracer when you are ready to reproduce the problem. This ensures that only trace messages that are related to the problem are recorded and helps in the analysis of the trace.

Removing the Trace Version

To remove the trace versions of any provided library, stop the services on the server, delete the trace version of the files from their respective directories and execute the command "cooprep -complete".

Linux

This article describes the steps neccessary to trace activities of Fabasoft Folio components.
This includes for instance tracing versions of libraries as libfscvapp.so, libfscvport.so or simply activating certain settings in a running kernel instance.

Trace Message Logging

For collecting the traces, the "tracer" tool is used to log these messages, for more information about the usage please see Fabasoft Tracer.

Creating the Trace

If the instructions from the Service Desk Ticket include a trace version of a certain library, please make sure to follow any additional steps for replacing the library, as provided by the support engineer.

To create the trace the following steps have to be performed:

  1. Open the properties of the software component, or components, that should be traced.
  2. In the software component activate the settings "Trace Calls", "Trace Errors" and "Trace Expressions" at the bottom of the first page, and commit these changes.
  3. Start a terminal.
  4. Login to the Fabasoft Folio service user.
    su - fscsrv
  5. Prepare the steps necessary to reproduce the problem.
  6. Start the Fabasoft Tracer and redirect, or tee, the output to a file, e.g.
    tracer -out /tmp/trace.trc
    or
    tracer -tee /tmp/trace.trc
  7. Try to reproduce the problem.
  8. When the problem occurs, close the tracer binary (Ctrl-C).
  9. Deactivate the settings "Trace Calls", "Trace Errors" and "Trace Expressions" inside the component.
  10. Upload the trace file to the Fabasoft Support Service Desk.

Removing the Trace Version

To remove the trace verions of any provided library, stop the services on the server, delete the trace version of the files from their respective directories and execute the command "cooprep -complete".

Tracing in Linux prior Folio 2015

Prior to Fabasoft Folio 2015, the Linux tracer binary did not exist, and trace messages were written in the log file of the appropriate instance:

Web Services: /var/opt/fabasoft/log/web/WebService_.error.log

AT Services: /var/opt/fabasoft/instances/COOATService_/log/main/current

fsceval: outputs the trace messages to the current console, in order to record this trace messages the console output has to be redirected: 

fsceval -file > /tmp/tracefile.trc