Commit fef79dd3 authored by John Esmet's avatar John Esmet Committed by Yoni Fogel

[t:3988] #3988 Add some more status info, still need to fix at ydb and handlerton.

git-svn-id: file:///svn/toku/tokudb@36865 c7de825b-a66e-492c-adef-691d508d4ae1
parent fb0cbd42
......@@ -92,6 +92,8 @@ typedef struct __toku_engine_status {
u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */
u_int64_t txn_close; /* txn completions (should equal commit+abort) */
u_int64_t txn_num_open; /* should be begin - close */
u_int64_t txn_max_open; /* max value of num_open */
u_int64_t txn_oldest_live; /* oldest extant txn txnid */
char txn_oldest_live_starttime[26]; /* oldest extant txn start time */
u_int64_t next_lsn; /* lsn that will be assigned to next log entry */
......@@ -135,6 +137,11 @@ typedef struct __toku_engine_status {
u_int64_t range_write_locks; /* total range write locks taken */
u_int64_t range_write_locks_fail; /* total range write locks unable to be taken */
u_int64_t range_out_of_write_locks; /* total times range write locks exhausted */
u_int64_t range_lt_create; /* number of locktrees created */
u_int64_t range_lt_create_fail; /* number of locktree create failures */
u_int64_t range_lt_destroy; /* number of locktrees destroyed */
u_int64_t range_lt_num; /* number of locktrees (should be created - destroyed) */
u_int64_t range_lt_num_max; /* max number of locktrees that have existed simultaneously */
u_int64_t directory_read_locks; /* total directory read locks taken */
u_int64_t directory_read_locks_fail; /* total directory read locks unable to be taken */
u_int64_t directory_write_locks; /* total directory write locks taken */
......@@ -153,6 +160,12 @@ typedef struct __toku_engine_status {
u_int64_t multi_deletes_fail; /* ydb multi_row delete operations that failed, dictionary count */
u_int64_t multi_updates; /* ydb row update operations, dictionary count */
u_int64_t multi_updates_fail; /* ydb row update operations that failed, dictionary count */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
u_int64_t num_db_open; /* number of db_open operations */
u_int64_t num_db_close; /* number of db_close operations */
u_int64_t num_open_db; /* number of currently open dbs */
u_int64_t max_open_dbs; /* max number of simultaneously open dbs */
u_int64_t le_updates; /* leafentry update operations */
u_int64_t le_updates_broadcast; /* leafentry update broadcast operations */
u_int64_t descriptor_set; /* descriptor set operations */
......@@ -192,8 +205,18 @@ typedef struct __toku_engine_status {
uint64_t flush_cascades_4; /* number of flushes that triggered 4 cascading flushes */
uint64_t flush_cascades_5; /* number of flushes that triggered 5 cascading flushes */
uint64_t flush_cascades_gt_5; /* number of flushes that triggered more than 5 cascading flushes */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
uint64_t disk_flush_leaf; /* number of leaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_nonleaf; /* number of nonleaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_leaf_for_checkpoint; /* number of leaf nodes flushed to disk for checkpoint */
uint64_t disk_flush_nonleaf_for_checkpoint; /* number of nonleaf nodes flushed to disk for checkpoint */
uint64_t destroy_leaf; /* number of leaf nodes destroyed */
uint64_t destroy_nonleaf; /* number of nonleaf nodes destroyed */
uint64_t msg_bytes_in; /* how many bytes of messages injected at root (for all trees)*/
uint64_t msg_bytes_out; /* how many bytes of messages flushed from h1 nodes to leaves*/
uint64_t msg_bytes_curr; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_bytes_max; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_num; /* how many messages injected at root*/
uint64_t msg_num_broadcast; /* how many broadcast messages injected at root*/
u_int64_t le_max_committed_xr; /* max committed transaction records in any packed le */
u_int64_t le_max_provisional_xr; /* max provisional transaction records in any packed le */
u_int64_t le_max_memsize; /* max memsize of any packed le */
......
......@@ -92,6 +92,8 @@ typedef struct __toku_engine_status {
u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */
u_int64_t txn_close; /* txn completions (should equal commit+abort) */
u_int64_t txn_num_open; /* should be begin - close */
u_int64_t txn_max_open; /* max value of num_open */
u_int64_t txn_oldest_live; /* oldest extant txn txnid */
char txn_oldest_live_starttime[26]; /* oldest extant txn start time */
u_int64_t next_lsn; /* lsn that will be assigned to next log entry */
......@@ -135,6 +137,11 @@ typedef struct __toku_engine_status {
u_int64_t range_write_locks; /* total range write locks taken */
u_int64_t range_write_locks_fail; /* total range write locks unable to be taken */
u_int64_t range_out_of_write_locks; /* total times range write locks exhausted */
u_int64_t range_lt_create; /* number of locktrees created */
u_int64_t range_lt_create_fail; /* number of locktree create failures */
u_int64_t range_lt_destroy; /* number of locktrees destroyed */
u_int64_t range_lt_num; /* number of locktrees (should be created - destroyed) */
u_int64_t range_lt_num_max; /* max number of locktrees that have existed simultaneously */
u_int64_t directory_read_locks; /* total directory read locks taken */
u_int64_t directory_read_locks_fail; /* total directory read locks unable to be taken */
u_int64_t directory_write_locks; /* total directory write locks taken */
......@@ -153,6 +160,12 @@ typedef struct __toku_engine_status {
u_int64_t multi_deletes_fail; /* ydb multi_row delete operations that failed, dictionary count */
u_int64_t multi_updates; /* ydb row update operations, dictionary count */
u_int64_t multi_updates_fail; /* ydb row update operations that failed, dictionary count */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
u_int64_t num_db_open; /* number of db_open operations */
u_int64_t num_db_close; /* number of db_close operations */
u_int64_t num_open_db; /* number of currently open dbs */
u_int64_t max_open_dbs; /* max number of simultaneously open dbs */
u_int64_t le_updates; /* leafentry update operations */
u_int64_t le_updates_broadcast; /* leafentry update broadcast operations */
u_int64_t descriptor_set; /* descriptor set operations */
......@@ -192,8 +205,18 @@ typedef struct __toku_engine_status {
uint64_t flush_cascades_4; /* number of flushes that triggered 4 cascading flushes */
uint64_t flush_cascades_5; /* number of flushes that triggered 5 cascading flushes */
uint64_t flush_cascades_gt_5; /* number of flushes that triggered more than 5 cascading flushes */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
uint64_t disk_flush_leaf; /* number of leaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_nonleaf; /* number of nonleaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_leaf_for_checkpoint; /* number of leaf nodes flushed to disk for checkpoint */
uint64_t disk_flush_nonleaf_for_checkpoint; /* number of nonleaf nodes flushed to disk for checkpoint */
uint64_t destroy_leaf; /* number of leaf nodes destroyed */
uint64_t destroy_nonleaf; /* number of nonleaf nodes destroyed */
uint64_t msg_bytes_in; /* how many bytes of messages injected at root (for all trees)*/
uint64_t msg_bytes_out; /* how many bytes of messages flushed from h1 nodes to leaves*/
uint64_t msg_bytes_curr; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_bytes_max; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_num; /* how many messages injected at root*/
uint64_t msg_num_broadcast; /* how many broadcast messages injected at root*/
u_int64_t le_max_committed_xr; /* max committed transaction records in any packed le */
u_int64_t le_max_provisional_xr; /* max provisional transaction records in any packed le */
u_int64_t le_max_memsize; /* max memsize of any packed le */
......
......@@ -92,6 +92,8 @@ typedef struct __toku_engine_status {
u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */
u_int64_t txn_close; /* txn completions (should equal commit+abort) */
u_int64_t txn_num_open; /* should be begin - close */
u_int64_t txn_max_open; /* max value of num_open */
u_int64_t txn_oldest_live; /* oldest extant txn txnid */
char txn_oldest_live_starttime[26]; /* oldest extant txn start time */
u_int64_t next_lsn; /* lsn that will be assigned to next log entry */
......@@ -135,6 +137,11 @@ typedef struct __toku_engine_status {
u_int64_t range_write_locks; /* total range write locks taken */
u_int64_t range_write_locks_fail; /* total range write locks unable to be taken */
u_int64_t range_out_of_write_locks; /* total times range write locks exhausted */
u_int64_t range_lt_create; /* number of locktrees created */
u_int64_t range_lt_create_fail; /* number of locktree create failures */
u_int64_t range_lt_destroy; /* number of locktrees destroyed */
u_int64_t range_lt_num; /* number of locktrees (should be created - destroyed) */
u_int64_t range_lt_num_max; /* max number of locktrees that have existed simultaneously */
u_int64_t directory_read_locks; /* total directory read locks taken */
u_int64_t directory_read_locks_fail; /* total directory read locks unable to be taken */
u_int64_t directory_write_locks; /* total directory write locks taken */
......@@ -153,6 +160,12 @@ typedef struct __toku_engine_status {
u_int64_t multi_deletes_fail; /* ydb multi_row delete operations that failed, dictionary count */
u_int64_t multi_updates; /* ydb row update operations, dictionary count */
u_int64_t multi_updates_fail; /* ydb row update operations that failed, dictionary count */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
u_int64_t num_db_open; /* number of db_open operations */
u_int64_t num_db_close; /* number of db_close operations */
u_int64_t num_open_db; /* number of currently open dbs */
u_int64_t max_open_dbs; /* max number of simultaneously open dbs */
u_int64_t le_updates; /* leafentry update operations */
u_int64_t le_updates_broadcast; /* leafentry update broadcast operations */
u_int64_t descriptor_set; /* descriptor set operations */
......@@ -192,8 +205,18 @@ typedef struct __toku_engine_status {
uint64_t flush_cascades_4; /* number of flushes that triggered 4 cascading flushes */
uint64_t flush_cascades_5; /* number of flushes that triggered 5 cascading flushes */
uint64_t flush_cascades_gt_5; /* number of flushes that triggered more than 5 cascading flushes */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
uint64_t disk_flush_leaf; /* number of leaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_nonleaf; /* number of nonleaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_leaf_for_checkpoint; /* number of leaf nodes flushed to disk for checkpoint */
uint64_t disk_flush_nonleaf_for_checkpoint; /* number of nonleaf nodes flushed to disk for checkpoint */
uint64_t destroy_leaf; /* number of leaf nodes destroyed */
uint64_t destroy_nonleaf; /* number of nonleaf nodes destroyed */
uint64_t msg_bytes_in; /* how many bytes of messages injected at root (for all trees)*/
uint64_t msg_bytes_out; /* how many bytes of messages flushed from h1 nodes to leaves*/
uint64_t msg_bytes_curr; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_bytes_max; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_num; /* how many messages injected at root*/
uint64_t msg_num_broadcast; /* how many broadcast messages injected at root*/
u_int64_t le_max_committed_xr; /* max committed transaction records in any packed le */
u_int64_t le_max_provisional_xr; /* max provisional transaction records in any packed le */
u_int64_t le_max_memsize; /* max memsize of any packed le */
......
......@@ -92,6 +92,8 @@ typedef struct __toku_engine_status {
u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */
u_int64_t txn_close; /* txn completions (should equal commit+abort) */
u_int64_t txn_num_open; /* should be begin - close */
u_int64_t txn_max_open; /* max value of num_open */
u_int64_t txn_oldest_live; /* oldest extant txn txnid */
char txn_oldest_live_starttime[26]; /* oldest extant txn start time */
u_int64_t next_lsn; /* lsn that will be assigned to next log entry */
......@@ -135,6 +137,11 @@ typedef struct __toku_engine_status {
u_int64_t range_write_locks; /* total range write locks taken */
u_int64_t range_write_locks_fail; /* total range write locks unable to be taken */
u_int64_t range_out_of_write_locks; /* total times range write locks exhausted */
u_int64_t range_lt_create; /* number of locktrees created */
u_int64_t range_lt_create_fail; /* number of locktree create failures */
u_int64_t range_lt_destroy; /* number of locktrees destroyed */
u_int64_t range_lt_num; /* number of locktrees (should be created - destroyed) */
u_int64_t range_lt_num_max; /* max number of locktrees that have existed simultaneously */
u_int64_t directory_read_locks; /* total directory read locks taken */
u_int64_t directory_read_locks_fail; /* total directory read locks unable to be taken */
u_int64_t directory_write_locks; /* total directory write locks taken */
......@@ -153,6 +160,12 @@ typedef struct __toku_engine_status {
u_int64_t multi_deletes_fail; /* ydb multi_row delete operations that failed, dictionary count */
u_int64_t multi_updates; /* ydb row update operations, dictionary count */
u_int64_t multi_updates_fail; /* ydb row update operations that failed, dictionary count */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
u_int64_t num_db_open; /* number of db_open operations */
u_int64_t num_db_close; /* number of db_close operations */
u_int64_t num_open_db; /* number of currently open dbs */
u_int64_t max_open_dbs; /* max number of simultaneously open dbs */
u_int64_t le_updates; /* leafentry update operations */
u_int64_t le_updates_broadcast; /* leafentry update broadcast operations */
u_int64_t descriptor_set; /* descriptor set operations */
......@@ -192,8 +205,18 @@ typedef struct __toku_engine_status {
uint64_t flush_cascades_4; /* number of flushes that triggered 4 cascading flushes */
uint64_t flush_cascades_5; /* number of flushes that triggered 5 cascading flushes */
uint64_t flush_cascades_gt_5; /* number of flushes that triggered more than 5 cascading flushes */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
uint64_t disk_flush_leaf; /* number of leaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_nonleaf; /* number of nonleaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_leaf_for_checkpoint; /* number of leaf nodes flushed to disk for checkpoint */
uint64_t disk_flush_nonleaf_for_checkpoint; /* number of nonleaf nodes flushed to disk for checkpoint */
uint64_t destroy_leaf; /* number of leaf nodes destroyed */
uint64_t destroy_nonleaf; /* number of nonleaf nodes destroyed */
uint64_t msg_bytes_in; /* how many bytes of messages injected at root (for all trees)*/
uint64_t msg_bytes_out; /* how many bytes of messages flushed from h1 nodes to leaves*/
uint64_t msg_bytes_curr; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_bytes_max; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_num; /* how many messages injected at root*/
uint64_t msg_num_broadcast; /* how many broadcast messages injected at root*/
u_int64_t le_max_committed_xr; /* max committed transaction records in any packed le */
u_int64_t le_max_provisional_xr; /* max provisional transaction records in any packed le */
u_int64_t le_max_memsize; /* max memsize of any packed le */
......
......@@ -92,6 +92,8 @@ typedef struct __toku_engine_status {
u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */
u_int64_t txn_close; /* txn completions (should equal commit+abort) */
u_int64_t txn_num_open; /* should be begin - close */
u_int64_t txn_max_open; /* max value of num_open */
u_int64_t txn_oldest_live; /* oldest extant txn txnid */
char txn_oldest_live_starttime[26]; /* oldest extant txn start time */
u_int64_t next_lsn; /* lsn that will be assigned to next log entry */
......@@ -135,6 +137,11 @@ typedef struct __toku_engine_status {
u_int64_t range_write_locks; /* total range write locks taken */
u_int64_t range_write_locks_fail; /* total range write locks unable to be taken */
u_int64_t range_out_of_write_locks; /* total times range write locks exhausted */
u_int64_t range_lt_create; /* number of locktrees created */
u_int64_t range_lt_create_fail; /* number of locktree create failures */
u_int64_t range_lt_destroy; /* number of locktrees destroyed */
u_int64_t range_lt_num; /* number of locktrees (should be created - destroyed) */
u_int64_t range_lt_num_max; /* max number of locktrees that have existed simultaneously */
u_int64_t directory_read_locks; /* total directory read locks taken */
u_int64_t directory_read_locks_fail; /* total directory read locks unable to be taken */
u_int64_t directory_write_locks; /* total directory write locks taken */
......@@ -153,6 +160,12 @@ typedef struct __toku_engine_status {
u_int64_t multi_deletes_fail; /* ydb multi_row delete operations that failed, dictionary count */
u_int64_t multi_updates; /* ydb row update operations, dictionary count */
u_int64_t multi_updates_fail; /* ydb row update operations that failed, dictionary count */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
u_int64_t num_db_open; /* number of db_open operations */
u_int64_t num_db_close; /* number of db_close operations */
u_int64_t num_open_db; /* number of currently open dbs */
u_int64_t max_open_dbs; /* max number of simultaneously open dbs */
u_int64_t le_updates; /* leafentry update operations */
u_int64_t le_updates_broadcast; /* leafentry update broadcast operations */
u_int64_t descriptor_set; /* descriptor set operations */
......@@ -192,8 +205,18 @@ typedef struct __toku_engine_status {
uint64_t flush_cascades_4; /* number of flushes that triggered 4 cascading flushes */
uint64_t flush_cascades_5; /* number of flushes that triggered 5 cascading flushes */
uint64_t flush_cascades_gt_5; /* number of flushes that triggered more than 5 cascading flushes */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
uint64_t disk_flush_leaf; /* number of leaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_nonleaf; /* number of nonleaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_leaf_for_checkpoint; /* number of leaf nodes flushed to disk for checkpoint */
uint64_t disk_flush_nonleaf_for_checkpoint; /* number of nonleaf nodes flushed to disk for checkpoint */
uint64_t destroy_leaf; /* number of leaf nodes destroyed */
uint64_t destroy_nonleaf; /* number of nonleaf nodes destroyed */
uint64_t msg_bytes_in; /* how many bytes of messages injected at root (for all trees)*/
uint64_t msg_bytes_out; /* how many bytes of messages flushed from h1 nodes to leaves*/
uint64_t msg_bytes_curr; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_bytes_max; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_num; /* how many messages injected at root*/
uint64_t msg_num_broadcast; /* how many broadcast messages injected at root*/
u_int64_t le_max_committed_xr; /* max committed transaction records in any packed le */
u_int64_t le_max_provisional_xr; /* max provisional transaction records in any packed le */
u_int64_t le_max_memsize; /* max memsize of any packed le */
......
......@@ -486,6 +486,8 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__
printf(" u_int64_t txn_commit; /* txn commit operations */ \n");
printf(" u_int64_t txn_abort; /* txn abort operations */ \n");
printf(" u_int64_t txn_close; /* txn completions (should equal commit+abort) */ \n");
printf(" u_int64_t txn_num_open; /* should be begin - close */ \n");
printf(" u_int64_t txn_max_open; /* max value of num_open */ \n");
printf(" u_int64_t txn_oldest_live; /* oldest extant txn txnid */ \n");
printf(" char txn_oldest_live_starttime[26]; /* oldest extant txn start time */ \n");
printf(" u_int64_t next_lsn; /* lsn that will be assigned to next log entry */ \n");
......@@ -529,6 +531,11 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__
printf(" u_int64_t range_write_locks; /* total range write locks taken */ \n");
printf(" u_int64_t range_write_locks_fail; /* total range write locks unable to be taken */ \n");
printf(" u_int64_t range_out_of_write_locks; /* total times range write locks exhausted */ \n");
printf(" u_int64_t range_lt_create; /* number of locktrees created */ \n");
printf(" u_int64_t range_lt_create_fail; /* number of locktree create failures */ \n");
printf(" u_int64_t range_lt_destroy; /* number of locktrees destroyed */ \n");
printf(" u_int64_t range_lt_num; /* number of locktrees (should be created - destroyed) */ \n");
printf(" u_int64_t range_lt_num_max; /* max number of locktrees that have existed simultaneously */ \n");
printf(" u_int64_t directory_read_locks; /* total directory read locks taken */ \n");
printf(" u_int64_t directory_read_locks_fail; /* total directory read locks unable to be taken */ \n");
printf(" u_int64_t directory_write_locks; /* total directory write locks taken */ \n");
......@@ -547,6 +554,12 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__
printf(" u_int64_t multi_deletes_fail; /* ydb multi_row delete operations that failed, dictionary count */ \n");
printf(" u_int64_t multi_updates; /* ydb row update operations, dictionary count */ \n");
printf(" u_int64_t multi_updates_fail; /* ydb row update operations that failed, dictionary count */ \n");
printf(" u_int64_t point_queries; /* ydb point queries */ \n");
printf(" u_int64_t sequential_queries; /* ydb sequential queries */ \n");
printf(" u_int64_t num_db_open; /* number of db_open operations */\n");
printf(" u_int64_t num_db_close; /* number of db_close operations */\n");
printf(" u_int64_t num_open_db; /* number of currently open dbs */\n");
printf(" u_int64_t max_open_dbs; /* max number of simultaneously open dbs */\n");
printf(" u_int64_t le_updates; /* leafentry update operations */ \n");
printf(" u_int64_t le_updates_broadcast; /* leafentry update broadcast operations */ \n");
printf(" u_int64_t descriptor_set; /* descriptor set operations */ \n");
......@@ -586,8 +599,19 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__
printf(" uint64_t flush_cascades_4; /* number of flushes that triggered 4 cascading flushes */\n");
printf(" uint64_t flush_cascades_5; /* number of flushes that triggered 5 cascading flushes */\n");
printf(" uint64_t flush_cascades_gt_5; /* number of flushes that triggered more than 5 cascading flushes */\n");
printf(" u_int64_t point_queries; /* ydb point queries */ \n");
printf(" u_int64_t sequential_queries; /* ydb sequential queries */ \n");
printf(" uint64_t disk_flush_leaf; /* number of leaf nodes flushed to disk, not for checkpoint */\n");
printf(" uint64_t disk_flush_nonleaf; /* number of nonleaf nodes flushed to disk, not for checkpoint */\n");
printf(" uint64_t disk_flush_leaf_for_checkpoint; /* number of leaf nodes flushed to disk for checkpoint */\n");
printf(" uint64_t disk_flush_nonleaf_for_checkpoint; /* number of nonleaf nodes flushed to disk for checkpoint */\n");
printf(" uint64_t destroy_leaf; /* number of leaf nodes destroyed */\n");
printf(" uint64_t destroy_nonleaf; /* number of nonleaf nodes destroyed */\n");
printf(" uint64_t msg_bytes_in; /* how many bytes of messages injected at root (for all trees)*/\n");
printf(" uint64_t msg_bytes_out; /* how many bytes of messages flushed from h1 nodes to leaves*/\n");
printf(" uint64_t msg_bytes_curr; /* how many bytes of messages currently in trees (estimate)*/\n");
printf(" uint64_t msg_bytes_max; /* how many bytes of messages currently in trees (estimate)*/\n");
printf(" uint64_t msg_num; /* how many messages injected at root*/\n");
printf(" uint64_t msg_num_broadcast; /* how many broadcast messages injected at root*/\n");
printf(" u_int64_t le_max_committed_xr; /* max committed transaction records in any packed le */ \n");
printf(" u_int64_t le_max_provisional_xr; /* max provisional transaction records in any packed le */ \n");
printf(" u_int64_t le_max_memsize; /* max memsize of any packed le */ \n");
......
......@@ -92,6 +92,8 @@ typedef struct __toku_engine_status {
u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */
u_int64_t txn_close; /* txn completions (should equal commit+abort) */
u_int64_t txn_num_open; /* should be begin - close */
u_int64_t txn_max_open; /* max value of num_open */
u_int64_t txn_oldest_live; /* oldest extant txn txnid */
char txn_oldest_live_starttime[26]; /* oldest extant txn start time */
u_int64_t next_lsn; /* lsn that will be assigned to next log entry */
......@@ -135,6 +137,11 @@ typedef struct __toku_engine_status {
u_int64_t range_write_locks; /* total range write locks taken */
u_int64_t range_write_locks_fail; /* total range write locks unable to be taken */
u_int64_t range_out_of_write_locks; /* total times range write locks exhausted */
u_int64_t range_lt_create; /* number of locktrees created */
u_int64_t range_lt_create_fail; /* number of locktree create failures */
u_int64_t range_lt_destroy; /* number of locktrees destroyed */
u_int64_t range_lt_num; /* number of locktrees (should be created - destroyed) */
u_int64_t range_lt_num_max; /* max number of locktrees that have existed simultaneously */
u_int64_t directory_read_locks; /* total directory read locks taken */
u_int64_t directory_read_locks_fail; /* total directory read locks unable to be taken */
u_int64_t directory_write_locks; /* total directory write locks taken */
......@@ -153,6 +160,12 @@ typedef struct __toku_engine_status {
u_int64_t multi_deletes_fail; /* ydb multi_row delete operations that failed, dictionary count */
u_int64_t multi_updates; /* ydb row update operations, dictionary count */
u_int64_t multi_updates_fail; /* ydb row update operations that failed, dictionary count */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
u_int64_t num_db_open; /* number of db_open operations */
u_int64_t num_db_close; /* number of db_close operations */
u_int64_t num_open_db; /* number of currently open dbs */
u_int64_t max_open_dbs; /* max number of simultaneously open dbs */
u_int64_t le_updates; /* leafentry update operations */
u_int64_t le_updates_broadcast; /* leafentry update broadcast operations */
u_int64_t descriptor_set; /* descriptor set operations */
......@@ -192,8 +205,18 @@ typedef struct __toku_engine_status {
uint64_t flush_cascades_4; /* number of flushes that triggered 4 cascading flushes */
uint64_t flush_cascades_5; /* number of flushes that triggered 5 cascading flushes */
uint64_t flush_cascades_gt_5; /* number of flushes that triggered more than 5 cascading flushes */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
uint64_t disk_flush_leaf; /* number of leaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_nonleaf; /* number of nonleaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_leaf_for_checkpoint; /* number of leaf nodes flushed to disk for checkpoint */
uint64_t disk_flush_nonleaf_for_checkpoint; /* number of nonleaf nodes flushed to disk for checkpoint */
uint64_t destroy_leaf; /* number of leaf nodes destroyed */
uint64_t destroy_nonleaf; /* number of nonleaf nodes destroyed */
uint64_t msg_bytes_in; /* how many bytes of messages injected at root (for all trees)*/
uint64_t msg_bytes_out; /* how many bytes of messages flushed from h1 nodes to leaves*/
uint64_t msg_bytes_curr; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_bytes_max; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_num; /* how many messages injected at root*/
uint64_t msg_num_broadcast; /* how many broadcast messages injected at root*/
u_int64_t le_max_committed_xr; /* max committed transaction records in any packed le */
u_int64_t le_max_provisional_xr; /* max provisional transaction records in any packed le */
u_int64_t le_max_memsize; /* max memsize of any packed le */
......
......@@ -92,6 +92,8 @@ typedef struct __toku_engine_status {
u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */
u_int64_t txn_close; /* txn completions (should equal commit+abort) */
u_int64_t txn_num_open; /* should be begin - close */
u_int64_t txn_max_open; /* max value of num_open */
u_int64_t txn_oldest_live; /* oldest extant txn txnid */
char txn_oldest_live_starttime[26]; /* oldest extant txn start time */
u_int64_t next_lsn; /* lsn that will be assigned to next log entry */
......@@ -135,6 +137,11 @@ typedef struct __toku_engine_status {
u_int64_t range_write_locks; /* total range write locks taken */
u_int64_t range_write_locks_fail; /* total range write locks unable to be taken */
u_int64_t range_out_of_write_locks; /* total times range write locks exhausted */
u_int64_t range_lt_create; /* number of locktrees created */
u_int64_t range_lt_create_fail; /* number of locktree create failures */
u_int64_t range_lt_destroy; /* number of locktrees destroyed */
u_int64_t range_lt_num; /* number of locktrees (should be created - destroyed) */
u_int64_t range_lt_num_max; /* max number of locktrees that have existed simultaneously */
u_int64_t directory_read_locks; /* total directory read locks taken */
u_int64_t directory_read_locks_fail; /* total directory read locks unable to be taken */
u_int64_t directory_write_locks; /* total directory write locks taken */
......@@ -153,6 +160,12 @@ typedef struct __toku_engine_status {
u_int64_t multi_deletes_fail; /* ydb multi_row delete operations that failed, dictionary count */
u_int64_t multi_updates; /* ydb row update operations, dictionary count */
u_int64_t multi_updates_fail; /* ydb row update operations that failed, dictionary count */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
u_int64_t num_db_open; /* number of db_open operations */
u_int64_t num_db_close; /* number of db_close operations */
u_int64_t num_open_db; /* number of currently open dbs */
u_int64_t max_open_dbs; /* max number of simultaneously open dbs */
u_int64_t le_updates; /* leafentry update operations */
u_int64_t le_updates_broadcast; /* leafentry update broadcast operations */
u_int64_t descriptor_set; /* descriptor set operations */
......@@ -192,8 +205,18 @@ typedef struct __toku_engine_status {
uint64_t flush_cascades_4; /* number of flushes that triggered 4 cascading flushes */
uint64_t flush_cascades_5; /* number of flushes that triggered 5 cascading flushes */
uint64_t flush_cascades_gt_5; /* number of flushes that triggered more than 5 cascading flushes */
u_int64_t point_queries; /* ydb point queries */
u_int64_t sequential_queries; /* ydb sequential queries */
uint64_t disk_flush_leaf; /* number of leaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_nonleaf; /* number of nonleaf nodes flushed to disk, not for checkpoint */
uint64_t disk_flush_leaf_for_checkpoint; /* number of leaf nodes flushed to disk for checkpoint */
uint64_t disk_flush_nonleaf_for_checkpoint; /* number of nonleaf nodes flushed to disk for checkpoint */
uint64_t destroy_leaf; /* number of leaf nodes destroyed */
uint64_t destroy_nonleaf; /* number of nonleaf nodes destroyed */
uint64_t msg_bytes_in; /* how many bytes of messages injected at root (for all trees)*/
uint64_t msg_bytes_out; /* how many bytes of messages flushed from h1 nodes to leaves*/
uint64_t msg_bytes_curr; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_bytes_max; /* how many bytes of messages currently in trees (estimate)*/
uint64_t msg_num; /* how many messages injected at root*/
uint64_t msg_num_broadcast; /* how many broadcast messages injected at root*/
u_int64_t le_max_committed_xr; /* max committed transaction records in any packed le */
u_int64_t le_max_provisional_xr; /* max provisional transaction records in any packed le */
u_int64_t le_max_memsize; /* max memsize of any packed le */
......
......@@ -720,7 +720,6 @@ typedef struct brt_upgrade_status {
void toku_brt_get_upgrade_status(BRT_UPGRADE_STATUS);
typedef struct le_status {
u_int64_t max_committed_xr;
u_int64_t max_provisional_xr;
......@@ -760,12 +759,6 @@ typedef struct brt_status {
uint64_t cleaner_max_buffer_workdone; // max workdone value of any message buffer flushed by cleaner thread
uint64_t cleaner_min_buffer_workdone;
uint64_t cleaner_total_buffer_workdone;
uint64_t msg_bytes_in; // how many bytes of messages injected at root (for all trees)
uint64_t msg_bytes_out; // how many bytes of messages flushed from h1 nodes to leaves
uint64_t msg_bytes_curr; // how many bytes of messages currently in trees (estimate)
uint64_t msg_bytes_max; // how many bytes of messages currently in trees (estimate)
uint64_t msg_num; // how many messages injected at root
uint64_t msg_num_broadcast; // how many broadcast messages injected at root
uint64_t flush_total; // total number of flushes done by flusher threads or cleaner threads
uint64_t flush_in_memory; // number of in memory flushes
uint64_t flush_needed_io; // number of flushes that had to read a child (or part) off disk
......@@ -776,6 +769,18 @@ typedef struct brt_status {
uint64_t flush_cascades_4; // number of flushes that triggered 4 cascading flushes
uint64_t flush_cascades_5; // number of flushes that triggered 5 cascading flushes
uint64_t flush_cascades_gt_5; // number of flushes that triggered more than 5 cascading flushes
uint64_t disk_flush_leaf; // number of leaf nodes flushed to disk, not for checkpoint
uint64_t disk_flush_nonleaf; // number of nonleaf nodes flushed to disk, not for checkpoint
uint64_t disk_flush_leaf_for_checkpoint; // number of leaf nodes flushed to disk for checkpoint
uint64_t disk_flush_nonleaf_for_checkpoint; // number of nonleaf nodes flushed to disk for checkpoint
uint64_t destroy_leaf; // number of leaf nodes destroyed
uint64_t destroy_nonleaf; // number of nonleaf nodes destroyed
uint64_t msg_bytes_in; // how many bytes of messages injected at root (for all trees)
uint64_t msg_bytes_out; // how many bytes of messages flushed from h1 nodes to leaves
uint64_t msg_bytes_curr; // how many bytes of messages currently in trees (estimate)
uint64_t msg_bytes_max; // how many bytes of messages currently in trees (estimate)
uint64_t msg_num; // how many messages injected at root
uint64_t msg_num_broadcast; // how many broadcast messages injected at root
} BRT_STATUS_S, *BRT_STATUS;
void toku_brt_get_status(BRT_STATUS);
......
......@@ -2070,6 +2070,18 @@ env_get_engine_status(DB_ENV * env, ENGINE_STATUS * engstat, char * env_panic_st
engstat->flush_cascades_4 = brt_stat.flush_cascades_4;
engstat->flush_cascades_5 = brt_stat.flush_cascades_5;
engstat->flush_cascades_gt_5 = brt_stat.flush_cascades_gt_5;
engstat->disk_flush_leaf = brt_stat.disk_flush_leaf;
engstat->disk_flush_nonleaf = brt_stat.disk_flush_nonleaf;
engstat->disk_flush_leaf_for_checkpoint = brt_stat.disk_flush_leaf_for_checkpoint;
engstat->disk_flush_nonleaf_for_checkpoint = brt_stat.disk_flush_nonleaf_for_checkpoint;
engstat->destroy_leaf = brt_stat.destroy_leaf;
engstat->destroy_nonleaf = brt_stat.destroy_nonleaf;
engstat->msg_bytes_in = brt_stat.msg_bytes_in;
engstat->msg_bytes_out = brt_stat.msg_bytes_out;
engstat->msg_bytes_curr = brt_stat.msg_bytes_curr;
engstat->msg_bytes_max = brt_stat.msg_bytes_max;
engstat->msg_num = brt_stat.msg_num;
engstat->msg_num_broadcast = brt_stat.msg_num_broadcast;
}
{
u_int64_t fsync_count, fsync_time;
......@@ -2311,6 +2323,18 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) {
n += snprintf(buff + n, bufsiz - n, "flush_cascades_4 %"PRIu64"\n", engstat.flush_cascades_4);
n += snprintf(buff + n, bufsiz - n, "flush_cascades_5 %"PRIu64"\n", engstat.flush_cascades_5);
n += snprintf(buff + n, bufsiz - n, "flush_cascades_gt_5 %"PRIu64"\n", engstat.flush_cascades_gt_5);
n += snprintf(buff + n, bufsiz - n, "disk_flush_leaf %"PRIu64"\n", engstat.disk_flush_leaf);
n += snprintf(buff + n, bufsiz - n, "disk_flush_nonleaf %"PRIu64"\n", engstat.disk_flush_nonleaf);
n += snprintf(buff + n, bufsiz - n, "disk_flush_leaf_for_checkpoint %"PRIu64"\n", engstat.disk_flush_leaf_for_checkpoint);
n += snprintf(buff + n, bufsiz - n, "disk_flush_nonleaf_for_checkpoint %"PRIu64"\n", engstat.disk_flush_nonleaf_for_checkpoint);
n += snprintf(buff + n, bufsiz - n, "destroy_leaf %"PRIu64"\n", engstat.destroy_leaf);
n += snprintf(buff + n, bufsiz - n, "destroy_nonleaf %"PRIu64"\n", engstat.destroy_nonleaf);
n += snprintf(buff + n, bufsiz - n, "msg_bytes_in %"PRIu64"\n", engstat.msg_bytes_in);
n += snprintf(buff + n, bufsiz - n, "msg_bytes_out %"PRIu64"\n", engstat.msg_bytes_out);
n += snprintf(buff + n, bufsiz - n, "msg_bytes_curr %"PRIu64"\n", engstat.msg_bytes_curr);
n += snprintf(buff + n, bufsiz - n, "msg_bytes_max %"PRIu64"\n", engstat.msg_bytes_max);
n += snprintf(buff + n, bufsiz - n, "msg_num %"PRIu64"\n", engstat.msg_num);
n += snprintf(buff + n, bufsiz - n, "msg_num_broadcast %"PRIu64"\n", engstat.msg_num_broadcast);
n += snprintf(buff + n, bufsiz - n, "cleaner_period %"PRIu32"\n", engstat.cleaner_period);
n += snprintf(buff + n, bufsiz - n, "cleaner_iterations %"PRIu32"\n", engstat.cleaner_iterations);
n += snprintf(buff + n, bufsiz - n, "multi_inserts %"PRIu64"\n", engstat.multi_inserts);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment