Provided by: trafficserver-dev_5.3.0-2ubuntu2_amd64
NAME
TSHttpTxnMilestoneGet - get a specified milestone timer value for the current transaction
SYNOPSIS
#include <ts/ts.h> TSReturnCode TSHttpTxnMilestoneGet(TSHttpTxn txnp, TSMilestonesType milestone, TSHRTime* time)
DESCRIPTION
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. TSMilestonesType ┌─────────────────────────────────────┬──────────────────────────────────┐ │Value │ Milestone │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_UA_BEGIN │ The client connection is │ │ │ accepted. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_UA_READ_HEADER_DONE │ The request header from the │ │ │ client has been read and parsed. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_UA_BEGIN_WRITE │ The response header write to the │ │ │ client starts. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_UA_CLOSE │ Last I/O activity on the client │ │ │ socket, or connection abort. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_SERVER_FIRST_CONNECT │ First time origin server connect │ │ │ attempted or shared shared │ │ │ session attached. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_SERVER_CONNECT │ Most recent time origin server │ │ │ connect attempted or shared │ │ │ session attached. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_SERVER_CONNECT_END │ More recent time a connection │ │ │ attempt was resolved. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_SERVER_BEGIN_WRITE │ First byte is written to the │ │ │ origin server connection. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_SERVER_FIRST_READ │ First byte is read from │ │ │ connection to origin server. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_SERVER_READ_HEADER_DONE │ Origin server response has been │ │ │ read and parsed. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_SERVER_CLOSE │ Last I/O activity on origin │ │ │ server connection. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_CACHE_OPEN_READ_BEGIN │ Initiate read of the cache. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_CACHE_OPEN_READ_END │ Initial cache read has resolved. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_CACHE_OPEN_WRITE_BEGIN │ Start open for cache write. │ └─────────────────────────────────────┴──────────────────────────────────┘ │TS_MILESTONE_CACHE_OPEN_WRITE_END │ Cache has been opened for write. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_DNS_LOOKUP_BEGIN │ Initiate host resolution in │ │ │ HostDB │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_DNS_LOOKUP_END │ Host resolution resolves. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_SM_START │ Transaction state machine is │ │ │ initialized. │ ├─────────────────────────────────────┼──────────────────────────────────┤ │TS_MILESTONE_SM_FINISH │ Transaction has finished, state │ │ │ machine final logging has │ │ │ started. │ └─────────────────────────────────────┴──────────────────────────────────┘ • 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.
RETURN VALUES
TS_SUCCESS if successful and time was updated, otherwise TS_ERROR.
SEE ALSO
TSAPI(3ts)
COPYRIGHT
2014, dev@trafficserver.apache.org