The OpenEdge telemetry configuration (OpenEdgeTelemetryConfiguration) section allows you to specify the configuration details of the ABL application that you want to trace and the type of data to be collected for each component of the ABL application.

The following table explains various configuration options that you can specify within this section:

Table 1. Configuration options in OpenEdgeTelemetryConfiguration
Property Type Description
trace_procedures String

Specifies the ABL procedures to be traced within an ABL session. Each execution of an ABL procedure and its internal procedures or user-defined functions is represented by a span.

The name of the span is:
  • For procedure—Set to the procedure name.
  • For internal procedures or user-defined functions—Set to include the corresponding internal-procedure name or user-defined function name, followed by the procedure name. For example, mylproc myproc.p represents an internal procedure named mylproc within the procedure myproc.p.

The trace_procedures string contains a list of ABL procedures to be monitored. This string is comma-separated and any leading or trailing whitespaces within the list are ignored.

For information about various configuration options, see Configuration options for procedure tracing.

Note: The procedure names follow the same rules as the ABL RUN statement.
trace_classes String

Specifies the ABL classes to be traced within an ABL session. All code within the ABL class will be traced, including constructors, destructors, methods, and properties. This property also tracks the execution of a .NET method from the ABL application, but not the method executed by the .NET method itself. Each execution is represented by a span, where the span name is set to classname:methodname. Also, the Line attribute is included with the line number of the method definition in relation to the debug listing.

  • For properties—A span attribute called accessor is added with valid values of get or set. This attribute specifies which accessor was executed.
  • For destructors—A tilde symbol (~) is used as a prefix to distinguish it from the constructor. For example, the destructor for myclass is represented as ~myclass.

The trace_classes string contains a comma-separated list of ABL class names that the AVM traces. The default value is an empty string. If the option is not specified or left empty, nothing will be traced from any ABL class execution.

You must specify the class name as <package name>.<class name>.

For information about various configuration options, see Configuration options for classes tracing.

trace_abl_transactions Boolean
Specifies the scope of transactions to be traced within the ABL application. Each transaction is represented by a span named BeginTransaction_<starter-name>. The <starter-name> is the name of a procedure (.p) or an internal procedure or a user-defined function. It can also be in the format of class-name:method for classes where the class-name is qualified with the package name, if applicable. The span includes the following attributes:
  • Line—Represents the line number of the code that initiates the transaction in relation to the debug listing.
  • dblist—Contains a comma-separated list of the logical database names involved in the transaction. If no databases were involved, the attribute is not set. The order of the databases in the list follows the connection order.

The valid values of the trace_abl_transactions property are true or false (case-insensitive). The default value is false.

Note:
  • Transaction tracing is independent of trace filters, that is, all transactions are traced from any of the running ABL code. However, sub-transactions are not traced separately.
  • PAS for OpenEdge agent allows automatic transactions that cover multiple requests. However, in the current release, transaction tracing does not support automatic transactions.
trace_requires_parent Boolean Specifies that the request running in a PAS for OpenEdge session is traced only when the remote process that initiated the request, for example, an ABL client, has enabled OTel tracing.

The valid values of this property are true or false. The default value is false.

When this property is set to false, the AVM traces all requests that meet the configured filtering criteria.

trace_request_start Boolean

Specifies whether to generate a RequestStart span when the PAS for OpenEdge agent begins to process a new request.

The valid values are true or false. The default value is true.

When this property is set to true, the AVM creates a child span for the current trace context at the beginning of the request, and closes it at the end of the request.

The child span is named, RequestStart_AppName_<method/function/procedure/class name being requested> where AppName is the name of the application served by the PAS for OpenEdge agent process.

When this property is set to false, the AVM does not create a child span for the current trace context.