mirror of
https://github.com/postgres/postgres.git
synced 2025-11-22 12:22:45 +03:00
Add local_blk_{read|write}_time I/O timing statistics for local blocks
There was no I/O timing statistics for counting read and write timings on local blocks, contrary to the counterparts for temp and shared blocks. This information is available when track_io_timing is enabled. The output of EXPLAIN is updated to show this information. An update of pg_stat_statements is planned next. Author: Nazir Bilal Yavuz Reviewed-by: Robert Haas, Melanie Plageman Discussion: https://postgr.es/m/CAN55FZ19Ss279mZuqGbuUNxka0iPbLgYuOQXqAKewrjNrp27VA@mail.gmail.com
This commit is contained in:
@@ -124,12 +124,16 @@ pgstat_count_io_op_time(IOObject io_object, IOContext io_context, IOOp io_op,
|
||||
pgstat_count_buffer_write_time(INSTR_TIME_GET_MICROSEC(io_time));
|
||||
if (io_object == IOOBJECT_RELATION)
|
||||
INSTR_TIME_ADD(pgBufferUsage.shared_blk_write_time, io_time);
|
||||
else if (io_object == IOOBJECT_TEMP_RELATION)
|
||||
INSTR_TIME_ADD(pgBufferUsage.local_blk_write_time, io_time);
|
||||
}
|
||||
else if (io_op == IOOP_READ)
|
||||
{
|
||||
pgstat_count_buffer_read_time(INSTR_TIME_GET_MICROSEC(io_time));
|
||||
if (io_object == IOOBJECT_RELATION)
|
||||
INSTR_TIME_ADD(pgBufferUsage.shared_blk_read_time, io_time);
|
||||
else if (io_object == IOOBJECT_TEMP_RELATION)
|
||||
INSTR_TIME_ADD(pgBufferUsage.local_blk_read_time, io_time);
|
||||
}
|
||||
|
||||
INSTR_TIME_ADD(PendingIOStats.pending_times[io_object][io_context][io_op],
|
||||
|
||||
Reference in New Issue
Block a user