26#define APR_WANT_STRFUNC
38module AP_MODULE_DECLARE_DATA logio_module;
93 return cf->bytes_last_request;
145 cf->bytes_last_request =
cf->bytes_in +
cf->bytes_out;
146 cf->bytes_in =
cf->bytes_out = 0;
250 "Set to 'ON' to enable tracking time to first byte"),
257 static const char *
pre[] = {
"mod_log_config.c",
NULL };
Symbol export macros and hook functions.
APR general purpose library routines.
APR-UTIL registration of functions exported by modules.
APR Standard Headers Support.
void ap_hook_pre_connection(ap_HOOK_pre_connection_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
#define ap_get_module_config(v, m)
#define AP_DECLARE_MODULE(foo)
#define AP_INIT_FLAG(directive, func, mconfig, where, help)
#define ap_set_module_config(v, m, val)
void ap_hook_pre_config(ap_HOOK_pre_config_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
apr_status_t ap_pass_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket)
ap_filter_t * ap_add_input_filter(const char *name, void *ctx, request_rec *r, conn_rec *c)
ap_filter_rec_t * ap_register_output_filter(const char *name, ap_out_filter_func filter_func, ap_init_filter_func filter_init, ap_filter_type ftype)
ap_filter_t * ap_add_output_filter(const char *name, void *ctx, request_rec *r, conn_rec *c)
apr_status_t ap_filter_rec_t * ap_register_input_filter(const char *name, ap_in_filter_func filter_func, ap_init_filter_func filter_init, ap_filter_type ftype)
apr_status_t ap_get_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)
void ap_remove_output_filter(ap_filter_t *f)
void ap_hook_log_transaction(ap_HOOK_log_transaction_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
void ap_hook_insert_filter(ap_HOOK_insert_filter_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
apr_bucket apr_bucket_brigade * a
apr_dbd_transaction_t int mode
#define APR_HOOK_REALLY_FIRST
#define APR_RETRIEVE_OPTIONAL_FN(name)
#define APR_OPTIONAL_FN_TYPE(name)
#define APR_REGISTER_OPTIONAL_FN(name)
#define STANDARD20_MODULE_STUFF
apr_vformatter_buff_t * c
#define apr_pcalloc(p, size)
const void apr_size_t bytes
Apache connection library.
static void ap_register_log_handler(apr_pool_t *p, char *tag, ap_log_handler_fn_t *handler, int def)
Logging Configuration Extension Module for Apache.
static void ap_logio_add_bytes_in(conn_rec *c, apr_off_t bytes)
static const char * log_bytes_in(request_rec *r, char *a)
static int logio_pre_conn(conn_rec *c, void *csd)
static const char * logio_track_ttfb(cmd_parms *cmd, void *in_dir_config, int arg)
static int logio_transaction(request_rec *r)
static const char logio_filter_name[]
static apr_off_t ap_logio_get_last_bytes(conn_rec *c)
static const char * log_bytes_out(request_rec *r, char *a)
static void ap_logio_add_bytes_out(conn_rec *c, apr_off_t bytes)
static const char * log_ttfb(request_rec *r, char *a)
static void register_hooks(apr_pool_t *p)
static int logio_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
static apr_status_t logio_in_filter(ap_filter_t *f, apr_bucket_brigade *bb, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)
static apr_status_t logio_ttfb_filter(ap_filter_t *f, apr_bucket_brigade *b)
static const char logio_ttfb_filter_name[]
static void logio_insert_filter(request_rec *r)
static const char * log_bytes_combined(request_rec *r, char *a)
static const command_rec logio_cmds[]
static void * create_logio_dirconf(apr_pool_t *p, char *dummy)
The representation of a filter chain.
Structure to store things which are per connection.
struct ap_conf_vector_t * conn_config
apr_off_t bytes_last_request
A structure that represents the current request.
struct ap_conf_vector_t * request_config
struct ap_conf_vector_t * per_dir_config
ap_input_mode_t
input filtering modes