summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/mysqlnd_statistics.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mysqlnd/mysqlnd_statistics.c')
-rw-r--r--ext/mysqlnd/mysqlnd_statistics.c49
1 files changed, 37 insertions, 12 deletions
diff --git a/ext/mysqlnd/mysqlnd_statistics.c b/ext/mysqlnd/mysqlnd_statistics.c
index 4c93e0f79e..66d9bacd44 100644
--- a/ext/mysqlnd/mysqlnd_statistics.c
+++ b/ext/mysqlnd/mysqlnd_statistics.c
@@ -23,20 +23,13 @@
#include "mysqlnd.h"
#include "mysqlnd_priv.h"
#include "mysqlnd_statistics.h"
-
-
-typedef struct st_mysqlnd_string
-{
- char *s;
- size_t l;
-} MYSQLND_STRING;
+#include "mysqlnd_debug.h"
#define STR_W_LEN(str) str, (sizeof(str) - 1)
/* {{{ mysqlnd_stats_values_names
*/
-static
const MYSQLND_STRING mysqlnd_stats_values_names[STAT_LAST] =
{
{ STR_W_LEN("bytes_sent") },
@@ -55,15 +48,29 @@ const MYSQLND_STRING mysqlnd_stats_values_names[STAT_LAST] =
{ 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("ps_prepared_never_executed") },
+ { STR_W_LEN("ps_prepared_once_executed") },
+ { STR_W_LEN("rows_fetched_from_server_normal") },
+ { STR_W_LEN("rows_fetched_from_server_ps") },
+ { STR_W_LEN("rows_buffered_from_client_normal") },
+ { STR_W_LEN("rows_buffered_from_client_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") },
{ STR_W_LEN("connect_success") },
{ STR_W_LEN("connect_failure") },
{ STR_W_LEN("connection_reused") },
+ { STR_W_LEN("reconnect") },
+ { STR_W_LEN("pconnect_success") },
+ { STR_W_LEN("active_connections") },
+ { STR_W_LEN("active_persistent_connections") },
{ STR_W_LEN("explicit_close") },
{ STR_W_LEN("implicit_close") },
{ STR_W_LEN("disconnect_close") },
@@ -72,10 +79,25 @@ const MYSQLND_STRING mysqlnd_stats_values_names[STAT_LAST] =
{ STR_W_LEN("implicit_free_result") },
{ STR_W_LEN("explicit_stmt_close") },
{ STR_W_LEN("implicit_stmt_close") },
+ { STR_W_LEN("mem_emalloc_count") },
+ { STR_W_LEN("mem_emalloc_ammount") },
+ { STR_W_LEN("mem_ecalloc_count") },
+ { STR_W_LEN("mem_ecalloc_ammount") },
+ { STR_W_LEN("mem_erealloc_count") },
+ { STR_W_LEN("mem_erealloc_ammount") },
+ { STR_W_LEN("mem_efree_count") },
+ { STR_W_LEN("mem_malloc_count") },
+ { STR_W_LEN("mem_malloc_ammount") },
+ { STR_W_LEN("mem_calloc_count") },
+ { STR_W_LEN("mem_calloc_ammount") },
+ { STR_W_LEN("mem_realloc_calloc") },
+ { STR_W_LEN("mem_realloc_ammount") },
+ { STR_W_LEN("mem_free_count") }
};
/* }}} */
+/* {{{ mysqlnd_fill_stats_hash */
void
mysqlnd_fill_stats_hash(const MYSQLND_STATS * const stats, zval *return_value TSRMLS_DC ZEND_FILE_LINE_DC)
{
@@ -105,19 +127,22 @@ mysqlnd_fill_stats_hash(const MYSQLND_STATS * const stats, zval *return_value TS
}
}
}
+/* }}} */
/* {{{ _mysqlnd_get_client_stats */
PHPAPI void _mysqlnd_get_client_stats(zval *return_value TSRMLS_DC ZEND_FILE_LINE_DC)
{
MYSQLND_STATS stats, *stats_ptr = mysqlnd_global_stats;
-
+ DBG_ENTER("_mysqlnd_get_client_stats");
if (!stats_ptr) {
memset(&stats, 0, sizeof(stats));
stats_ptr = &stats;
}
mysqlnd_fill_stats_hash(stats_ptr, return_value TSRMLS_CC ZEND_FILE_LINE_CC);
+ DBG_VOID_RETURN;
}
+/* }}} */
/*