bionic (3) TSHttpTxnMilestoneGet.3ts.gz

Provided by: trafficserver-dev_7.1.2+ds-3_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.

       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.    │
                    ├─────────────────────────────────────┼───────────────────────────────────────┤
                    │TS_MILESTONE_PLUGIN_ACTIVE           │ Amount  of  time  plugins were active │
                    │                                     │ plus start time.                      │
                    ├─────────────────────────────────────┼───────────────────────────────────────┤
                    │TS_MILESTONE_PLUGIN_TOTAL            │ Wall time while plugins  were  active │
                    │                                     │ plus start time.                      │
                    └─────────────────────────────────────┴───────────────────────────────────────┘

       • The  server  connect  times  predate  the  transmission  of the :literal:`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)

       2018, dev@trafficserver.apache.org