Provided by: trafficserver-dev_8.1.1+ds-1.1_amd64 bug

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.

       type TSMilestonesType
                 An enumeration of the valid indices of transaction milestone data.

                 TS_MILESTONE_SM_START
                        Transaction state machine is initialized.

                 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_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_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_UA_BEGIN_WRITE
                        The response header write to the client starts.

                 TS_MILESTONE_SERVER_CLOSE
                        Last I/O activity on origin server connection.

                 TS_MILESTONE_UA_CLOSE
                        Last I/O activity on the client socket, or connection abort.

                 TS_MILESTONE_SM_FINISH
                        Transaction has finished, state machine final logging has started.

                 TS_MILESTONE_PLUGIN_ACTIVE
                        Amount of time plugins were active (running plugin code).

                 TS_MILESTONE_PLUGIN_TOTAL
                        Amount of time spent in or waiting for plugins.

              TS_MILESTONE_TLS_HANDSHAKE_START
                     Timestamp  when  the  server  starts the TLS handshake. 0 if no handshake is
                     performed (connection reuse).

              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.

RETURN VALUES

       TS_SUCCESS if successful and time was updated, otherwise TS_ERROR.

SEE ALSO

       TSAPI(3ts)

COPYRIGHT

       2021, dev@trafficserver.apache.org