Commit 4a16f84d authored by Barry Perlman's avatar Barry Perlman Committed by Yoni Fogel

[t:4159] Closes #4159 Fix incorrect displays in engine status. Also make all...

[t:4159] Closes #4159 Fix incorrect displays in engine status.  Also make all engine status fields 64 bits.

git-svn-id: file:///svn/toku/tokudb@37176 c7de825b-a66e-492c-adef-691d508d4ae1
parent 04d8f516
...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status { ...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status {
char startuptime[26]; /* time of engine startup */ char startuptime[26]; /* time of engine startup */
char now[26]; /* time of engine status query (i.e. now) */ char now[26]; /* time of engine status query (i.e. now) */
u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */ u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */
u_int32_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */ u_int64_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */
u_int32_t max_waiters; /* The maximum of num_waiters_now. */ u_int64_t max_waiters; /* The maximum of num_waiters_now. */
u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */ u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */
u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */ u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */
u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */ u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */
u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */ u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */
u_int32_t checkpoint_period; /* delay between automatic checkpoints */ u_int64_t checkpoint_period; /* delay between automatic checkpoints */
u_int32_t checkpoint_footprint; /* state of checkpoint procedure */ u_int64_t checkpoint_footprint; /* state of checkpoint procedure */
char checkpoint_time_begin[26]; /* time of last checkpoint begin */ char checkpoint_time_begin[26]; /* time of last checkpoint begin */
char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */ char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */
char checkpoint_time_end[26]; /* time of last checkpoint end */ char checkpoint_time_end[26]; /* time of last checkpoint end */
u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */ u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */
u_int32_t checkpoint_count; /* number of checkpoints taken */ u_int64_t checkpoint_count; /* number of checkpoints taken */
u_int32_t checkpoint_count_fail; /* number of checkpoints failed */ u_int64_t checkpoint_count_fail; /* number of checkpoints failed */
u_int32_t cleaner_period; /* delay between executions of cleaner */ u_int64_t cleaner_period; /* delay between executions of cleaner */
u_int32_t cleaner_iterations; /* number of nodes to flush per cleaner execution */ u_int64_t cleaner_iterations; /* number of nodes to flush per cleaner execution */
u_int64_t txn_begin; /* number of transactions ever begun */ u_int64_t txn_begin; /* number of transactions ever begun */
u_int64_t txn_commit; /* txn commit operations */ u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */ u_int64_t txn_abort; /* txn abort operations */
...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status { ...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status {
uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */ uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */
uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_cachepressure; /* the number of bytes of nonleaf nodes */
int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */ int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */
int64_t get_and_pin_footprint; /* state of get_and_pin procedure */ int64_t get_and_pin_footprint; /* state of get_and_pin procedure */
int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */ int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */
int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */ int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */
int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */ int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */
u_int32_t range_locks_max; /* max total number of range locks */ u_int64_t range_locks_max; /* max total number of range locks */
u_int32_t range_locks_curr; /* total range locks currently in use */ u_int64_t range_locks_curr; /* total range locks currently in use */
u_int64_t range_locks_max_memory; /* max total bytes of range locks */ u_int64_t range_locks_max_memory; /* max total bytes of range locks */
u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */ u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */
u_int32_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */ u_int64_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */
u_int32_t range_lock_escalation_failures; /* number of times range locks escalation failed */ u_int64_t range_lock_escalation_failures; /* number of times range locks escalation failed */
u_int64_t range_read_locks; /* total range read locks taken */ u_int64_t range_read_locks; /* total range read locks taken */
u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */ u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */
u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */ u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */
...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status { ...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status {
u_int64_t partial_fetch_hit; /* node partition is present */ u_int64_t partial_fetch_hit; /* node partition is present */
u_int64_t partial_fetch_miss; /* node is present but partition is absent */ u_int64_t partial_fetch_miss; /* node is present but partition is absent */
u_int64_t partial_fetch_compressed; /* node partition is present but compressed */ u_int64_t partial_fetch_compressed; /* node partition is present but compressed */
u_int64_t partial_evictions_internal; /* number of internal node partial evictions */ u_int64_t partial_evictions_nonleaf; /* number of nonleaf node partial evictions */
u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */ u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */
u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */ u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */
u_int64_t max_workdone; /* max workdone value of any buffer */ u_int64_t max_workdone; /* max workdone value of any buffer */
u_int64_t dsn_gap; /* dsn has detected a gap in continuity of root-to-leaf path (internal node was evicted and re-read) */
uint64_t total_searches; /* total number of searches */ uint64_t total_searches; /* total number of searches */
uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */ uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */
uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */ uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */
...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status { ...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status {
u_int64_t loader_close; /* number of loaders closed (succeed or fail) */ u_int64_t loader_close; /* number of loaders closed (succeed or fail) */
u_int64_t loader_close_fail; /* number of loaders closed with error return */ u_int64_t loader_close_fail; /* number of loaders closed with error return */
u_int64_t loader_abort; /* number of loaders aborted */ u_int64_t loader_abort; /* number of loaders aborted */
u_int32_t loader_current; /* number of loaders currently existing */ u_int64_t loader_current; /* number of loaders currently existing */
u_int32_t loader_max; /* max number of loaders extant simultaneously */ u_int64_t loader_max; /* max number of loaders extant simultaneously */
u_int64_t logsuppress; /* number of times logging is suppressed */ u_int64_t logsuppress; /* number of times logging is suppressed */
u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */ u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */
u_int64_t indexer_create; /* number of indexers created successfully */ u_int64_t indexer_create; /* number of indexers created successfully */
...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status { ...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status {
u_int64_t indexer_close; /* number of indexers closed successfully) */ u_int64_t indexer_close; /* number of indexers closed successfully) */
u_int64_t indexer_close_fail; /* number of indexers closed with error return */ u_int64_t indexer_close_fail; /* number of indexers closed with error return */
u_int64_t indexer_abort; /* number of indexers aborted */ u_int64_t indexer_abort; /* number of indexers aborted */
u_int32_t indexer_current; /* number of indexers currently existing */ u_int64_t indexer_current; /* number of indexers currently existing */
u_int32_t indexer_max; /* max number of indexers extant simultaneously */ u_int64_t indexer_max; /* max number of indexers extant simultaneously */
u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */ u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */
u_int64_t upgrade_header; /* how many brt headers were upgraded? */ u_int64_t upgrade_header; /* how many brt headers were upgraded? */
u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */ u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */
......
...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status { ...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status {
char startuptime[26]; /* time of engine startup */ char startuptime[26]; /* time of engine startup */
char now[26]; /* time of engine status query (i.e. now) */ char now[26]; /* time of engine status query (i.e. now) */
u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */ u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */
u_int32_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */ u_int64_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */
u_int32_t max_waiters; /* The maximum of num_waiters_now. */ u_int64_t max_waiters; /* The maximum of num_waiters_now. */
u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */ u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */
u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */ u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */
u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */ u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */
u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */ u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */
u_int32_t checkpoint_period; /* delay between automatic checkpoints */ u_int64_t checkpoint_period; /* delay between automatic checkpoints */
u_int32_t checkpoint_footprint; /* state of checkpoint procedure */ u_int64_t checkpoint_footprint; /* state of checkpoint procedure */
char checkpoint_time_begin[26]; /* time of last checkpoint begin */ char checkpoint_time_begin[26]; /* time of last checkpoint begin */
char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */ char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */
char checkpoint_time_end[26]; /* time of last checkpoint end */ char checkpoint_time_end[26]; /* time of last checkpoint end */
u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */ u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */
u_int32_t checkpoint_count; /* number of checkpoints taken */ u_int64_t checkpoint_count; /* number of checkpoints taken */
u_int32_t checkpoint_count_fail; /* number of checkpoints failed */ u_int64_t checkpoint_count_fail; /* number of checkpoints failed */
u_int32_t cleaner_period; /* delay between executions of cleaner */ u_int64_t cleaner_period; /* delay between executions of cleaner */
u_int32_t cleaner_iterations; /* number of nodes to flush per cleaner execution */ u_int64_t cleaner_iterations; /* number of nodes to flush per cleaner execution */
u_int64_t txn_begin; /* number of transactions ever begun */ u_int64_t txn_begin; /* number of transactions ever begun */
u_int64_t txn_commit; /* txn commit operations */ u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */ u_int64_t txn_abort; /* txn abort operations */
...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status { ...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status {
uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */ uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */
uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_cachepressure; /* the number of bytes of nonleaf nodes */
int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */ int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */
int64_t get_and_pin_footprint; /* state of get_and_pin procedure */ int64_t get_and_pin_footprint; /* state of get_and_pin procedure */
int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */ int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */
int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */ int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */
int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */ int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */
u_int32_t range_locks_max; /* max total number of range locks */ u_int64_t range_locks_max; /* max total number of range locks */
u_int32_t range_locks_curr; /* total range locks currently in use */ u_int64_t range_locks_curr; /* total range locks currently in use */
u_int64_t range_locks_max_memory; /* max total bytes of range locks */ u_int64_t range_locks_max_memory; /* max total bytes of range locks */
u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */ u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */
u_int32_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */ u_int64_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */
u_int32_t range_lock_escalation_failures; /* number of times range locks escalation failed */ u_int64_t range_lock_escalation_failures; /* number of times range locks escalation failed */
u_int64_t range_read_locks; /* total range read locks taken */ u_int64_t range_read_locks; /* total range read locks taken */
u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */ u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */
u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */ u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */
...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status { ...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status {
u_int64_t partial_fetch_hit; /* node partition is present */ u_int64_t partial_fetch_hit; /* node partition is present */
u_int64_t partial_fetch_miss; /* node is present but partition is absent */ u_int64_t partial_fetch_miss; /* node is present but partition is absent */
u_int64_t partial_fetch_compressed; /* node partition is present but compressed */ u_int64_t partial_fetch_compressed; /* node partition is present but compressed */
u_int64_t partial_evictions_internal; /* number of internal node partial evictions */ u_int64_t partial_evictions_nonleaf; /* number of nonleaf node partial evictions */
u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */ u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */
u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */ u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */
u_int64_t max_workdone; /* max workdone value of any buffer */ u_int64_t max_workdone; /* max workdone value of any buffer */
u_int64_t dsn_gap; /* dsn has detected a gap in continuity of root-to-leaf path (internal node was evicted and re-read) */
uint64_t total_searches; /* total number of searches */ uint64_t total_searches; /* total number of searches */
uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */ uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */
uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */ uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */
...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status { ...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status {
u_int64_t loader_close; /* number of loaders closed (succeed or fail) */ u_int64_t loader_close; /* number of loaders closed (succeed or fail) */
u_int64_t loader_close_fail; /* number of loaders closed with error return */ u_int64_t loader_close_fail; /* number of loaders closed with error return */
u_int64_t loader_abort; /* number of loaders aborted */ u_int64_t loader_abort; /* number of loaders aborted */
u_int32_t loader_current; /* number of loaders currently existing */ u_int64_t loader_current; /* number of loaders currently existing */
u_int32_t loader_max; /* max number of loaders extant simultaneously */ u_int64_t loader_max; /* max number of loaders extant simultaneously */
u_int64_t logsuppress; /* number of times logging is suppressed */ u_int64_t logsuppress; /* number of times logging is suppressed */
u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */ u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */
u_int64_t indexer_create; /* number of indexers created successfully */ u_int64_t indexer_create; /* number of indexers created successfully */
...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status { ...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status {
u_int64_t indexer_close; /* number of indexers closed successfully) */ u_int64_t indexer_close; /* number of indexers closed successfully) */
u_int64_t indexer_close_fail; /* number of indexers closed with error return */ u_int64_t indexer_close_fail; /* number of indexers closed with error return */
u_int64_t indexer_abort; /* number of indexers aborted */ u_int64_t indexer_abort; /* number of indexers aborted */
u_int32_t indexer_current; /* number of indexers currently existing */ u_int64_t indexer_current; /* number of indexers currently existing */
u_int32_t indexer_max; /* max number of indexers extant simultaneously */ u_int64_t indexer_max; /* max number of indexers extant simultaneously */
u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */ u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */
u_int64_t upgrade_header; /* how many brt headers were upgraded? */ u_int64_t upgrade_header; /* how many brt headers were upgraded? */
u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */ u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */
......
...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status { ...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status {
char startuptime[26]; /* time of engine startup */ char startuptime[26]; /* time of engine startup */
char now[26]; /* time of engine status query (i.e. now) */ char now[26]; /* time of engine status query (i.e. now) */
u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */ u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */
u_int32_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */ u_int64_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */
u_int32_t max_waiters; /* The maximum of num_waiters_now. */ u_int64_t max_waiters; /* The maximum of num_waiters_now. */
u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */ u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */
u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */ u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */
u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */ u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */
u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */ u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */
u_int32_t checkpoint_period; /* delay between automatic checkpoints */ u_int64_t checkpoint_period; /* delay between automatic checkpoints */
u_int32_t checkpoint_footprint; /* state of checkpoint procedure */ u_int64_t checkpoint_footprint; /* state of checkpoint procedure */
char checkpoint_time_begin[26]; /* time of last checkpoint begin */ char checkpoint_time_begin[26]; /* time of last checkpoint begin */
char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */ char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */
char checkpoint_time_end[26]; /* time of last checkpoint end */ char checkpoint_time_end[26]; /* time of last checkpoint end */
u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */ u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */
u_int32_t checkpoint_count; /* number of checkpoints taken */ u_int64_t checkpoint_count; /* number of checkpoints taken */
u_int32_t checkpoint_count_fail; /* number of checkpoints failed */ u_int64_t checkpoint_count_fail; /* number of checkpoints failed */
u_int32_t cleaner_period; /* delay between executions of cleaner */ u_int64_t cleaner_period; /* delay between executions of cleaner */
u_int32_t cleaner_iterations; /* number of nodes to flush per cleaner execution */ u_int64_t cleaner_iterations; /* number of nodes to flush per cleaner execution */
u_int64_t txn_begin; /* number of transactions ever begun */ u_int64_t txn_begin; /* number of transactions ever begun */
u_int64_t txn_commit; /* txn commit operations */ u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */ u_int64_t txn_abort; /* txn abort operations */
...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status { ...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status {
uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */ uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */
uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_cachepressure; /* the number of bytes of nonleaf nodes */
int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */ int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */
int64_t get_and_pin_footprint; /* state of get_and_pin procedure */ int64_t get_and_pin_footprint; /* state of get_and_pin procedure */
int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */ int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */
int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */ int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */
int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */ int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */
u_int32_t range_locks_max; /* max total number of range locks */ u_int64_t range_locks_max; /* max total number of range locks */
u_int32_t range_locks_curr; /* total range locks currently in use */ u_int64_t range_locks_curr; /* total range locks currently in use */
u_int64_t range_locks_max_memory; /* max total bytes of range locks */ u_int64_t range_locks_max_memory; /* max total bytes of range locks */
u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */ u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */
u_int32_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */ u_int64_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */
u_int32_t range_lock_escalation_failures; /* number of times range locks escalation failed */ u_int64_t range_lock_escalation_failures; /* number of times range locks escalation failed */
u_int64_t range_read_locks; /* total range read locks taken */ u_int64_t range_read_locks; /* total range read locks taken */
u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */ u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */
u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */ u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */
...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status { ...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status {
u_int64_t partial_fetch_hit; /* node partition is present */ u_int64_t partial_fetch_hit; /* node partition is present */
u_int64_t partial_fetch_miss; /* node is present but partition is absent */ u_int64_t partial_fetch_miss; /* node is present but partition is absent */
u_int64_t partial_fetch_compressed; /* node partition is present but compressed */ u_int64_t partial_fetch_compressed; /* node partition is present but compressed */
u_int64_t partial_evictions_internal; /* number of internal node partial evictions */ u_int64_t partial_evictions_nonleaf; /* number of nonleaf node partial evictions */
u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */ u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */
u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */ u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */
u_int64_t max_workdone; /* max workdone value of any buffer */ u_int64_t max_workdone; /* max workdone value of any buffer */
u_int64_t dsn_gap; /* dsn has detected a gap in continuity of root-to-leaf path (internal node was evicted and re-read) */
uint64_t total_searches; /* total number of searches */ uint64_t total_searches; /* total number of searches */
uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */ uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */
uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */ uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */
...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status { ...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status {
u_int64_t loader_close; /* number of loaders closed (succeed or fail) */ u_int64_t loader_close; /* number of loaders closed (succeed or fail) */
u_int64_t loader_close_fail; /* number of loaders closed with error return */ u_int64_t loader_close_fail; /* number of loaders closed with error return */
u_int64_t loader_abort; /* number of loaders aborted */ u_int64_t loader_abort; /* number of loaders aborted */
u_int32_t loader_current; /* number of loaders currently existing */ u_int64_t loader_current; /* number of loaders currently existing */
u_int32_t loader_max; /* max number of loaders extant simultaneously */ u_int64_t loader_max; /* max number of loaders extant simultaneously */
u_int64_t logsuppress; /* number of times logging is suppressed */ u_int64_t logsuppress; /* number of times logging is suppressed */
u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */ u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */
u_int64_t indexer_create; /* number of indexers created successfully */ u_int64_t indexer_create; /* number of indexers created successfully */
...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status { ...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status {
u_int64_t indexer_close; /* number of indexers closed successfully) */ u_int64_t indexer_close; /* number of indexers closed successfully) */
u_int64_t indexer_close_fail; /* number of indexers closed with error return */ u_int64_t indexer_close_fail; /* number of indexers closed with error return */
u_int64_t indexer_abort; /* number of indexers aborted */ u_int64_t indexer_abort; /* number of indexers aborted */
u_int32_t indexer_current; /* number of indexers currently existing */ u_int64_t indexer_current; /* number of indexers currently existing */
u_int32_t indexer_max; /* max number of indexers extant simultaneously */ u_int64_t indexer_max; /* max number of indexers extant simultaneously */
u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */ u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */
u_int64_t upgrade_header; /* how many brt headers were upgraded? */ u_int64_t upgrade_header; /* how many brt headers were upgraded? */
u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */ u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */
......
...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status { ...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status {
char startuptime[26]; /* time of engine startup */ char startuptime[26]; /* time of engine startup */
char now[26]; /* time of engine status query (i.e. now) */ char now[26]; /* time of engine status query (i.e. now) */
u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */ u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */
u_int32_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */ u_int64_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */
u_int32_t max_waiters; /* The maximum of num_waiters_now. */ u_int64_t max_waiters; /* The maximum of num_waiters_now. */
u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */ u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */
u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */ u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */
u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */ u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */
u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */ u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */
u_int32_t checkpoint_period; /* delay between automatic checkpoints */ u_int64_t checkpoint_period; /* delay between automatic checkpoints */
u_int32_t checkpoint_footprint; /* state of checkpoint procedure */ u_int64_t checkpoint_footprint; /* state of checkpoint procedure */
char checkpoint_time_begin[26]; /* time of last checkpoint begin */ char checkpoint_time_begin[26]; /* time of last checkpoint begin */
char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */ char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */
char checkpoint_time_end[26]; /* time of last checkpoint end */ char checkpoint_time_end[26]; /* time of last checkpoint end */
u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */ u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */
u_int32_t checkpoint_count; /* number of checkpoints taken */ u_int64_t checkpoint_count; /* number of checkpoints taken */
u_int32_t checkpoint_count_fail; /* number of checkpoints failed */ u_int64_t checkpoint_count_fail; /* number of checkpoints failed */
u_int32_t cleaner_period; /* delay between executions of cleaner */ u_int64_t cleaner_period; /* delay between executions of cleaner */
u_int32_t cleaner_iterations; /* number of nodes to flush per cleaner execution */ u_int64_t cleaner_iterations; /* number of nodes to flush per cleaner execution */
u_int64_t txn_begin; /* number of transactions ever begun */ u_int64_t txn_begin; /* number of transactions ever begun */
u_int64_t txn_commit; /* txn commit operations */ u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */ u_int64_t txn_abort; /* txn abort operations */
...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status { ...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status {
uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */ uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */
uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_cachepressure; /* the number of bytes of nonleaf nodes */
int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */ int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */
int64_t get_and_pin_footprint; /* state of get_and_pin procedure */ int64_t get_and_pin_footprint; /* state of get_and_pin procedure */
int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */ int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */
int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */ int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */
int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */ int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */
u_int32_t range_locks_max; /* max total number of range locks */ u_int64_t range_locks_max; /* max total number of range locks */
u_int32_t range_locks_curr; /* total range locks currently in use */ u_int64_t range_locks_curr; /* total range locks currently in use */
u_int64_t range_locks_max_memory; /* max total bytes of range locks */ u_int64_t range_locks_max_memory; /* max total bytes of range locks */
u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */ u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */
u_int32_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */ u_int64_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */
u_int32_t range_lock_escalation_failures; /* number of times range locks escalation failed */ u_int64_t range_lock_escalation_failures; /* number of times range locks escalation failed */
u_int64_t range_read_locks; /* total range read locks taken */ u_int64_t range_read_locks; /* total range read locks taken */
u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */ u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */
u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */ u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */
...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status { ...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status {
u_int64_t partial_fetch_hit; /* node partition is present */ u_int64_t partial_fetch_hit; /* node partition is present */
u_int64_t partial_fetch_miss; /* node is present but partition is absent */ u_int64_t partial_fetch_miss; /* node is present but partition is absent */
u_int64_t partial_fetch_compressed; /* node partition is present but compressed */ u_int64_t partial_fetch_compressed; /* node partition is present but compressed */
u_int64_t partial_evictions_internal; /* number of internal node partial evictions */ u_int64_t partial_evictions_nonleaf; /* number of nonleaf node partial evictions */
u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */ u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */
u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */ u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */
u_int64_t max_workdone; /* max workdone value of any buffer */ u_int64_t max_workdone; /* max workdone value of any buffer */
u_int64_t dsn_gap; /* dsn has detected a gap in continuity of root-to-leaf path (internal node was evicted and re-read) */
uint64_t total_searches; /* total number of searches */ uint64_t total_searches; /* total number of searches */
uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */ uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */
uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */ uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */
...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status { ...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status {
u_int64_t loader_close; /* number of loaders closed (succeed or fail) */ u_int64_t loader_close; /* number of loaders closed (succeed or fail) */
u_int64_t loader_close_fail; /* number of loaders closed with error return */ u_int64_t loader_close_fail; /* number of loaders closed with error return */
u_int64_t loader_abort; /* number of loaders aborted */ u_int64_t loader_abort; /* number of loaders aborted */
u_int32_t loader_current; /* number of loaders currently existing */ u_int64_t loader_current; /* number of loaders currently existing */
u_int32_t loader_max; /* max number of loaders extant simultaneously */ u_int64_t loader_max; /* max number of loaders extant simultaneously */
u_int64_t logsuppress; /* number of times logging is suppressed */ u_int64_t logsuppress; /* number of times logging is suppressed */
u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */ u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */
u_int64_t indexer_create; /* number of indexers created successfully */ u_int64_t indexer_create; /* number of indexers created successfully */
...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status { ...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status {
u_int64_t indexer_close; /* number of indexers closed successfully) */ u_int64_t indexer_close; /* number of indexers closed successfully) */
u_int64_t indexer_close_fail; /* number of indexers closed with error return */ u_int64_t indexer_close_fail; /* number of indexers closed with error return */
u_int64_t indexer_abort; /* number of indexers aborted */ u_int64_t indexer_abort; /* number of indexers aborted */
u_int32_t indexer_current; /* number of indexers currently existing */ u_int64_t indexer_current; /* number of indexers currently existing */
u_int32_t indexer_max; /* max number of indexers extant simultaneously */ u_int64_t indexer_max; /* max number of indexers extant simultaneously */
u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */ u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */
u_int64_t upgrade_header; /* how many brt headers were upgraded? */ u_int64_t upgrade_header; /* how many brt headers were upgraded? */
u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */ u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */
......
...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status { ...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status {
char startuptime[26]; /* time of engine startup */ char startuptime[26]; /* time of engine startup */
char now[26]; /* time of engine status query (i.e. now) */ char now[26]; /* time of engine status query (i.e. now) */
u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */ u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */
u_int32_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */ u_int64_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */
u_int32_t max_waiters; /* The maximum of num_waiters_now. */ u_int64_t max_waiters; /* The maximum of num_waiters_now. */
u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */ u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */
u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */ u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */
u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */ u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */
u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */ u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */
u_int32_t checkpoint_period; /* delay between automatic checkpoints */ u_int64_t checkpoint_period; /* delay between automatic checkpoints */
u_int32_t checkpoint_footprint; /* state of checkpoint procedure */ u_int64_t checkpoint_footprint; /* state of checkpoint procedure */
char checkpoint_time_begin[26]; /* time of last checkpoint begin */ char checkpoint_time_begin[26]; /* time of last checkpoint begin */
char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */ char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */
char checkpoint_time_end[26]; /* time of last checkpoint end */ char checkpoint_time_end[26]; /* time of last checkpoint end */
u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */ u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */
u_int32_t checkpoint_count; /* number of checkpoints taken */ u_int64_t checkpoint_count; /* number of checkpoints taken */
u_int32_t checkpoint_count_fail; /* number of checkpoints failed */ u_int64_t checkpoint_count_fail; /* number of checkpoints failed */
u_int32_t cleaner_period; /* delay between executions of cleaner */ u_int64_t cleaner_period; /* delay between executions of cleaner */
u_int32_t cleaner_iterations; /* number of nodes to flush per cleaner execution */ u_int64_t cleaner_iterations; /* number of nodes to flush per cleaner execution */
u_int64_t txn_begin; /* number of transactions ever begun */ u_int64_t txn_begin; /* number of transactions ever begun */
u_int64_t txn_commit; /* txn commit operations */ u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */ u_int64_t txn_abort; /* txn abort operations */
...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status { ...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status {
uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */ uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */
uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_cachepressure; /* the number of bytes of nonleaf nodes */
int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */ int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */
int64_t get_and_pin_footprint; /* state of get_and_pin procedure */ int64_t get_and_pin_footprint; /* state of get_and_pin procedure */
int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */ int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */
int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */ int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */
int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */ int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */
u_int32_t range_locks_max; /* max total number of range locks */ u_int64_t range_locks_max; /* max total number of range locks */
u_int32_t range_locks_curr; /* total range locks currently in use */ u_int64_t range_locks_curr; /* total range locks currently in use */
u_int64_t range_locks_max_memory; /* max total bytes of range locks */ u_int64_t range_locks_max_memory; /* max total bytes of range locks */
u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */ u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */
u_int32_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */ u_int64_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */
u_int32_t range_lock_escalation_failures; /* number of times range locks escalation failed */ u_int64_t range_lock_escalation_failures; /* number of times range locks escalation failed */
u_int64_t range_read_locks; /* total range read locks taken */ u_int64_t range_read_locks; /* total range read locks taken */
u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */ u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */
u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */ u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */
...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status { ...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status {
u_int64_t partial_fetch_hit; /* node partition is present */ u_int64_t partial_fetch_hit; /* node partition is present */
u_int64_t partial_fetch_miss; /* node is present but partition is absent */ u_int64_t partial_fetch_miss; /* node is present but partition is absent */
u_int64_t partial_fetch_compressed; /* node partition is present but compressed */ u_int64_t partial_fetch_compressed; /* node partition is present but compressed */
u_int64_t partial_evictions_internal; /* number of internal node partial evictions */ u_int64_t partial_evictions_nonleaf; /* number of nonleaf node partial evictions */
u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */ u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */
u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */ u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */
u_int64_t max_workdone; /* max workdone value of any buffer */ u_int64_t max_workdone; /* max workdone value of any buffer */
u_int64_t dsn_gap; /* dsn has detected a gap in continuity of root-to-leaf path (internal node was evicted and re-read) */
uint64_t total_searches; /* total number of searches */ uint64_t total_searches; /* total number of searches */
uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */ uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */
uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */ uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */
...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status { ...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status {
u_int64_t loader_close; /* number of loaders closed (succeed or fail) */ u_int64_t loader_close; /* number of loaders closed (succeed or fail) */
u_int64_t loader_close_fail; /* number of loaders closed with error return */ u_int64_t loader_close_fail; /* number of loaders closed with error return */
u_int64_t loader_abort; /* number of loaders aborted */ u_int64_t loader_abort; /* number of loaders aborted */
u_int32_t loader_current; /* number of loaders currently existing */ u_int64_t loader_current; /* number of loaders currently existing */
u_int32_t loader_max; /* max number of loaders extant simultaneously */ u_int64_t loader_max; /* max number of loaders extant simultaneously */
u_int64_t logsuppress; /* number of times logging is suppressed */ u_int64_t logsuppress; /* number of times logging is suppressed */
u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */ u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */
u_int64_t indexer_create; /* number of indexers created successfully */ u_int64_t indexer_create; /* number of indexers created successfully */
...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status { ...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status {
u_int64_t indexer_close; /* number of indexers closed successfully) */ u_int64_t indexer_close; /* number of indexers closed successfully) */
u_int64_t indexer_close_fail; /* number of indexers closed with error return */ u_int64_t indexer_close_fail; /* number of indexers closed with error return */
u_int64_t indexer_abort; /* number of indexers aborted */ u_int64_t indexer_abort; /* number of indexers aborted */
u_int32_t indexer_current; /* number of indexers currently existing */ u_int64_t indexer_current; /* number of indexers currently existing */
u_int32_t indexer_max; /* max number of indexers extant simultaneously */ u_int64_t indexer_max; /* max number of indexers extant simultaneously */
u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */ u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */
u_int64_t upgrade_header; /* how many brt headers were upgraded? */ u_int64_t upgrade_header; /* how many brt headers were upgraded? */
u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */ u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */
......
...@@ -466,22 +466,22 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__ ...@@ -466,22 +466,22 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__
printf(" char startuptime[26]; /* time of engine startup */ \n"); printf(" char startuptime[26]; /* time of engine startup */ \n");
printf(" char now[26]; /* time of engine status query (i.e. now) */ \n"); printf(" char now[26]; /* time of engine status query (i.e. now) */ \n");
printf(" u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */\n"); printf(" u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */\n");
printf(" u_int32_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */\n"); printf(" u_int64_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */\n");
printf(" u_int32_t max_waiters; /* The maximum of num_waiters_now. */\n"); printf(" u_int64_t max_waiters; /* The maximum of num_waiters_now. */\n");
printf(" u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */\n"); printf(" u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */\n");
printf(" u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */\n"); printf(" u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */\n");
printf(" u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */\n"); printf(" u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */\n");
printf(" u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */\n"); printf(" u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */\n");
printf(" u_int32_t checkpoint_period; /* delay between automatic checkpoints */ \n"); printf(" u_int64_t checkpoint_period; /* delay between automatic checkpoints */ \n");
printf(" u_int32_t checkpoint_footprint; /* state of checkpoint procedure */ \n"); printf(" u_int64_t checkpoint_footprint; /* state of checkpoint procedure */ \n");
printf(" char checkpoint_time_begin[26]; /* time of last checkpoint begin */ \n"); printf(" char checkpoint_time_begin[26]; /* time of last checkpoint begin */ \n");
printf(" char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */ \n"); printf(" char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */ \n");
printf(" char checkpoint_time_end[26]; /* time of last checkpoint end */ \n"); printf(" char checkpoint_time_end[26]; /* time of last checkpoint end */ \n");
printf(" u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */ \n"); printf(" u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */ \n");
printf(" u_int32_t checkpoint_count; /* number of checkpoints taken */ \n"); printf(" u_int64_t checkpoint_count; /* number of checkpoints taken */ \n");
printf(" u_int32_t checkpoint_count_fail; /* number of checkpoints failed */ \n"); printf(" u_int64_t checkpoint_count_fail; /* number of checkpoints failed */ \n");
printf(" u_int32_t cleaner_period; /* delay between executions of cleaner */ \n"); printf(" u_int64_t cleaner_period; /* delay between executions of cleaner */ \n");
printf(" u_int32_t cleaner_iterations; /* number of nodes to flush per cleaner execution */ \n"); printf(" u_int64_t cleaner_iterations; /* number of nodes to flush per cleaner execution */ \n");
printf(" u_int64_t txn_begin; /* number of transactions ever begun */ \n"); printf(" u_int64_t txn_begin; /* number of transactions ever begun */ \n");
printf(" u_int64_t txn_commit; /* txn commit operations */ \n"); 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_abort; /* txn abort operations */ \n");
...@@ -512,18 +512,17 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__ ...@@ -512,18 +512,17 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__
printf(" uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */ \n"); printf(" uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */ \n");
printf(" uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */ \n"); printf(" uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */ \n");
printf(" uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */ \n"); printf(" uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */ \n");
printf(" uint64_t cachetable_size_cachepressure; /* the number of bytes of nonleaf nodes */ \n");
printf(" int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */ \n"); printf(" int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */ \n");
printf(" int64_t get_and_pin_footprint; /* state of get_and_pin procedure */ \n"); printf(" int64_t get_and_pin_footprint; /* state of get_and_pin procedure */ \n");
printf(" int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */ \n"); printf(" int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */ \n");
printf(" int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */ \n"); printf(" int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */ \n");
printf(" int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */ \n"); printf(" int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */ \n");
printf(" u_int32_t range_locks_max; /* max total number of range locks */ \n"); printf(" u_int64_t range_locks_max; /* max total number of range locks */ \n");
printf(" u_int32_t range_locks_curr; /* total range locks currently in use */ \n"); printf(" u_int64_t range_locks_curr; /* total range locks currently in use */ \n");
printf(" u_int64_t range_locks_max_memory; /* max total bytes of range locks */ \n"); printf(" u_int64_t range_locks_max_memory; /* max total bytes of range locks */ \n");
printf(" u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */ \n"); printf(" u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */ \n");
printf(" u_int32_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */ \n"); printf(" u_int64_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */ \n");
printf(" u_int32_t range_lock_escalation_failures; /* number of times range locks escalation failed */ \n"); printf(" u_int64_t range_lock_escalation_failures; /* number of times range locks escalation failed */ \n");
printf(" u_int64_t range_read_locks; /* total range read locks taken */ \n"); printf(" u_int64_t range_read_locks; /* total range read locks taken */ \n");
printf(" u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */ \n"); printf(" u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */ \n");
printf(" u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */ \n"); printf(" u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */ \n");
...@@ -565,11 +564,10 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__ ...@@ -565,11 +564,10 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__
printf(" u_int64_t partial_fetch_hit; /* node partition is present */ \n"); printf(" u_int64_t partial_fetch_hit; /* node partition is present */ \n");
printf(" u_int64_t partial_fetch_miss; /* node is present but partition is absent */ \n"); printf(" u_int64_t partial_fetch_miss; /* node is present but partition is absent */ \n");
printf(" u_int64_t partial_fetch_compressed; /* node partition is present but compressed */ \n"); printf(" u_int64_t partial_fetch_compressed; /* node partition is present but compressed */ \n");
printf(" u_int64_t partial_evictions_internal; /* number of internal node partial evictions */ \n"); printf(" u_int64_t partial_evictions_nonleaf; /* number of nonleaf node partial evictions */ \n");
printf(" u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */ \n"); printf(" u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */ \n");
printf(" u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */ \n"); printf(" u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */ \n");
printf(" u_int64_t max_workdone; /* max workdone value of any buffer */ \n"); printf(" u_int64_t max_workdone; /* max workdone value of any buffer */ \n");
printf(" u_int64_t dsn_gap; /* dsn has detected a gap in continuity of root-to-leaf path (internal node was evicted and re-read) */ \n");
printf(" uint64_t total_searches; /* total number of searches */ \n"); printf(" uint64_t total_searches; /* total number of searches */ \n");
printf(" uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */ \n"); printf(" uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */ \n");
printf(" uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */ \n"); printf(" uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */ \n");
...@@ -632,8 +630,8 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__ ...@@ -632,8 +630,8 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__
printf(" u_int64_t loader_close; /* number of loaders closed (succeed or fail) */ \n"); printf(" u_int64_t loader_close; /* number of loaders closed (succeed or fail) */ \n");
printf(" u_int64_t loader_close_fail; /* number of loaders closed with error return */ \n"); printf(" u_int64_t loader_close_fail; /* number of loaders closed with error return */ \n");
printf(" u_int64_t loader_abort; /* number of loaders aborted */ \n"); printf(" u_int64_t loader_abort; /* number of loaders aborted */ \n");
printf(" u_int32_t loader_current; /* number of loaders currently existing */ \n"); printf(" u_int64_t loader_current; /* number of loaders currently existing */ \n");
printf(" u_int32_t loader_max; /* max number of loaders extant simultaneously */ \n"); printf(" u_int64_t loader_max; /* max number of loaders extant simultaneously */ \n");
printf(" u_int64_t logsuppress; /* number of times logging is suppressed */ \n"); printf(" u_int64_t logsuppress; /* number of times logging is suppressed */ \n");
printf(" u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */ \n"); printf(" u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */ \n");
printf(" u_int64_t indexer_create; /* number of indexers created successfully */ \n"); printf(" u_int64_t indexer_create; /* number of indexers created successfully */ \n");
...@@ -643,8 +641,8 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__ ...@@ -643,8 +641,8 @@ int main (int argc __attribute__((__unused__)), char *const argv[] __attribute__
printf(" u_int64_t indexer_close; /* number of indexers closed successfully) */ \n"); printf(" u_int64_t indexer_close; /* number of indexers closed successfully) */ \n");
printf(" u_int64_t indexer_close_fail; /* number of indexers closed with error return */ \n"); printf(" u_int64_t indexer_close_fail; /* number of indexers closed with error return */ \n");
printf(" u_int64_t indexer_abort; /* number of indexers aborted */ \n"); printf(" u_int64_t indexer_abort; /* number of indexers aborted */ \n");
printf(" u_int32_t indexer_current; /* number of indexers currently existing */ \n"); printf(" u_int64_t indexer_current; /* number of indexers currently existing */ \n");
printf(" u_int32_t indexer_max; /* max number of indexers extant simultaneously */ \n"); printf(" u_int64_t indexer_max; /* max number of indexers extant simultaneously */ \n");
printf(" u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */ \n"); printf(" u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */ \n");
printf(" u_int64_t upgrade_header; /* how many brt headers were upgraded? */ \n"); printf(" u_int64_t upgrade_header; /* how many brt headers were upgraded? */ \n");
printf(" u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */ \n"); printf(" u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */ \n");
......
...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status { ...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status {
char startuptime[26]; /* time of engine startup */ char startuptime[26]; /* time of engine startup */
char now[26]; /* time of engine status query (i.e. now) */ char now[26]; /* time of engine status query (i.e. now) */
u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */ u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */
u_int32_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */ u_int64_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */
u_int32_t max_waiters; /* The maximum of num_waiters_now. */ u_int64_t max_waiters; /* The maximum of num_waiters_now. */
u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */ u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */
u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */ u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */
u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */ u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */
u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */ u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */
u_int32_t checkpoint_period; /* delay between automatic checkpoints */ u_int64_t checkpoint_period; /* delay between automatic checkpoints */
u_int32_t checkpoint_footprint; /* state of checkpoint procedure */ u_int64_t checkpoint_footprint; /* state of checkpoint procedure */
char checkpoint_time_begin[26]; /* time of last checkpoint begin */ char checkpoint_time_begin[26]; /* time of last checkpoint begin */
char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */ char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */
char checkpoint_time_end[26]; /* time of last checkpoint end */ char checkpoint_time_end[26]; /* time of last checkpoint end */
u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */ u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */
u_int32_t checkpoint_count; /* number of checkpoints taken */ u_int64_t checkpoint_count; /* number of checkpoints taken */
u_int32_t checkpoint_count_fail; /* number of checkpoints failed */ u_int64_t checkpoint_count_fail; /* number of checkpoints failed */
u_int32_t cleaner_period; /* delay between executions of cleaner */ u_int64_t cleaner_period; /* delay between executions of cleaner */
u_int32_t cleaner_iterations; /* number of nodes to flush per cleaner execution */ u_int64_t cleaner_iterations; /* number of nodes to flush per cleaner execution */
u_int64_t txn_begin; /* number of transactions ever begun */ u_int64_t txn_begin; /* number of transactions ever begun */
u_int64_t txn_commit; /* txn commit operations */ u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */ u_int64_t txn_abort; /* txn abort operations */
...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status { ...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status {
uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */ uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */
uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_cachepressure; /* the number of bytes of nonleaf nodes */
int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */ int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */
int64_t get_and_pin_footprint; /* state of get_and_pin procedure */ int64_t get_and_pin_footprint; /* state of get_and_pin procedure */
int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */ int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */
int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */ int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */
int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */ int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */
u_int32_t range_locks_max; /* max total number of range locks */ u_int64_t range_locks_max; /* max total number of range locks */
u_int32_t range_locks_curr; /* total range locks currently in use */ u_int64_t range_locks_curr; /* total range locks currently in use */
u_int64_t range_locks_max_memory; /* max total bytes of range locks */ u_int64_t range_locks_max_memory; /* max total bytes of range locks */
u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */ u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */
u_int32_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */ u_int64_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */
u_int32_t range_lock_escalation_failures; /* number of times range locks escalation failed */ u_int64_t range_lock_escalation_failures; /* number of times range locks escalation failed */
u_int64_t range_read_locks; /* total range read locks taken */ u_int64_t range_read_locks; /* total range read locks taken */
u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */ u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */
u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */ u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */
...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status { ...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status {
u_int64_t partial_fetch_hit; /* node partition is present */ u_int64_t partial_fetch_hit; /* node partition is present */
u_int64_t partial_fetch_miss; /* node is present but partition is absent */ u_int64_t partial_fetch_miss; /* node is present but partition is absent */
u_int64_t partial_fetch_compressed; /* node partition is present but compressed */ u_int64_t partial_fetch_compressed; /* node partition is present but compressed */
u_int64_t partial_evictions_internal; /* number of internal node partial evictions */ u_int64_t partial_evictions_nonleaf; /* number of nonleaf node partial evictions */
u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */ u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */
u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */ u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */
u_int64_t max_workdone; /* max workdone value of any buffer */ u_int64_t max_workdone; /* max workdone value of any buffer */
u_int64_t dsn_gap; /* dsn has detected a gap in continuity of root-to-leaf path (internal node was evicted and re-read) */
uint64_t total_searches; /* total number of searches */ uint64_t total_searches; /* total number of searches */
uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */ uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */
uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */ uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */
...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status { ...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status {
u_int64_t loader_close; /* number of loaders closed (succeed or fail) */ u_int64_t loader_close; /* number of loaders closed (succeed or fail) */
u_int64_t loader_close_fail; /* number of loaders closed with error return */ u_int64_t loader_close_fail; /* number of loaders closed with error return */
u_int64_t loader_abort; /* number of loaders aborted */ u_int64_t loader_abort; /* number of loaders aborted */
u_int32_t loader_current; /* number of loaders currently existing */ u_int64_t loader_current; /* number of loaders currently existing */
u_int32_t loader_max; /* max number of loaders extant simultaneously */ u_int64_t loader_max; /* max number of loaders extant simultaneously */
u_int64_t logsuppress; /* number of times logging is suppressed */ u_int64_t logsuppress; /* number of times logging is suppressed */
u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */ u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */
u_int64_t indexer_create; /* number of indexers created successfully */ u_int64_t indexer_create; /* number of indexers created successfully */
...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status { ...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status {
u_int64_t indexer_close; /* number of indexers closed successfully) */ u_int64_t indexer_close; /* number of indexers closed successfully) */
u_int64_t indexer_close_fail; /* number of indexers closed with error return */ u_int64_t indexer_close_fail; /* number of indexers closed with error return */
u_int64_t indexer_abort; /* number of indexers aborted */ u_int64_t indexer_abort; /* number of indexers aborted */
u_int32_t indexer_current; /* number of indexers currently existing */ u_int64_t indexer_current; /* number of indexers currently existing */
u_int32_t indexer_max; /* max number of indexers extant simultaneously */ u_int64_t indexer_max; /* max number of indexers extant simultaneously */
u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */ u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */
u_int64_t upgrade_header; /* how many brt headers were upgraded? */ u_int64_t upgrade_header; /* how many brt headers were upgraded? */
u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */ u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */
......
...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status { ...@@ -72,22 +72,22 @@ typedef struct __toku_engine_status {
char startuptime[26]; /* time of engine startup */ char startuptime[26]; /* time of engine startup */
char now[26]; /* time of engine status query (i.e. now) */ char now[26]; /* time of engine status query (i.e. now) */
u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */ u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released? */
u_int32_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */ u_int64_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder if any)? */
u_int32_t max_waiters; /* The maximum of num_waiters_now. */ u_int64_t max_waiters; /* The maximum of num_waiters_now. */
u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */ u_int64_t total_sleep_time; /* Total time spent (since the system was booted) sleeping (by the indexer) to give foreground threads a chance to work. */
u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */ u_int64_t max_time_ydb_lock_held; /* Maximum time that the ydb lock was held (tokutime_t). */
u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */ u_int64_t total_time_ydb_lock_held;/* Total time client threads held the ydb lock (really tokutime_t, convert to seconds with tokutime_to_seconds()) */
u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */ u_int64_t total_time_since_start; /* Total time since the lock was created (tokutime_t). Use this as total_time_ydb_lock_held/total_time_since_start to get a ratio. */
u_int32_t checkpoint_period; /* delay between automatic checkpoints */ u_int64_t checkpoint_period; /* delay between automatic checkpoints */
u_int32_t checkpoint_footprint; /* state of checkpoint procedure */ u_int64_t checkpoint_footprint; /* state of checkpoint procedure */
char checkpoint_time_begin[26]; /* time of last checkpoint begin */ char checkpoint_time_begin[26]; /* time of last checkpoint begin */
char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */ char checkpoint_time_begin_complete[26]; /* time of last complete checkpoint begin */
char checkpoint_time_end[26]; /* time of last checkpoint end */ char checkpoint_time_end[26]; /* time of last checkpoint end */
u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */ u_int64_t checkpoint_last_lsn; /* LSN of last complete checkpoint */
u_int32_t checkpoint_count; /* number of checkpoints taken */ u_int64_t checkpoint_count; /* number of checkpoints taken */
u_int32_t checkpoint_count_fail; /* number of checkpoints failed */ u_int64_t checkpoint_count_fail; /* number of checkpoints failed */
u_int32_t cleaner_period; /* delay between executions of cleaner */ u_int64_t cleaner_period; /* delay between executions of cleaner */
u_int32_t cleaner_iterations; /* number of nodes to flush per cleaner execution */ u_int64_t cleaner_iterations; /* number of nodes to flush per cleaner execution */
u_int64_t txn_begin; /* number of transactions ever begun */ u_int64_t txn_begin; /* number of transactions ever begun */
u_int64_t txn_commit; /* txn commit operations */ u_int64_t txn_commit; /* txn commit operations */
u_int64_t txn_abort; /* txn abort operations */ u_int64_t txn_abort; /* txn abort operations */
...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status { ...@@ -118,18 +118,17 @@ typedef struct __toku_engine_status {
uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */ uint64_t cachetable_size_leaf; /* the number of bytes of leaf nodes */
uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_nonleaf; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */ uint64_t cachetable_size_rollback; /* the number of bytes of nonleaf nodes */
uint64_t cachetable_size_cachepressure; /* the number of bytes of nonleaf nodes */
int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */ int64_t cachetable_size_writing; /* the sum of the sizes of the nodes being written */
int64_t get_and_pin_footprint; /* state of get_and_pin procedure */ int64_t get_and_pin_footprint; /* state of get_and_pin procedure */
int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */ int64_t local_checkpoint; /* number of times a local checkpoint is taken for commit */
int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */ int64_t local_checkpoint_files; /* number of files subjec to local checkpoint is taken for commit */
int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */ int64_t local_checkpoint_during_checkpoint; /* number of times a local checkpoint happens during normal checkpoint */
u_int32_t range_locks_max; /* max total number of range locks */ u_int64_t range_locks_max; /* max total number of range locks */
u_int32_t range_locks_curr; /* total range locks currently in use */ u_int64_t range_locks_curr; /* total range locks currently in use */
u_int64_t range_locks_max_memory; /* max total bytes of range locks */ u_int64_t range_locks_max_memory; /* max total bytes of range locks */
u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */ u_int64_t range_locks_curr_memory; /* total bytes of range locks currently in use */
u_int32_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */ u_int64_t range_lock_escalation_successes; /* number of times range locks escalation succeeded */
u_int32_t range_lock_escalation_failures; /* number of times range locks escalation failed */ u_int64_t range_lock_escalation_failures; /* number of times range locks escalation failed */
u_int64_t range_read_locks; /* total range read locks taken */ u_int64_t range_read_locks; /* total range read locks taken */
u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */ u_int64_t range_read_locks_fail; /* total range read locks unable to be taken */
u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */ u_int64_t range_out_of_read_locks; /* total times range read locks exhausted */
...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status { ...@@ -171,11 +170,10 @@ typedef struct __toku_engine_status {
u_int64_t partial_fetch_hit; /* node partition is present */ u_int64_t partial_fetch_hit; /* node partition is present */
u_int64_t partial_fetch_miss; /* node is present but partition is absent */ u_int64_t partial_fetch_miss; /* node is present but partition is absent */
u_int64_t partial_fetch_compressed; /* node partition is present but compressed */ u_int64_t partial_fetch_compressed; /* node partition is present but compressed */
u_int64_t partial_evictions_internal; /* number of internal node partial evictions */ u_int64_t partial_evictions_nonleaf; /* number of nonleaf node partial evictions */
u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */ u_int64_t partial_evictions_leaf; /* number of leaf node partial evictions */
u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */ u_int64_t msn_discards; /* how many messages were ignored by leaf because of msn */
u_int64_t max_workdone; /* max workdone value of any buffer */ u_int64_t max_workdone; /* max workdone value of any buffer */
u_int64_t dsn_gap; /* dsn has detected a gap in continuity of root-to-leaf path (internal node was evicted and re-read) */
uint64_t total_searches; /* total number of searches */ uint64_t total_searches; /* total number of searches */
uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */ uint64_t total_retries; /* total number of search retries due to TRY_AGAIN */
uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */ uint64_t max_search_excess_retries; /* max number of excess search retries (retries - treeheight) due to TRY_AGAIN */
...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status { ...@@ -237,8 +235,8 @@ typedef struct __toku_engine_status {
u_int64_t loader_close; /* number of loaders closed (succeed or fail) */ u_int64_t loader_close; /* number of loaders closed (succeed or fail) */
u_int64_t loader_close_fail; /* number of loaders closed with error return */ u_int64_t loader_close_fail; /* number of loaders closed with error return */
u_int64_t loader_abort; /* number of loaders aborted */ u_int64_t loader_abort; /* number of loaders aborted */
u_int32_t loader_current; /* number of loaders currently existing */ u_int64_t loader_current; /* number of loaders currently existing */
u_int32_t loader_max; /* max number of loaders extant simultaneously */ u_int64_t loader_max; /* max number of loaders extant simultaneously */
u_int64_t logsuppress; /* number of times logging is suppressed */ u_int64_t logsuppress; /* number of times logging is suppressed */
u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */ u_int64_t logsuppressfail; /* number of times logging cannot be suppressed */
u_int64_t indexer_create; /* number of indexers created successfully */ u_int64_t indexer_create; /* number of indexers created successfully */
...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status { ...@@ -248,8 +246,8 @@ typedef struct __toku_engine_status {
u_int64_t indexer_close; /* number of indexers closed successfully) */ u_int64_t indexer_close; /* number of indexers closed successfully) */
u_int64_t indexer_close_fail; /* number of indexers closed with error return */ u_int64_t indexer_close_fail; /* number of indexers closed with error return */
u_int64_t indexer_abort; /* number of indexers aborted */ u_int64_t indexer_abort; /* number of indexers aborted */
u_int32_t indexer_current; /* number of indexers currently existing */ u_int64_t indexer_current; /* number of indexers currently existing */
u_int32_t indexer_max; /* max number of indexers extant simultaneously */ u_int64_t indexer_max; /* max number of indexers extant simultaneously */
u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */ u_int64_t upgrade_env_status; /* Was an environment upgrade done? What was done? */
u_int64_t upgrade_header; /* how many brt headers were upgraded? */ u_int64_t upgrade_header; /* how many brt headers were upgraded? */
u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */ u_int64_t upgrade_nonleaf; /* how many brt nonleaf nodes were upgraded? */
......
...@@ -737,11 +737,10 @@ typedef struct brt_status { ...@@ -737,11 +737,10 @@ typedef struct brt_status {
u_int64_t partial_fetch_hit; // node partition is present u_int64_t partial_fetch_hit; // node partition is present
u_int64_t partial_fetch_miss; // node is present but partition is absent u_int64_t partial_fetch_miss; // node is present but partition is absent
u_int64_t partial_fetch_compressed; // node partition is present but compressed u_int64_t partial_fetch_compressed; // node partition is present but compressed
u_int64_t partial_evictions_internal; // number of internal node partial evictions u_int64_t partial_evictions_nonleaf; // number of nonleaf node partial evictions
u_int64_t partial_evictions_leaf; // number of leaf node partial evictions u_int64_t partial_evictions_leaf; // number of leaf node partial evictions
u_int64_t msn_discards; // how many messages were ignored by leaf because of msn u_int64_t msn_discards; // how many messages were ignored by leaf because of msn
u_int64_t max_workdone; // max workdone value of any buffer u_int64_t max_workdone; // max workdone value of any buffer
u_int64_t dsn_gap; // dsn has detected a gap in continuity of root-to-leaf path (internal node was evicted and re-read)
uint64_t total_searches; // total number of searches uint64_t total_searches; // total number of searches
uint64_t total_retries; // total number of search retries due to TRY_AGAIN uint64_t total_retries; // total number of search retries due to TRY_AGAIN
uint64_t max_search_excess_retries; // max number of excess search retries (retries - treeheight) due to TRY_AGAIN uint64_t max_search_excess_retries; // max number of excess search retries (retries - treeheight) due to TRY_AGAIN
......
...@@ -814,7 +814,7 @@ int toku_brtnode_pe_callback (void *brtnode_pv, PAIR_ATTR UU(old_attr), PAIR_ATT ...@@ -814,7 +814,7 @@ int toku_brtnode_pe_callback (void *brtnode_pv, PAIR_ATTR UU(old_attr), PAIR_ATT
for (int i = 0; i < node->n_children; i++) { for (int i = 0; i < node->n_children; i++) {
if (BP_STATE(node,i) == PT_AVAIL) { if (BP_STATE(node,i) == PT_AVAIL) {
if (BP_SHOULD_EVICT(node,i)) { if (BP_SHOULD_EVICT(node,i)) {
brt_status.partial_evictions_internal++; brt_status.partial_evictions_nonleaf++;
cilk_spawn compress_internal_node_partition(node, i); cilk_spawn compress_internal_node_partition(node, i);
} }
else { else {
......
...@@ -77,13 +77,13 @@ int toku_checkpoint(CACHETABLE ct, TOKULOGGER logger, ...@@ -77,13 +77,13 @@ int toku_checkpoint(CACHETABLE ct, TOKULOGGER logger,
* (If checkpoint is in progress, it may overwrite status info while it is being read.) * (If checkpoint is in progress, it may overwrite status info while it is being read.)
*****/ *****/
typedef struct { typedef struct {
u_int32_t footprint; u_int64_t footprint;
time_t time_last_checkpoint_begin_complete; time_t time_last_checkpoint_begin_complete;
time_t time_last_checkpoint_begin; time_t time_last_checkpoint_begin;
time_t time_last_checkpoint_end; time_t time_last_checkpoint_end;
uint64_t last_lsn; uint64_t last_lsn;
uint32_t checkpoint_count; uint64_t checkpoint_count;
uint32_t checkpoint_count_fail; uint64_t checkpoint_count_fail;
} CHECKPOINT_STATUS_S, *CHECKPOINT_STATUS; } CHECKPOINT_STATUS_S, *CHECKPOINT_STATUS;
void toku_checkpoint_get_status(CHECKPOINT_STATUS stat); void toku_checkpoint_get_status(CHECKPOINT_STATUS stat);
......
...@@ -109,8 +109,8 @@ struct __toku_db_env_internal { ...@@ -109,8 +109,8 @@ struct __toku_db_env_internal {
typedef struct { typedef struct {
volatile u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released. This is precise since it is updated only when the lock is held. */ volatile u_int64_t ydb_lock_ctr; /* how many times has ydb lock been taken/released. This is precise since it is updated only when the lock is held. */
volatile u_int32_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder). This is precise since it is updated with a fetch-and-add. */ volatile u_int64_t num_waiters_now; /* How many are waiting on the ydb lock right now (including the current lock holder). This is precise since it is updated with a fetch-and-add. */
volatile u_int32_t max_waiters; /* max number of simultaneous client threads kept waiting for ydb lock. This is precise (updated only when the lock is held) but may be running a little behind (while waiting for the lock it hasn't been updated). */ volatile u_int64_t max_waiters; /* max number of simultaneous client threads kept waiting for ydb lock. This is precise (updated only when the lock is held) but may be running a little behind (while waiting for the lock it hasn't been updated). */
volatile u_int64_t total_sleep_time; /* total time spent sleeping for ydb lock scheduling (useconds). This adds up over many clients. This is precise since it is updated with an atomic fetch-and-add. */ volatile u_int64_t total_sleep_time; /* total time spent sleeping for ydb lock scheduling (useconds). This adds up over many clients. This is precise since it is updated with an atomic fetch-and-add. */
volatile tokutime_t max_time_ydb_lock_held; /* max time the ydb lock was held (in microseconds). This is precise since it is updated only when the lock is held. */ volatile tokutime_t max_time_ydb_lock_held; /* max time the ydb lock was held (in microseconds). This is precise since it is updated only when the lock is held. */
volatile tokutime_t total_time_ydb_lock_held;/* total time the ydb lock has been held. */ volatile tokutime_t total_time_ydb_lock_held;/* total time the ydb lock has been held. */
......
...@@ -1985,7 +1985,6 @@ env_get_engine_status(DB_ENV * env, ENGINE_STATUS * engstat, char * env_panic_st ...@@ -1985,7 +1985,6 @@ env_get_engine_status(DB_ENV * env, ENGINE_STATUS * engstat, char * env_panic_st
engstat->cachetable_size_leaf = ctstat.size_leaf; engstat->cachetable_size_leaf = ctstat.size_leaf;
engstat->cachetable_size_nonleaf = ctstat.size_nonleaf; engstat->cachetable_size_nonleaf = ctstat.size_nonleaf;
engstat->cachetable_size_rollback = ctstat.size_rollback; engstat->cachetable_size_rollback = ctstat.size_rollback;
engstat->cachetable_size_cachepressure = ctstat.size_cachepressure;
} }
{ {
toku_ltm* ltm = env->i->ltm; toku_ltm* ltm = env->i->ltm;
...@@ -2048,11 +2047,10 @@ env_get_engine_status(DB_ENV * env, ENGINE_STATUS * engstat, char * env_panic_st ...@@ -2048,11 +2047,10 @@ env_get_engine_status(DB_ENV * env, ENGINE_STATUS * engstat, char * env_panic_st
engstat->partial_fetch_hit = brt_stat.partial_fetch_hit; engstat->partial_fetch_hit = brt_stat.partial_fetch_hit;
engstat->partial_fetch_miss = brt_stat.partial_fetch_miss; engstat->partial_fetch_miss = brt_stat.partial_fetch_miss;
engstat->partial_fetch_compressed = brt_stat.partial_fetch_compressed; engstat->partial_fetch_compressed = brt_stat.partial_fetch_compressed;
engstat->partial_evictions_internal = brt_stat.partial_evictions_internal; engstat->partial_evictions_nonleaf = brt_stat.partial_evictions_nonleaf;
engstat->partial_evictions_leaf = brt_stat.partial_evictions_leaf; engstat->partial_evictions_leaf = brt_stat.partial_evictions_leaf;
engstat->msn_discards = brt_stat.msn_discards; engstat->msn_discards = brt_stat.msn_discards;
engstat->max_workdone = brt_stat.max_workdone; engstat->max_workdone = brt_stat.max_workdone;
engstat->dsn_gap = brt_stat.dsn_gap;
engstat->total_searches = brt_stat.total_searches; engstat->total_searches = brt_stat.total_searches;
engstat->total_retries = brt_stat.total_retries; engstat->total_retries = brt_stat.total_retries;
engstat->max_search_excess_retries = brt_stat.max_search_excess_retries; engstat->max_search_excess_retries = brt_stat.max_search_excess_retries;
...@@ -2222,30 +2220,30 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) { ...@@ -2222,30 +2220,30 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) {
} }
else { else {
n += snprintf(buff + n, bufsiz - n, "env panic %"PRIu64"\n", engstat.env_panic); n += snprintf(buff + n, bufsiz - n, "env panic %"PRIu64"\n", engstat.env_panic);
n += snprintf(buff + n, bufsiz - n, "creationtime %s \n", engstat.creationtime); n += snprintf(buff + n, bufsiz - n, "creationtime %s \n", engstat.creationtime);
n += snprintf(buff + n, bufsiz - n, "startuptime %s \n", engstat.startuptime); n += snprintf(buff + n, bufsiz - n, "startuptime %s \n", engstat.startuptime);
n += snprintf(buff + n, bufsiz - n, "now %s \n", engstat.now); n += snprintf(buff + n, bufsiz - n, "now %s \n", engstat.now);
n += snprintf(buff + n, bufsiz - n, "ydb_lock_ctr %"PRIu64"\n", engstat.ydb_lock_ctr); n += snprintf(buff + n, bufsiz - n, "ydb_lock_ctr %"PRIu64"\n", engstat.ydb_lock_ctr);
n += snprintf(buff + n, bufsiz - n, "num_waiters_now %"PRIu32"\n", engstat.num_waiters_now); n += snprintf(buff + n, bufsiz - n, "num_waiters_now %"PRIu64"\n", engstat.num_waiters_now);
n += snprintf(buff + n, bufsiz - n, "max_waiters %"PRIu32"\n", engstat.max_waiters); n += snprintf(buff + n, bufsiz - n, "max_waiters %"PRIu64"\n", engstat.max_waiters);
n += snprintf(buff + n, bufsiz - n, "total_sleep_time %"PRIu64"\n", engstat.total_sleep_time); n += snprintf(buff + n, bufsiz - n, "total_sleep_time %"PRIu64"\n", engstat.total_sleep_time);
n += snprintf(buff + n, bufsiz - n, "max_time_ydb_lock_held %.6f\n", tokutime_to_seconds(engstat.max_time_ydb_lock_held)); n += snprintf(buff + n, bufsiz - n, "max_time_ydb_lock_held %.6f\n", tokutime_to_seconds(engstat.max_time_ydb_lock_held));
n += snprintf(buff + n, bufsiz - n, "total_time_ydb_lock_held %.6f\n", tokutime_to_seconds(engstat.total_time_ydb_lock_held)); n += snprintf(buff + n, bufsiz - n, "total_time_ydb_lock_held %.6f\n", tokutime_to_seconds(engstat.total_time_ydb_lock_held));
n += snprintf(buff + n, bufsiz - n, "total_time_since_start %"PRIu64"\n", engstat.total_time_since_start); n += snprintf(buff + n, bufsiz - n, "total_time_since_start %.6f\n", tokutime_to_seconds(engstat.total_time_since_start));
n += snprintf(buff + n, bufsiz - n, "le_max_committed_xr %"PRIu64"\n", engstat.le_max_committed_xr); n += snprintf(buff + n, bufsiz - n, "le_max_committed_xr %"PRIu64"\n", engstat.le_max_committed_xr);
n += snprintf(buff + n, bufsiz - n, "le_max_provisional_xr %"PRIu64"\n", engstat.le_max_provisional_xr); n += snprintf(buff + n, bufsiz - n, "le_max_provisional_xr %"PRIu64"\n", engstat.le_max_provisional_xr);
n += snprintf(buff + n, bufsiz - n, "le_expanded %"PRIu64"\n", engstat.le_expanded); n += snprintf(buff + n, bufsiz - n, "le_expanded %"PRIu64"\n", engstat.le_expanded);
n += snprintf(buff + n, bufsiz - n, "le_max_memsize %"PRIu64"\n", engstat.le_max_memsize); n += snprintf(buff + n, bufsiz - n, "le_max_memsize %"PRIu64"\n", engstat.le_max_memsize);
n += snprintf(buff + n, bufsiz - n, "checkpoint_period %d \n", engstat.checkpoint_period); n += snprintf(buff + n, bufsiz - n, "checkpoint_period %"PRIu64"\n", engstat.checkpoint_period);
n += snprintf(buff + n, bufsiz - n, "checkpoint_footprint %d \n", engstat.checkpoint_footprint); n += snprintf(buff + n, bufsiz - n, "checkpoint_footprint %"PRIu64"\n", engstat.checkpoint_footprint);
n += snprintf(buff + n, bufsiz - n, "checkpoint_time_begin %s \n", engstat.checkpoint_time_begin); n += snprintf(buff + n, bufsiz - n, "checkpoint_time_begin %s \n", engstat.checkpoint_time_begin);
n += snprintf(buff + n, bufsiz - n, "checkpoint_time_begin_complete %s \n", engstat.checkpoint_time_begin_complete); n += snprintf(buff + n, bufsiz - n, "checkpoint_time_begin_complete %s \n", engstat.checkpoint_time_begin_complete);
n += snprintf(buff + n, bufsiz - n, "checkpoint_time_end %s \n", engstat.checkpoint_time_end); n += snprintf(buff + n, bufsiz - n, "checkpoint_time_end %s \n", engstat.checkpoint_time_end);
n += snprintf(buff + n, bufsiz - n, "checkpoint_last_lsn %"PRIu64"\n", engstat.checkpoint_last_lsn); n += snprintf(buff + n, bufsiz - n, "checkpoint_last_lsn %"PRIu64"\n", engstat.checkpoint_last_lsn);
n += snprintf(buff + n, bufsiz - n, "checkpoint_count %"PRIu32"\n", engstat.checkpoint_count); n += snprintf(buff + n, bufsiz - n, "checkpoint_count %"PRIu64"\n", engstat.checkpoint_count);
n += snprintf(buff + n, bufsiz - n, "checkpoint_count_fail %"PRIu32"\n", engstat.checkpoint_count_fail); n += snprintf(buff + n, bufsiz - n, "checkpoint_count_fail %"PRIu64"\n", engstat.checkpoint_count_fail);
n += snprintf(buff + n, bufsiz - n, "cleaner_period %"PRIu32"\n", engstat.cleaner_period); n += snprintf(buff + n, bufsiz - n, "cleaner_period %"PRIu64"\n", engstat.cleaner_period);
n += snprintf(buff + n, bufsiz - n, "cleaner_iterations %"PRIu32"\n", engstat.cleaner_iterations); n += snprintf(buff + n, bufsiz - n, "cleaner_iterations %"PRIu64"\n", engstat.cleaner_iterations);
n += snprintf(buff + n, bufsiz - n, "txn_begin %"PRIu64"\n", engstat.txn_begin); n += snprintf(buff + n, bufsiz - n, "txn_begin %"PRIu64"\n", engstat.txn_begin);
n += snprintf(buff + n, bufsiz - n, "txn_commit %"PRIu64"\n", engstat.txn_commit); n += snprintf(buff + n, bufsiz - n, "txn_commit %"PRIu64"\n", engstat.txn_commit);
n += snprintf(buff + n, bufsiz - n, "txn_abort %"PRIu64"\n", engstat.txn_abort); n += snprintf(buff + n, bufsiz - n, "txn_abort %"PRIu64"\n", engstat.txn_abort);
...@@ -2274,18 +2272,17 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) { ...@@ -2274,18 +2272,17 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) {
n += snprintf(buff + n, bufsiz - n, "cachetable_size_leaf %"PRIu64"\n", engstat.cachetable_size_leaf); n += snprintf(buff + n, bufsiz - n, "cachetable_size_leaf %"PRIu64"\n", engstat.cachetable_size_leaf);
n += snprintf(buff + n, bufsiz - n, "cachetable_size_nonleaf %"PRIu64"\n", engstat.cachetable_size_nonleaf); n += snprintf(buff + n, bufsiz - n, "cachetable_size_nonleaf %"PRIu64"\n", engstat.cachetable_size_nonleaf);
n += snprintf(buff + n, bufsiz - n, "cachetable_size_rollback %"PRIu64"\n", engstat.cachetable_size_rollback); n += snprintf(buff + n, bufsiz - n, "cachetable_size_rollback %"PRIu64"\n", engstat.cachetable_size_rollback);
n += snprintf(buff + n, bufsiz - n, "cachetable_size_cachepresure %"PRIu64"\n", engstat.cachetable_size_cachepressure);
n += snprintf(buff + n, bufsiz - n, "cachetable_size_writing %"PRId64"\n", engstat.cachetable_size_writing); n += snprintf(buff + n, bufsiz - n, "cachetable_size_writing %"PRId64"\n", engstat.cachetable_size_writing);
n += snprintf(buff + n, bufsiz - n, "get_and_pin_footprint %"PRId64"\n", engstat.get_and_pin_footprint); n += snprintf(buff + n, bufsiz - n, "get_and_pin_footprint %"PRId64"\n", engstat.get_and_pin_footprint);
n += snprintf(buff + n, bufsiz - n, "local_checkpoint %"PRId64"\n", engstat.local_checkpoint); n += snprintf(buff + n, bufsiz - n, "local_checkpoint %"PRId64"\n", engstat.local_checkpoint);
n += snprintf(buff + n, bufsiz - n, "local_checkpoint_files %"PRId64"\n", engstat.local_checkpoint_files); n += snprintf(buff + n, bufsiz - n, "local_checkpoint_files %"PRId64"\n", engstat.local_checkpoint_files);
n += snprintf(buff + n, bufsiz - n, "local_checkpoint_during_checkpoint %"PRId64"\n", engstat.local_checkpoint_during_checkpoint); n += snprintf(buff + n, bufsiz - n, "local_checkpoint_during_checkpoint %"PRId64"\n", engstat.local_checkpoint_during_checkpoint);
n += snprintf(buff + n, bufsiz - n, "range_locks_max %"PRIu32"\n", engstat.range_locks_max); n += snprintf(buff + n, bufsiz - n, "range_locks_max %"PRIu64"\n", engstat.range_locks_max);
n += snprintf(buff + n, bufsiz - n, "range_locks_curr %"PRIu32"\n", engstat.range_locks_curr); n += snprintf(buff + n, bufsiz - n, "range_locks_curr %"PRIu64"\n", engstat.range_locks_curr);
n += snprintf(buff + n, bufsiz - n, "range_locks_max_memory %"PRIu64"\n", engstat.range_locks_max_memory); n += snprintf(buff + n, bufsiz - n, "range_locks_max_memory %"PRIu64"\n", engstat.range_locks_max_memory);
n += snprintf(buff + n, bufsiz - n, "range_locks_curr_memory %"PRIu64"\n", engstat.range_locks_curr_memory); n += snprintf(buff + n, bufsiz - n, "range_locks_curr_memory %"PRIu64"\n", engstat.range_locks_curr_memory);
n += snprintf(buff + n, bufsiz - n, "range_locks_escalation_successes %"PRIu32"\n", engstat.range_lock_escalation_successes); n += snprintf(buff + n, bufsiz - n, "range_locks_escalation_successes %"PRIu64"\n", engstat.range_lock_escalation_successes);
n += snprintf(buff + n, bufsiz - n, "range_locks_escalation_failures %"PRIu32"\n", engstat.range_lock_escalation_failures); n += snprintf(buff + n, bufsiz - n, "range_locks_escalation_failures %"PRIu64"\n", engstat.range_lock_escalation_failures);
n += snprintf(buff + n, bufsiz - n, "range_read_locks %"PRIu64"\n", engstat.range_read_locks); n += snprintf(buff + n, bufsiz - n, "range_read_locks %"PRIu64"\n", engstat.range_read_locks);
n += snprintf(buff + n, bufsiz - n, "range_read_locks_fail %"PRIu64"\n", engstat.range_read_locks_fail); n += snprintf(buff + n, bufsiz - n, "range_read_locks_fail %"PRIu64"\n", engstat.range_read_locks_fail);
n += snprintf(buff + n, bufsiz - n, "range_out_of_read_locks %"PRIu64"\n", engstat.range_out_of_read_locks); n += snprintf(buff + n, bufsiz - n, "range_out_of_read_locks %"PRIu64"\n", engstat.range_out_of_read_locks);
...@@ -2311,11 +2308,10 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) { ...@@ -2311,11 +2308,10 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) {
n += snprintf(buff + n, bufsiz - n, "partial_fetch_hit %"PRIu64"\n", engstat.partial_fetch_hit); n += snprintf(buff + n, bufsiz - n, "partial_fetch_hit %"PRIu64"\n", engstat.partial_fetch_hit);
n += snprintf(buff + n, bufsiz - n, "partial_fetch_miss %"PRIu64"\n", engstat.partial_fetch_miss); n += snprintf(buff + n, bufsiz - n, "partial_fetch_miss %"PRIu64"\n", engstat.partial_fetch_miss);
n += snprintf(buff + n, bufsiz - n, "partial_fetch_compressed %"PRIu64"\n", engstat.partial_fetch_compressed); n += snprintf(buff + n, bufsiz - n, "partial_fetch_compressed %"PRIu64"\n", engstat.partial_fetch_compressed);
n += snprintf(buff + n, bufsiz - n, "partial_evictions_internal %"PRIu64"\n", engstat.partial_evictions_internal); n += snprintf(buff + n, bufsiz - n, "partial_evictions_nonleaf %"PRIu64"\n", engstat.partial_evictions_nonleaf);
n += snprintf(buff + n, bufsiz - n, "partial_evictions_leaf %"PRIu64"\n", engstat.partial_evictions_leaf); n += snprintf(buff + n, bufsiz - n, "partial_evictions_leaf %"PRIu64"\n", engstat.partial_evictions_leaf);
n += snprintf(buff + n, bufsiz - n, "msn_discards %"PRIu64"\n", engstat.msn_discards); n += snprintf(buff + n, bufsiz - n, "msn_discards %"PRIu64"\n", engstat.msn_discards);
n += snprintf(buff + n, bufsiz - n, "max_workdone %"PRIu64"\n", engstat.max_workdone); n += snprintf(buff + n, bufsiz - n, "max_workdone %"PRIu64"\n", engstat.max_workdone);
n += snprintf(buff + n, bufsiz - n, "dsn_gap %"PRIu64"\n", engstat.dsn_gap);
n += snprintf(buff + n, bufsiz - n, "total_searches %"PRIu64"\n", engstat.total_searches); n += snprintf(buff + n, bufsiz - n, "total_searches %"PRIu64"\n", engstat.total_searches);
n += snprintf(buff + n, bufsiz - n, "total_retries %"PRIu64"\n", engstat.total_retries); n += snprintf(buff + n, bufsiz - n, "total_retries %"PRIu64"\n", engstat.total_retries);
n += snprintf(buff + n, bufsiz - n, "max_search_excess_retries %"PRIu64"\n", engstat.max_search_excess_retries); n += snprintf(buff + n, bufsiz - n, "max_search_excess_retries %"PRIu64"\n", engstat.max_search_excess_retries);
...@@ -2379,7 +2375,7 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) { ...@@ -2379,7 +2375,7 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) {
n += snprintf(buff + n, bufsiz - n, "logger swap count %"PRIu64"\n", engstat.logger_swap_ctr); n += snprintf(buff + n, bufsiz - n, "logger swap count %"PRIu64"\n", engstat.logger_swap_ctr);
n += snprintf(buff + n, bufsiz - n, "logger panic %"PRIu64"\n", engstat.logger_panic); n += snprintf(buff + n, bufsiz - n, "logger panic %"PRIu64"\n", engstat.logger_panic);
n += snprintf(buff + n, bufsiz - n, "logger panic_errno %"PRIu64"\n", engstat.logger_panic_errno); n += snprintf(buff + n, bufsiz - n, "logger panic_errno %"PRIu64"\n", engstat.logger_panic_errno);
n += snprintf(buff + n, bufsiz - n, "enospc_most_recent %s \n", engstat.enospc_most_recent); n += snprintf(buff + n, bufsiz - n, "enospc_most_recent %s \n", engstat.enospc_most_recent);
n += snprintf(buff + n, bufsiz - n, "enospc threads blocked %"PRIu64"\n", engstat.enospc_threads_blocked); n += snprintf(buff + n, bufsiz - n, "enospc threads blocked %"PRIu64"\n", engstat.enospc_threads_blocked);
n += snprintf(buff + n, bufsiz - n, "enospc count %"PRIu64"\n", engstat.enospc_ctr); n += snprintf(buff + n, bufsiz - n, "enospc count %"PRIu64"\n", engstat.enospc_ctr);
n += snprintf(buff + n, bufsiz - n, "enospc redzone ctr %"PRIu64"\n", engstat.enospc_redzone_ctr); n += snprintf(buff + n, bufsiz - n, "enospc redzone ctr %"PRIu64"\n", engstat.enospc_redzone_ctr);
...@@ -2391,8 +2387,8 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) { ...@@ -2391,8 +2387,8 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) {
n += snprintf(buff + n, bufsiz - n, "loader_close %"PRIu64"\n", engstat.loader_close); n += snprintf(buff + n, bufsiz - n, "loader_close %"PRIu64"\n", engstat.loader_close);
n += snprintf(buff + n, bufsiz - n, "loader_close_fail %"PRIu64"\n", engstat.loader_close_fail); n += snprintf(buff + n, bufsiz - n, "loader_close_fail %"PRIu64"\n", engstat.loader_close_fail);
n += snprintf(buff + n, bufsiz - n, "loader_abort %"PRIu64"\n", engstat.loader_abort); n += snprintf(buff + n, bufsiz - n, "loader_abort %"PRIu64"\n", engstat.loader_abort);
n += snprintf(buff + n, bufsiz - n, "loader_current %"PRIu32"\n", engstat.loader_current); n += snprintf(buff + n, bufsiz - n, "loader_current %"PRIu64"\n", engstat.loader_current);
n += snprintf(buff + n, bufsiz - n, "loader_max %"PRIu32"\n", engstat.loader_max); n += snprintf(buff + n, bufsiz - n, "loader_max %"PRIu64"\n", engstat.loader_max);
n += snprintf(buff + n, bufsiz - n, "logsuppress %"PRIu64"\n", engstat.logsuppress); n += snprintf(buff + n, bufsiz - n, "logsuppress %"PRIu64"\n", engstat.logsuppress);
n += snprintf(buff + n, bufsiz - n, "logsuppressfail %"PRIu64"\n", engstat.logsuppressfail); n += snprintf(buff + n, bufsiz - n, "logsuppressfail %"PRIu64"\n", engstat.logsuppressfail);
n += snprintf(buff + n, bufsiz - n, "indexer_create %"PRIu64"\n", engstat.indexer_create); n += snprintf(buff + n, bufsiz - n, "indexer_create %"PRIu64"\n", engstat.indexer_create);
...@@ -2402,8 +2398,8 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) { ...@@ -2402,8 +2398,8 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) {
n += snprintf(buff + n, bufsiz - n, "indexer_close %"PRIu64"\n", engstat.indexer_close); n += snprintf(buff + n, bufsiz - n, "indexer_close %"PRIu64"\n", engstat.indexer_close);
n += snprintf(buff + n, bufsiz - n, "indexer_close_fail %"PRIu64"\n", engstat.indexer_close_fail); n += snprintf(buff + n, bufsiz - n, "indexer_close_fail %"PRIu64"\n", engstat.indexer_close_fail);
n += snprintf(buff + n, bufsiz - n, "indexer_abort %"PRIu64"\n", engstat.indexer_abort); n += snprintf(buff + n, bufsiz - n, "indexer_abort %"PRIu64"\n", engstat.indexer_abort);
n += snprintf(buff + n, bufsiz - n, "indexer_current %"PRIu32"\n", engstat.indexer_current); n += snprintf(buff + n, bufsiz - n, "indexer_current %"PRIu64"\n", engstat.indexer_current);
n += snprintf(buff + n, bufsiz - n, "indexer_max %"PRIu32"\n", engstat.indexer_max); n += snprintf(buff + n, bufsiz - n, "indexer_max %"PRIu64"\n", engstat.indexer_max);
n += snprintf(buff + n, bufsiz - n, "upgrade_env_status %"PRIu64"\n", engstat.upgrade_env_status); n += snprintf(buff + n, bufsiz - n, "upgrade_env_status %"PRIu64"\n", engstat.upgrade_env_status);
n += snprintf(buff + n, bufsiz - n, "upgrade_header %"PRIu64"\n", engstat.upgrade_header); n += snprintf(buff + n, bufsiz - n, "upgrade_header %"PRIu64"\n", engstat.upgrade_header);
n += snprintf(buff + n, bufsiz - n, "upgrade_nonleaf %"PRIu64"\n", engstat.upgrade_nonleaf); n += snprintf(buff + n, bufsiz - n, "upgrade_nonleaf %"PRIu64"\n", engstat.upgrade_nonleaf);
...@@ -2412,7 +2408,7 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) { ...@@ -2412,7 +2408,7 @@ env_get_engine_status_text(DB_ENV * env, char * buff, int bufsiz) {
n += snprintf(buff + n, bufsiz - n, "original_ver %"PRIu64"\n", engstat.original_ver); n += snprintf(buff + n, bufsiz - n, "original_ver %"PRIu64"\n", engstat.original_ver);
n += snprintf(buff + n, bufsiz - n, "ver_at_startup %"PRIu64"\n", engstat.ver_at_startup); n += snprintf(buff + n, bufsiz - n, "ver_at_startup %"PRIu64"\n", engstat.ver_at_startup);
n += snprintf(buff + n, bufsiz - n, "last_lsn_v13 %"PRIu64"\n", engstat.last_lsn_v13); n += snprintf(buff + n, bufsiz - n, "last_lsn_v13 %"PRIu64"\n", engstat.last_lsn_v13);
n += snprintf(buff + n, bufsiz - n, "upgrade_v14_time %s \n", engstat.upgrade_v14_time); n += snprintf(buff + n, bufsiz - n, "upgrade_v14_time %s \n", engstat.upgrade_v14_time);
n += snprintf(buff + n, bufsiz - n, "malloc_count %"PRIu64"\n", engstat.malloc_count); n += snprintf(buff + n, bufsiz - n, "malloc_count %"PRIu64"\n", engstat.malloc_count);
n += snprintf(buff + n, bufsiz - n, "free_count %"PRIu64"\n", engstat.free_count); n += snprintf(buff + n, bufsiz - n, "free_count %"PRIu64"\n", engstat.free_count);
n += snprintf(buff + n, bufsiz - n, "realloc_count %"PRIu64"\n", engstat.realloc_count); n += snprintf(buff + n, bufsiz - n, "realloc_count %"PRIu64"\n", engstat.realloc_count);
......
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