Application - Trace Log Structure

Overview

The QueryTest methods return a “trace_log” array which describes a sequence of trace log events generated by internal processing. The structure of these trace log events is based on a common format used by all Applications.

This document describes the currently-recognised entry fields. Additional fields and event paths may be added in future. Your application should gracefully handle unrecognised trace log events.

Common Parameters

The following attributes are common to all trace log events:

Parameter Type Description
time Array/TimeVal [Required] The time field is a two-element Array containing the epoch in seconds, and an additional number of microseconds. This is the time at which the event log was generated. The events in the event log should be in chronological order.
path String [Required] The path string identifies the type of event. It is a string which indicates what message or activity generated this event. Most paths support additional, custom event log fields, as described below.
step Integer An optional, incrementing, zero-based integer which indicates sequential processing through a series of instructions. Event log entries generated by the TesterApp will typically include this value.
op_idx Integer An optional, zero-based integer which indicates the instruction index being processed. This value may increment or decrement due to jumps/loops within the instruction list. Event log entries generated by the TesterApp will typically include this value.

Internal Trace Events

Internal trace log events have the following parameters:

Parameter Type Description
path String [Required] One of the following:
trace.error, trace.warning, trace.notice, trace.debug, trace.dump, trace.spam.
msg String [Required] Human-readable log message.

DB Message Events

A DB log event has the following parameters:

Parameter Type Description
path String [Required] One of the following:
  • db.tester_to_db
  • db.tester_from_db
  • other path with a db. prefix
sql Object The "query" component of a DB query/response pair must have an sql parameter.
This is the SQL with optional embedded ? bind variables.
args Array The "query" component of a DB query/response pair may have an args parameter.
This is an Array of arguments, either simple values, or Objects containing extended attributes.
success Integer The "response" component of a DB query/response pair may have a success parameter.
This will be 1 if the query succeeded.
error String The "response" component of a DB query/response pair may have an error parameter.
This should be an error message if (and only if) the success parameter is not 1.
rows Array of Objects The "response" component of a DB query/response pair may have an rows parameter.
This is the result set, an Array of returned Objects.

DIAMETER Message Events

A DIAMETER log event is either the “query” event or the “response” event, and has the following parameters:

Parameter Type Description
path String [Required] One of the following:
  • diameter.tester_to_server
  • diameter.tester_from_server
  • other path with a diameter. prefix
diameter Object [Required] An object which is the decoded representation of the Diameter message. The structure of this object is beyond the scope of this documentation.

FOX Message Events

An FOX log event has the following parameters:

Parameter Type Description
path String [Required] One of the following:
  • fox.lua_from_vws
  • fox.lua_to_vws
  • other path with a fox. prefix
fox Object [Required] An object which is the decoded representation of the FOX message. The structure of this object is beyond the scope of this documentation.
hex String [Required] A hex representation of the on-the-wire FOX-encoded message content.

MML Message Events

An MML log event has the following parameters:

Parameter Type Description
path String [Required] One of the following:
  • mml.tester_to_pi<
  • mml.tester_from_pi
  • mml.piplus_from_client
  • mml.piplus_to_client
  • other path with an mml. prefix
mml String [Required] The MML string content transferred by this event.

REST Message Events

A REST log event is associated with a REST-C-SENT, REST-C-RESPONSE, REST-S-REQUEST, or REST-S-RESPONSE message:

Parameter Type Description
path String [Required] One of the following:
  • rest.tester_to_rest
  • rest.tester_from_rest
  • other path with a rest. prefix
http String [Required] The raw HTTP Response or Request bytes.
rest Object [Required] An object holding REST-layer message attributes.
method String Request-Only The HTTP Request method (which is the REST method).
host String Request-Only The destination HTTP host to which the Request was sent.
port Integer Request-Only The destination HTTP port to which the Request was sent.
uri String Request-Only The URI for the REST/HTTP Request.
code Integer Response-Only Status code for the response, e.g. 200.
content_type String Optional Value of the Content-Type header if present.
content Integer Optional HTTP content body, if present.

SOAP Message Events

A SOAP log event is associated with a SOAP-C-SENT, SOAP-C-RESPONSE, SOAP-S-REQUEST, or SOAP-S-RESPONSE message:

Parameter Type Description
path String [Required] One of the following:
  • soap.tester_to_osd
  • soap.tester_from_osd
  • soap.n2_to_server
  • soap.n2_from_server
  • other path with a soap. prefix
http String [Required] The raw HTTP Response or Request bytes.
soap Object [Required] An object holding SOAP-layer message attributes.
.action String Request-Only The fully-specified SOAP action for the SOAPAction HTTP header.
.message_name String Request-Only The name of the SOAP method within the Body, excluding namespace.
.result_name String Result-Only The name of the result message received, excluding namespace.
.args Object User parameters in the request message or result message.
.message_namespace Object A container for the message namespace information.
.uri String The message namespace URI, if one was used.
.location envelope/message Location of the message or result namespace URI, if one was used.

SMPP Message Events

A SMPP log event is associated with an SMPP-C-SENT, SMPP-C-RESPONSE, SMPP-S-REQUEST, or SMPP-S-RESPONSE message:

Parameter Type Description
path String [Required] One of the following:
  • smpp.smsc_to_esme
  • smpp.smsc_from_esme
  • smpp.esme_to_smsc
  • smpp.esme_from_smsc
  • other path with a smpp. prefix
smpp Object [Required] An object holding SMPP-layer message attributes.
bytes String [Required] The on-the-wire SMPP packet including header.
pdu String [Required] Name of the PDU.
command_id Integer [Required] Numeric identifier for the PDU.
command_status Integer [Required] Status for the command. Always 0 for requests.
sequence_number Integer [Required] Sequence number for the request/response pair.
fields Object Optional Encoded message body fields.
Never present for non-zero status responses.
Fields present depend on the PDU type.

TCAP Message Events

A TCAP log event has the following parameters:

Parameter Type Description
path String [Required] One of the following:
  • tcap.srp_to_scp
  • tcap.srp_from_scp
  • tcap.ssp_to_scp
  • tcap.ssp_from_scp
  • other path with a tcap. prefix
protocol String An optional "hint" as to the contained protocol. Current supported values are:
tcap or inap.
hex String [Required] A hex representation of the on-the-wire TCAP-encoded message content.
annotated Object If the trace log entry has been passed through the TCAP Annotation method, then an annotated object may be present which describes the internal ASN.1 structure of the TCAP and/or INAP contents of the hex bytes. The structure of this Object is beyond the scope of this documentation.

XML Message Events

An XML log event has the following parameters:

Parameter Type Description
path String [Required] One of the following:
  • xml.tester_to_osd
  • xml.tester_from_osd
  • soap.piplus_from_client
  • soap.piplus_to_client
  • other path with a xml. prefix
  • other path with a soap. prefix
xml String [Required] The XML string content transferred by this event.