diff -Naur mod_log_sql-1.101/contrib/create_tables.sql mod_log_sql-1.101.patch/contrib/create_tables.sql --- mod_log_sql-1.101/contrib/create_tables.sql 2005-01-11 22:00:11.000000000 +0000 +++ mod_log_sql-1.101.patch/contrib/create_tables.sql 2009-06-30 17:13:33.000000000 +0100 @@ -11,6 +11,7 @@ remote_logname varchar(50) , remote_user varchar(50) , request_duration smallint unsigned , + request_duration_microseconds int unsigned, request_line varchar(255), request_method varchar(10) , request_protocol varchar(10) , diff -Naur mod_log_sql-1.101/docs/manual.html mod_log_sql-1.101.patch/docs/manual.html --- mod_log_sql-1.101/docs/manual.html 2006-11-06 06:06:47.000000000 +0000 +++ mod_log_sql-1.101.patch/docs/manual.html 2009-06-30 17:11:55.000000000 +0100 @@ -1053,7 +1053,7 @@ Mozilla/4.0 (compat; MSIE 6.0; Windows) aCGi request argumentsrequest_argsvarchar(255) user=Smith&cart=1231&item=532 - bBytes transferedbytes_sentint unsigned32561 + bBytes transferedbytes_sentint unsigned32561DMicroseconds to service requestrequest_duration_microsecondsint unsigned239009 c ???Text of cookiecookievarchar(255) Apache=sdyn.fooonline.net 1300102700823 diff -Naur mod_log_sql-1.101/functions13.h mod_log_sql-1.101.patch/functions13.h --- mod_log_sql-1.101/functions13.h 2004-04-29 19:05:24.000000000 +0100 +++ mod_log_sql-1.101.patch/functions13.h 2009-06-30 17:13:33.000000000 +0100 @@ -38,6 +38,12 @@ static const char *extract_request_duration(request_rec *r, char *a) { return ap_psprintf(r->pool, "%ld", time(NULL) - r->request_time); +} + +static const char *extract_request_duration_microseconds(request_rec *r, char *a) +{ + return apr_psprintf(r->pool, "%" APR_TIME_T_FMT, + (apr_time_now() - r->request_time)); } static const char *extract_request_timestamp(request_rec *r, char *a) diff -Naur mod_log_sql-1.101/functions20.h mod_log_sql-1.101.patch/functions20.h --- mod_log_sql-1.101/functions20.h 2006-11-07 02:56:37.000000000 +0000 +++ mod_log_sql-1.101.patch/functions20.h 2009-06-30 17:13:33.000000000 +0100 @@ -94,6 +94,12 @@ { apr_time_t duration = apr_time_now() - r->request_time; return apr_psprintf(r->pool, "%" APR_TIME_T_FMT, apr_time_sec(duration)); +} + +static const char *extract_request_duration_microseconds(request_rec *r, char *a) +{ + apr_time_t duration = apr_time_now() - r->request_time; + return apr_psprintf(r->pool, "%" APR_TIME_T_FMT, duration); } static const char *extract_request_timestamp(request_rec *r, char *a) diff -Naur mod_log_sql-1.101/mod_log_sql.c mod_log_sql-1.101.patch/mod_log_sql.c --- mod_log_sql-1.101/mod_log_sql.c 2006-11-07 02:43:23.000000000 +0000 +++ mod_log_sql-1.101.patch/mod_log_sql.c 2009-06-30 17:13:33.000000000 +0100 @@ -30,7 +30,7 @@ #include "mod_log_sql.h" -/* Configuratino Defaults */ +/* Configuration Defaults */ #define DEFAULT_TRANSFER_LOG_FMT "AbHhmRSsTUuv" #define DEFAULT_NOTES_TABLE_NAME "notes" #define DEFAULT_HIN_TABLE_NAME "headers_in" @@ -466,13 +466,14 @@ #elif defined(WITH_APACHE13) static void log_sql_module_init(server_rec *s, apr_pool_t *p) #endif -{ +{ /* TODO: Add local_address, remote_address, server_name, connection_status */ /* Register handlers */ log_sql_register_item(s,p,'A', extract_agent, "agent", 1, 1); log_sql_register_item(s,p,'a', extract_request_query, "request_args", 1, 1); log_sql_register_item(s,p,'b', extract_bytes_sent, "bytes_sent", 0, 0); - log_sql_register_item(s,p,'c', extract_cookie, "cookie", 0, 1); + log_sql_register_item(s,p,'c', extract_cookie, "cookie", 0, 1); + log_sql_register_item(s,p,'D', extract_request_duration_microseconds, "request_duration_microseconds", 1, 0); /* TODO: Document */ log_sql_register_item(s,p,'f', extract_request_file, "request_file", 0, 1); log_sql_register_item(s,p,'H', extract_request_protocol, "request_protocol", 0, 1); diff -Naur mod_log_sql-1.101/mod_log_sql_dbi.c mod_log_sql-1.101.patch/mod_log_sql_dbi.c --- mod_log_sql-1.101/mod_log_sql_dbi.c 2004-07-14 23:39:26.000000000 +0100 +++ mod_log_sql-1.101.patch/mod_log_sql_dbi.c 2009-06-30 17:13:33.000000000 +0100 @@ -168,6 +168,7 @@ remote_logname varchar(50),\ remote_user varchar(50),\ request_duration smallint unsigned,\ + request_duration_microseconds int unsigned,\ request_line varchar(255),\ request_method varchar(10),\ request_protocol varchar(10),\ diff -Naur mod_log_sql-1.101/mod_log_sql_mysql.c mod_log_sql-1.101.patch/mod_log_sql_mysql.c --- mod_log_sql-1.101/mod_log_sql_mysql.c 2006-11-07 02:43:08.000000000 +0000 +++ mod_log_sql-1.101.patch/mod_log_sql_mysql.c 2009-06-30 17:13:33.000000000 +0100 @@ -198,6 +198,7 @@ remote_logname varchar(50),\ remote_user varchar(50),\ request_duration smallint unsigned,\ + request_duration_microseconds int unsigned,\ request_line varchar(255),\ request_method varchar(10),\ request_protocol varchar(10),\ diff -Naur mod_log_sql-1.101/mod_log_sql_pgsql.c mod_log_sql-1.101.patch/mod_log_sql_pgsql.c --- mod_log_sql-1.101/mod_log_sql_pgsql.c 2005-02-09 01:25:29.000000000 +0000 +++ mod_log_sql-1.101.patch/mod_log_sql_pgsql.c 2009-06-30 17:13:33.000000000 +0100 @@ -176,6 +176,7 @@ remote_logname varchar(50),\ remote_user varchar(50),\ request_duration smallint unsigned,\ + request_duration_microseconds int unsigned,\ request_line varchar(255),\ request_method varchar(10),\ request_protocol varchar(10),\