Active Transactions

Long-running transactions are a recurring theme with legacy OpenEdge code. Use this screen to monitor the number and duration of active transactions.

ProTop RT Label Alertable Metric* Description
Usr# usrnum Unique user number
Name userName User login name
PID userPID Operating System process id
Flags userFlags See below
Device userDev The user's device. For a shared memory session this is a tty and for a client/server connection it is the hostname or IP address of the client
Trx# trx-num Unique transaction number
BI Clstr trx-rl The BI cluster number at the start of the transaction
Stat trx-st The transaction status
Durati N/A Duration of the transaction in hh:mm:ss.
Idle idleStr The amount of time that the process has not done any DB IO. Same as the dbIdleSec column in hh:mm:ss format
Wait Resource (dbkey) trx-wait Indicates if the transaction is waiting on something and what that something is. "–" means the transaction is not waiting

*Requires data collector "ActiveTRX" in pt3agent.cfg. With the commercial version of ProTop, you can configure alerts using the metric names in this column. For a full list of metrics, see the Alertable Metrics section.

Flag values

Flag Description
S Shared memory client
R Remote client
L Login broker
@ Server
H helper
O Other
4 4GL Client
W Webspeed client
B Batch client
A Application server
X Unknown
* Transaction active
d Disconnecting
r Undo or error
I STOP or Ctrl-c
N- Notification pending
-N Notification in process
NN Notification pending and in process

Insight into Active Transactions

Status (Stat): Only ACTIVE transactions affect the Before-Image file size. A process that BEGINs a transaction but never modifies any data will not prevent the associated BI cluster from being recycled.

Duration (Durati): At times there may be other values than hh:mm:ss. For example, "REC" signifies that the transaction is waiting for a record. Any other code should be transient.

DB Idle Seconds (Idle): This metric tells you if the process is busy doing stuff or if maybe, just maybe, someone went to lunch (or went home) and left an open transaction. This is particularly useful in warehouse applications where WiFi access can be spotty and users often lose their connection on their RF gun and start a new session rather, leaving an open transaction on the abandoned session.