Author: ahristov
Date: 2007-09-05 21:00:31 +0200 (Wed, 05 Sep 2007)
New Revision: 989
Modified:
trunk/mysqlnd/mysqlnd.c
trunk/mysqlnd/mysqlnd_enum_n_def.h
trunk/mysqlnd/mysqlnd_ps.c
trunk/mysqlnd/mysqlnd_result.c
trunk/mysqlnd/mysqlnd_statistics.c
trunk/mysqlnd/mysqlnd_wireprotocol.c
Log:
More stats that speak for themselves
Modified: trunk/mysqlnd/mysqlnd.c
===================================================================
--- trunk/mysqlnd/mysqlnd.c 2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd.c 2007-09-05 19:00:31 UTC (rev 989)
@@ -485,11 +485,15 @@
host?host:"", user?user:"", db?db:"", port, mysql_flags,
conn? conn->persistent:0, conn? conn->state:-1);
- if (conn && conn->state > CONN_ALLOCED) {
- MYSQLND_INC_CONN_STATISTIC(&conn->stats, STAT_CLOSE_IMPLICIT);
- reconnect = TRUE;
+ DBG_INF_FMT("state=%d", conn->state);
+ if (conn && conn->state > CONN_ALLOCED && conn->state ) {
+ DBG_INF("Connecting on a connected handle.");
- mysqlnd_send_close(conn TSRMLS_CC);
+ if (conn->state < CONN_QUIT_SENT) {
+ MYSQLND_INC_CONN_STATISTIC(&conn->stats, STAT_CLOSE_IMPLICIT);
+ reconnect = TRUE;
+ mysqlnd_send_close(conn TSRMLS_CC);
+ }
conn->m->free_contents(conn TSRMLS_CC);
MYSQLND_DEC_CONN_STATISTIC(&conn->stats, STAT_OPENED_CONNECTIONS);
@@ -528,6 +532,7 @@
{
transport_len = spprintf(&transport, 0, "tcp://%s:%d", host, port);
}
+ DBG_INF_FMT("transport=%p", transport);
if (conn->persistent) {
struct timeval tv;
Modified: trunk/mysqlnd/mysqlnd_enum_n_def.h
===================================================================
--- trunk/mysqlnd/mysqlnd_enum_n_def.h 2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_enum_n_def.h 2007-09-05 19:00:31 UTC (rev 989)
@@ -302,9 +302,15 @@
STAT_PS_UNBUFFERED_SETS,
STAT_FLUSHED_NORMAL_SETS,
STAT_FLUSHED_PS_SETS,
- STAT_ROWS_FETCHED_FROM_SERVER,
- STAT_ROWS_FETCHED_FROM_CLIENT,
- STAT_ROWS_SKIPPED,
+ STAT_ROWS_FETCHED_FROM_SERVER_NORMAL,
+ STAT_ROWS_FETCHED_FROM_SERVER_PS,
+ STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_BUF,
+ STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_UNBUF,
+ STAT_ROWS_FETCHED_FROM_CLIENT_PS_BUF,
+ STAT_ROWS_FETCHED_FROM_CLIENT_PS_UNBUF,
+ STAT_ROWS_FETCHED_FROM_CLIENT_PS_CURSOR,
+ STAT_ROWS_SKIPPED_NORMAL,
+ STAT_ROWS_SKIPPED_PS,
STAT_COPY_ON_WRITE_SAVED,
STAT_COPY_ON_WRITE_PERFORMED,
STAT_CMD_BUFFER_TOO_SMALL,
Modified: trunk/mysqlnd/mysqlnd_ps.c
===================================================================
--- trunk/mysqlnd/mysqlnd_ps.c 2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_ps.c 2007-09-05 19:00:31 UTC (rev 989)
@@ -754,6 +754,8 @@
result->row_packet->bit_fields_total_len =
result->meta->bit_fields_total_len;
result->lengths = NULL;
+ MYSQLND_INC_CONN_STATISTIC(&stmt->conn->stats,
STAT_ROWS_FETCHED_FROM_CLIENT_PS_CURSOR);
+
stmt->state = MYSQLND_STMT_USE_OR_STORE_CALLED;
/* No multithreading issues as we don't share the connection :) */
@@ -925,7 +927,7 @@
stmt->result_zvals_separated_once = TRUE;
}
- MYSQLND_INC_CONN_STATISTIC(&stmt->conn->stats, STAT_ROWS_FETCHED_FROM_CLIENT);
+ MYSQLND_INC_CONN_STATISTIC(&stmt->conn->stats,
STAT_ROWS_FETCHED_FROM_CLIENT_PS_UNBUF);
ret = stmt->result->m.fetch_row(stmt->result, (void*)stmt, 0, fetched_anything
TSRMLS_CC);
DBG_RETURN(ret);
Modified: trunk/mysqlnd/mysqlnd_result.c
===================================================================
--- trunk/mysqlnd/mysqlnd_result.c 2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_result.c 2007-09-05 19:00:31 UTC (rev 989)
@@ -519,7 +519,7 @@
row_packet->fields = NULL;
row_packet->row_buffer = NULL;
- MYSQLND_INC_CONN_STATISTIC(&result->conn->stats,
STAT_ROWS_FETCHED_FROM_CLIENT);
+ MYSQLND_INC_CONN_STATISTIC(&result->conn->stats,
STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_UNBUF);
if (!row_packet->skip_extraction) {
HashTable *row_ht = Z_ARRVAL_P(row);
@@ -798,7 +798,9 @@
transfered above.
*/
}
- MYSQLND_INC_CONN_STATISTIC_W_VALUE(&conn->stats, STAT_ROWS_FETCHED_FROM_CLIENT,
+ MYSQLND_INC_CONN_STATISTIC_W_VALUE(&conn->stats,
+ binary_protocol? STAT_ROWS_FETCHED_FROM_CLIENT_PS_BUF:
+ STAT_ROWS_FETCHED_FROM_CLIENT_NORMAL_BUF,
set->row_count);
/* Finally clean */
Modified: trunk/mysqlnd/mysqlnd_statistics.c
===================================================================
--- trunk/mysqlnd/mysqlnd_statistics.c 2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_statistics.c 2007-09-05 19:00:31 UTC (rev 989)
@@ -56,9 +56,15 @@
{ STR_W_LEN("ps_unbuffered_sets") },
{ STR_W_LEN("flushed_normal_sets") },
{ STR_W_LEN("flushed_ps_sets") },
- { STR_W_LEN("rows_fetched_from_server") },
- { STR_W_LEN("rows_fetched_from_client") },
- { STR_W_LEN("rows_skipped") },
+ { STR_W_LEN("rows_fetched_from_server_normal") },
+ { STR_W_LEN("rows_fetched_from_server_ps") },
+ { STR_W_LEN("rows_fetched_from_client_normal_buffered") },
+ { STR_W_LEN("rows_fetched_from_client_normal_unbuffered") },
+ { STR_W_LEN("rows_fetched_from_client_ps_buffered") },
+ { STR_W_LEN("rows_fetched_from_client_ps_unbuffered") },
+ { STR_W_LEN("rows_fetched_from_client_ps_cursor") },
+ { STR_W_LEN("rows_skipped_normal") },
+ { STR_W_LEN("rows_skipped_ps") },
{ STR_W_LEN("copy_on_write_saved") },
{ STR_W_LEN("copy_on_write_performed") },
{ STR_W_LEN("command_buffer_too_small") },
Modified: trunk/mysqlnd/mysqlnd_wireprotocol.c
===================================================================
--- trunk/mysqlnd/mysqlnd_wireprotocol.c 2007-09-05 13:37:29 UTC (rev 988)
+++ trunk/mysqlnd/mysqlnd_wireprotocol.c 2007-09-05 19:00:31 UTC (rev 989)
@@ -1643,7 +1643,9 @@
/* Seems we have 3 bytes reserved for future use */
}
} else {
- MYSQLND_INC_CONN_STATISTIC(&conn->stats, STAT_ROWS_FETCHED_FROM_SERVER);
+ MYSQLND_INC_CONN_STATISTIC(&conn->stats,
+ packet->binary_protocol? STAT_ROWS_FETCHED_FROM_SERVER_PS:
+ STAT_ROWS_FETCHED_FROM_SERVER_NORMAL);
packet->eof = FALSE;
/* packet->field_count is set by the user of the packet */
@@ -1671,7 +1673,9 @@
php_mysqlnd_rowp_read_text_protocol(packet, conn, p, data_size TSRMLS_CC);
}
} else {
- MYSQLND_INC_CONN_STATISTIC(&conn->stats, STAT_ROWS_SKIPPED);
+ MYSQLND_INC_CONN_STATISTIC(&conn->stats,
+ packet->binary_protocol? STAT_ROWS_SKIPPED_NORMAL:
+ STAT_ROWS_SKIPPED_PS);
}
}
| Thread |
|---|
| • PHP mysqlnd svn commit: r989 - trunk/mysqlnd | ahristov | 5 Sep |