Tracing service

The InterPlay tracing service is a Java class that implements the com.axway.interplay.spi.Tracing interface. It is used to trace events as they occur in InterPlay:

  • Connection and disconnection of the user
  • Status changes on the Collections, Objects and sub-Elements
  • Changes on Collections, Objects and Elements at save time
  • Copy/Move of Objects from a Collection to another
  • Ordering of Elements
  • Copy/Paste/Move Elements from an Object to another
  • Import/Export of Collections
  • Purge of Collections
  • Mass update
  • Import/Export of configurations

You can define your own tracing class and register it in the interplayPublicContext.xml file as follows:

<bean id="tracing"

class="com.axway.interplay.core.monitoring.TracingImpl">

</bean>

The method to implement is:

void trace(TracingEvent tracingEvent);

The tracingEvent received in this method contains basic information like the:

  • Performed operation
  • User that performed the operation
  • Date
  • ID called TransactionID.

To see if a tracingEvent has details stored in the database, you can use the tracingEvent.getHasDetails() method that returns:

The events are stored in the MONITORING_EVENT table in the InterPlay database.

View the columns of the table

Column Name Description
ID_MONITORING_EVENT Identifier of the event registered in the table.
TRANSACTION_ID Transaction identifier of the operation executed by the user.
USERNAME Name of the user that has performed the monitored action.
EVENT_DATE Date when the registered event occurred.
EVENT_TYPE Type of the operation that was executed: “Creation”, “Modification”, “Deletion” etc.
EVENT_DETAIL

Code of the operation that was executed

BENTITY_NAME

Name of the business entity (Collection Type name or Object Type name)

BENTITY_VERSION Version of the business entity: (Collection Type version or Object Type version )
BENTITY_PATH Absolute path of the entity
BENTITY_ID Internal identifier of the entity used to identify the entity between its siblings (Business Collection id, Business Object id or Element id).
BCOLLECTION_ID Parent Business Collection id.
BOBJECT_ID Parent Business Object id.
PROPERTY Name of the modified property.
OLD_VALUE Old property value
NEW_VALUE New property value
CUSTOM_ID

Holds the value of one or more business properties used to identify the Collection Type or Object Type.

Example:

ACCDOC_1 has as custom identifier BATCH_NAME, so the CUSTOM_ID will be the value of BATCH_NAME of each affected object of type ACCDOC_1. You set the custom id in the Designer on Collection Types/Object Types/ Element Types.

To get the details of one operation you must use the tracingEvent.getDetails() method that returns a multiple result set and you can iterate through it to get the details.

Example

private void traceEvent(TracingEvent tracingEvent)

{

InterPlayResultSet<TracingEvent> rs =

tracingEvent.getDetails()

for (TracingEvent event : rs)

{

String delimitator = ";";

StringBuilder sb1 = new StringBuilder();

sb1.append(event.getTransactionId()).append(delimitator);

sb1.append(event.getUsername()).append(delimitator);

sb1.append(event.getDate()).append(delimitator);

sb1.append(event.getParentCollectionId()).append(delimitator);

sb1.append(event.getParentObjectId()).append(delimitator);

sb1.append(event.getBusinessEntityId()).append(delimitator);

sb1.append(event.getProperty()).append(delimitator);

sb1.append(event.getOldValue()).append(delimitator);

sb1.append(event.getNewValue()).append(delimitator);

……………………………………………………………

}

}

Possible operations

Operation Name Description
CHANGE_PROPERTY_COLLECTION Change of a property of a Collection
CHANGE_PROPERTY_OBJECT Change of a property of an Object/Element
CHANGE_STATUS_COLLECTION Change of the status if a Collection
UPDATE_FILTERED_ERROR Change of the status of an error solved/unsolved
CHANGE_STATUS_OBJECT Change of the status of an Object/Element
COPY Copy Objects/Elements
EXPORT_COLLECTIONS Export of a Collection
IMPORT_COLLECTION Import of a Collection
IMPORT_EXCEL Import from Excel
LOGIN Login
LOGOUT Logout
MASS_DELETION Mass deletion of several Objects/Elements before CSV import
MASS_UPDATE Mass Update of Objects/Elements
MOVE Move of Objects, cut/paste of Elements
ORDERING Ordering (previous Monitoring interface, kept for compatibility reasons)
PURGE Purge
SAVE Save (previous Monitoring interface, kept for compatibility reasons)
UNITARY_CREATION_COLLECTION Unitary creation of a Collection
UNITARY_CREATION_OBJECT Unitary creation of an Object/Element
UNITARY_DELETION Unitary deletion of an Object/Element

In order to keep the compatibility, InterPlayprovides a default implementation for the Tracing interface (com.axway.interplay.core.monitoring.TracingImpl) that points to the previous Monitoring interface.

The tracing options can be enabled / disabled in Designer.

Related Links