Flow table
A flow table contains all the metrics that are associated with trace entries. Each row in the flow table represents a trace entry. The flow table concatenates the universal unique identifier (UUID) of the respective IBM unit of work ID (IUOWID) that the table contains to the front of the table name.
For more information about the UUID, see UOW table.
| Table header | Description |
|---|---|
| TRACE_TYPE | The type of trace that is being collected, which might be one of the following values:
|
| ECB_SVM | The system virtual memory (SVM) address of the
ECB, which is in the form of
ecbsvm-tod-index-pgmname, where:
|
| TIMESTAMP_UTC | The Coordinated Universal Time (UTC) timestamp that is converted from the time-of-day (TOD) timestamp. For example, 2021/11/18 15:39:47:047.030232629 |
| TPF_TIME_OF_DAY | The z/TPF
time-of-day (TOD) value in hexadecimal format. For example, DAA22409F4CD8A140000000A9C |
| ECB_LAST_DISPATCH_TIME | The last time this ECB was dispatched according to the z/TPF virtual timer. For example, 0009CA5088C20340 |
| CURRENT_VIRTUAL_TIMER | The current value of the z/TPF virtual
timer at collection. For example, 00028DBADA09AA9E |
| CURRENT_STACK_PTR | The current position of the stack pointer for the trace entry. For example, 0009CA5088FC37CC |
| TRACE_GROUP_NAME | The trace group name. For example, IBM_DEFT |
| SUBSYSTEM | The z/TPF subsystem that the trace entry
was collected from. For example, BSS |
| SUBSYSTEM_USER | The z/TPF
subsystem user (SSU) that the trace entry was collected from.
For example, HPN |
| ISTREAM | The I-stream number of the I-stream that was running when the trace entry
was collected. For example, 1 |
| SHARED_OBJECT_NAME | The shared object that this trace entry comes from. For example, QZZ5 |
| SHARED_OBJECT_VERSION | The version of the shared object that this trace entry comes from. If no version was specified for this shared object, this value is null. |
| SOURCE_NAME | The source file name of the trace entry if the
TRACE_TYPE field value is function for this
trace entry. For example, qzz5, cnvp, or ccinfc |
| TRACE_NAME | The program name of the trace entry if the TRACE_TYPE field value is
macro for this trace entry. For example, QZZ5 |
| OBJECT_DISPLACEMENT | The offset into the object that is indicated in the SOURCE_NAME field
where this trace entry was collected. For example, 0000000000000356 |
| FUNCTION_NAME | The name of the function that the trace entry resided in during collection.
For example, cinfc, keyrc_okey, or dlayc If the TRACE_TYPE field value is macro, this field is null. |
| FUNCTION_TRACE_TYPE | One of the following values:
|
| FUNCTION_PARAMS | The parameters that were passed to the function call when the
FUNCTION_TRACE_TYPE field value is call. The
parameters are displayed as a JSON list in this field. For example, [{"name":"","type":"void","value":"000000001B2235B0"}] |
| CALLER_SOURCE_NAME | The source file name of the function that called the function that is indicated in the
FUNCTION_NAME field. For example, qzz5 or cnvp |
| CALLER_SHARED_OBJECT | The shared object name of the function that called the function that is indicated in the
FUNCTION_NAME field. For example, CTAL, QZZ5, or CP |
| SHARED_OBJECT_OFFSET | The offset into the shared object where the trace entry was collected. The name of the shared
object is in the SHARED_OBJECT_NAME field. For example, 000000000002C3C6 |
| LOADSET_NAME | The loadset that this trace entry was collected in. For example, BASE or MATRTMC |
| ERRNO | A number that represents the reason for the last error. For example, if an fopen function call fails, this field contains a number that represents the reason that the fopen function call failed. The value in this field is not cleared. Therefore, this field might contain old data. |
| MACRO_NAME | The name of the z/TPF
macro that was called. For example, CINFC or DLAYC If the FUNCTION_TRACE_TYPE field contains a value other than macro, this field is null. |
| MACRO_DATA | A string that provides additional information about the z/TPF macro that was called. For example, PAGE-00000000B189C000,ADDRESS-000000000018C606 |
| PSW | The program status word (PSW) when a z/TPF macro was called. For example, 0715000180000000000000008FBD4082 |
| TARGET_PROGRAM | The target program that was called by the C shared object (CSO) or BAL shared object (BSO) in this trace entry. If the FUNCTION_TRACE_TYPE field contains a value other than cbso, this field is null. |
| TRACE_INFO | A free-form text string of as many as 80 characters that was added to trace by using the tpf_trace_info function. |
| RETURN_INFO_TYPE | The return type of the function. For example, void or int If the FUNCTION_TRACE_TYPE field contains a value other than return, this field is null. |
| RETURN_INFO_VALUE | The return value of the function. For example, 00000000B18A22CC If the FUNCTION_TRACE_TYPE field contains a value other than return, this field is null. |
| OPT_LEVEL | The compile optimization level of the C/C++ function. For example, O0 or O3 If this trace entry is not for a C/C++ function, this field is null. |
| NESTING_LEVEL | The number of stack frames that are on the stack. This value increases when programs are entered and decreases when programs are exited. |
| SVC_COUNT | The number of supervisor calls (SVCs). These SVCs are added up and attributed to the entry point, a C/CPP function, or an assembler program that called the SVC. |
| CPU_DD | The DEFRC/DLAYC time in nanoseconds. This value, which is estimated by the control program directly, indicates the amount of time that the message was doing unproductive work as a result of the request to defer, delay, or yield to the virtual file access count (VCT) list, for example, when an ECB was waiting for resources to become available. |
| CPU_EXIST | The estimated time in nanoseconds that a function or an assembler program is on the stack
during the trace. This value is the sum of the CPU_USED and CPU_WAIT values. This value is estimated by using the start time and end time of the call and return trace entries. However, if the call and return trace entries are not found for a program or function, the time on the stack is reported as the time on the stack during the collection. For example, the QZZ5 program might have already been on the stack when the QZZ6 program is entered, and then QZZ6 calls the EXITC macro. The CPU_EXIST time for QZZ5 is calculated from the start of QZZ6 to the EXITC macro call, which is the time that QZZ5 is known to be on the stack. |
| CPU_USED | The actual processing time in nanoseconds that was used by the message. This value includes the CPU_DD time but not the CPU_WAIT time. This value is estimated by using the z/TPF virtual timer to accumulate the processing time. |
| CPU_WAIT | The time in nanoseconds that the message was not processing, for example, when a FIND, COHRC, or ENQC macro was called, or when timeslice occurred. This value is estimated by subtracting the dispatch time from the z/TPF virtual timer. |