Session statistics to be added are:
Field | WiredTiger stat reference |
data: {bytesRead:} | WT_STAT_SESS_BLOCK_BYTE_READ |
data: {bytesWritten:} | WT_STAT_SESS_BLOCK_BYTE_WRITE |
data: {timeReadingMicros:} | WT_STAT_SESS_BLOCK_READ_TIME |
data: {timeWritingMicros:} | WT_STAT_SESS_BLOCK_WRITE_TIME |
timeWaitingMicros: {cache:} | WT_STAT_SESS_APPLICATION_CACHE_TIME |
timeWaitingMicros: {schemaLock:} | WT_STAT_SESS_LOCK_SCHEMA_WAIT_APPLICATION |
timeWaitingMicros: {handleLock:} | WT_STAT_SESS_LOCK_DHANDLE_WAIT_APPLICATION |
Since the session statistics will only be accessed single threaded, we do not need multiple slots and instead the goal is to be space efficient. Hence we do not need to generate the aggregate or clear_all functionality for these statistics, modify stat.py accordingly.
Scope includes exploring the possibility to avoid duplication of these statistics in conjunction with connection statistics. If it is too much work to avoid duplication, it is okay to redefine the same statistics again in a different category.
If duplicating then work needed to avoid duplication to be outlined as part of this ticket.