session_start_counters(t, ts);
}
-static void inline trace_term(struct session *s, unsigned int code)
-{
- s->term_trace <<= TT_BIT_SHIFT;
- s->term_trace |= code;
-}
-
/* Increase the number of cumulated HTTP requests in the tracked counters */
static void inline session_inc_http_req_ctr(struct session *s)
{
#define SN_BE_TRACK_SC1 0x00100000 /* backend tracks stick-counter 1 */
#define SN_BE_TRACK_SC2 0x00200000 /* backend tracks stick-counter 2 */
-/* Termination sequence tracing.
- *
- * These values have to be set into the field term_trace of a session when
- * closing a session (half or full). They are only meant for post-mortem
- * analysis. The value must be assigned this way :
- * trace_term(s, TT_XXX);
- *
- * One TT_XXX value is assigned to each location in the code which may be
- * involved in a connection closing. Since a full session close generally
- * involves 4 steps, we will be able to read these steps afterwards by simply
- * checking the code. Value TT_NONE is zero and must never be set, as it means
- * the connection was not closed. Value TT_ANON must be used when no value was
- * assigned to a specific code part. Never ever reuse an already assigned code
- * as it will defeat the purpose of this trace. It is wise to use a per-file
- * anonymous value though.
- */
-#define TT_BIT_SHIFT 8
-enum {
- TT_NONE = 0,
- TT_ANON = 1,
- TT_CLIENT = 0x10,
- TT_CLIENT_1,
- TT_CLIENT_2,
- TT_HTTP_CLI = 0x20,
- TT_HTTP_CLI_1,
- TT_HTTP_CLI_2,
- TT_HTTP_CLI_3,
- TT_HTTP_CLI_4,
- TT_HTTP_CLI_5,
- TT_HTTP_CLI_6,
- TT_HTTP_CLI_7,
- TT_HTTP_CLI_8,
- TT_HTTP_CLI_9,
- TT_HTTP_CLI_10,
- TT_HTTP_SRV = 0x30,
- TT_HTTP_SRV_1,
- TT_HTTP_SRV_2,
- TT_HTTP_SRV_3,
- TT_HTTP_SRV_4,
- TT_HTTP_SRV_5,
- TT_HTTP_SRV_6,
- TT_HTTP_SRV_7,
- TT_HTTP_SRV_8,
- TT_HTTP_SRV_9,
- TT_HTTP_SRV_10,
- TT_HTTP_SRV_11,
- TT_HTTP_SRV_12,
- TT_HTTP_SRV_13,
- TT_HTTP_SRV_14,
- TT_HTTP_CNT = 0x40,
- TT_HTTP_CNT_1,
- TT_HTTP_URI = 0x50,
- TT_HTTP_URI_1,
-};
-
/* WARNING: if new fields are added, they must be initialized in event_accept()
* and freed in session_free() !
struct proxy *fe; /* the proxy this session depends on for the client side */
struct proxy *be; /* the proxy this session depends on for the server side */
int flags; /* some flags describing the session */
- unsigned term_trace; /* term trace: 4*8 bits indicating which part of the code closed */
struct channel *req; /* request buffer */
struct channel *rep; /* response buffer */
struct stream_interface si[2]; /* client and server stream interfaces */
LIST_INIT(&s->back_refs);
s->flags = SN_ASSIGNED|SN_ADDR_SET;
- s->term_trace = 0;
/* if this session comes from a known monitoring system, we want to ignore
* it as soon as possible, which means closing it immediately for TCP.