Hi All, Attached is the patch, which extend the existing wait event infrastructure to implement the wait events for the disk I/O. Basically pg_stat_activity's wait event information to show data about disk I/O as well as IPC primitives.
Implementation details: - Added PG_WAIT_IO to pgstat.h and a new enum WaitEventIO - Added a wait_event_info argument to FileRead, FileWrite, FilePrefetch, FileWriteback, FileSync, and FileTruncate. Set this wait event just before performing the file system operation and clear it just after. - Pass down an appropriate wait event from caller of any of those functions. - Also set and clear a wait event around standalone calls to read(), write(), fsync() in other parts of the system. - Added documentation for all newly added wait event. Open issue: - Might missed few standalone calls to read(), write(), etc which need to pass the wait_event_info. Thanks to my colleague Robert Haas for his help in design. Please let me know your thought, and thanks for reading. Thanks, Rushabh Lathia www.EnterpriseDB.com
wait_event_disk_IO.patch
Description: binary/octet-stream
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers