static void txn_handler(TSHttpTxn txnp, TSCont contp) { int64_t num_txns = 0; INKStatIncrement(transaction_count); num_txns = INKStatIntGet(transaction_count); TSDebug("tag_session", "The number of transactions is %" PRId64, num_txns); }
static void handle_session(TSHttpSsn ssnp, TSCont contp) { int64_t num_ssn = 0; INKStatIncrement(session_count); num_ssn = INKStatIntGet(session_count); TSDebug("tag_session", "The number of sessions is %" PRId64, num_ssn); TSHttpSsnHookAdd(ssnp, TS_HTTP_TXN_START_HOOK, contp); }
/* * This function is only called for redirected requests. It illustrates * several different ways of updating INT64 stats. Some may consider * the particular use of TSDecrementStat() shown below somewhat contrived. */ void update_redirected_method_stats(TSMBuffer bufp, TSMLoc hdr_loc) { const char *txn_method; int length; int64_t tempint; txn_method = TSHttpHdrMethodGet(bufp, hdr_loc, &length); if (NULL != txn_method) { if (0 == strncmp(txn_method, TS_HTTP_METHOD_CONNECT, length)) INKStatIncrement(method_count_redirected_connect); else if (0 == strncmp(txn_method, TS_HTTP_METHOD_DELETE, length)) INKStatIncrement(method_count_redirected_delete); else if (0 == strncmp(txn_method, TS_HTTP_METHOD_GET, length)) INKStatIncrement(method_count_redirected_get); else if (0 == strncmp(txn_method, TS_HTTP_METHOD_HEAD, length)) INKStatFloatAddTo(method_count_redirected_head, 1); else if (0 == strncmp(txn_method, TS_HTTP_METHOD_ICP_QUERY, length)) INKStatFloatAddTo(method_count_redirected_icp_query, 1); else if (0 == strncmp(txn_method, TS_HTTP_METHOD_OPTIONS, length)) { tempint = INKStatIntGet(method_count_redirected_options); tempint++; INKStatIntSet(method_count_redirected_options, tempint); } else if (0 == strncmp(txn_method, TS_HTTP_METHOD_POST, length)) { INKStatDecrement(method_count_redirected_post); INKStatIncrement(method_count_redirected_post); INKStatIncrement(method_count_redirected_post); } else if (0 == strncmp(txn_method, TS_HTTP_METHOD_PURGE, length)) INKStatIncrement(method_count_redirected_purge); else if (0 == strncmp(txn_method, TS_HTTP_METHOD_PUT, length)) INKStatIncrement(method_count_redirected_put); else if (0 == strncmp(txn_method, TS_HTTP_METHOD_TRACE, length)) INKStatIncrement(method_count_redirected_trace); else INKStatIncrement(method_count_redirected_unknown); } }