TSHttpTxnMilestoneGet - get a specified milestone timer value for
the current transaction
TSHttpTxnMilestoneGet() will fetch a specific
milestone timer value for the transaction txnp. These timers
are calculated during the lifetime of a transaction and are measured in
nanoseconds from the beginning of the transaction. time is used a
pointer to storage to update if the call is successful.
- type
TSMilestonesType
An enumeration of the valid indices of transaction
milestone data.
- The request header from the client has been read and parsed.
- Origin server response has been read and parsed.
- TS_MILESTONE_TLS_HANDSHAKE_END
- Timestamp when the server completes the TLS handshake. 0 if no handshake
is performed (connection reuse).
- TS_MILESTONE_LAST_ENTRY
- A pseudo index which is set to be one more than the last valid index. This
is useful for looping over the data.
- The server connect times predate the transmission of the SYN
packet. That is, before a connection to the origin server is
completed.
- A connection attempt is resolved when no more connection related activity
remains to be done, and the connection is either established or has
failed.
- TS_MILESTONE_UA_CLOSE and TS_MILESTONE_SERVER_CLOSE are
updated continuously during the life of the transaction, every time there
is I/O activity. The updating stops when the corresponding connection is
closed, leaving the last I/O time as the final value.
- The cache OPEN milestones time only the initial setup, the
open, not the full read or write.
- TS_MILESTONE_PLUGIN_ACTIVE and TS_MILESTONE_PLUGIN_TOTAL are
different from the other milestones as they measure elapsed time, not
event time. The value is the elapsed time plus
TS_MILESTONE_SM_START. This was decided to be more convenient
because then these milestones can be handled / displayed in the same way
as the other milestones, as offsets from TS_MILESTONE_SM_START.
TS_MILESTONE_PLUGIN_ACTIVE value is the amount of time
the plugin was active, that is performing computation.
TS_MILESTONE_PLUGIN_TOTAL is the wall time which includes any
time the transaction was blocked while a plugin was active. For instance
if a plugin waits on an external event, that waiting time will be in
TS_MILESTONE_PLUGIN_TOTAL but not in
TS_MILESTONE_PLUGIN_ACTIVE.
TS_SUCCESS if successful and time was updated,
otherwise TS_ERROR.
2023, dev@trafficserver.apache.org