Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Perfetto - Support Processing of Block Disk I/O events into processed table #37

Open
ivberg opened this issue Sep 3, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@ivberg
Copy link
Contributor

ivberg commented Sep 3, 2021

Feature request for the Perfetto plugin to support processing Block I/O and Ext4 events into their own table.

Would give useful graphs and processed data like we have for LTTng like:

  • IOs be Devices, ThreadId, Cmd
  • Disk IO Utilization %
  • IO Latencies Over Times
  • Throughput - IOPS
  • Throughput - MBps

Perfetto Android traces via FTrace can already capture Disk I/O events. These events do already show up in the Perfetto plugin as individual events in "Perfetto FTrace Events". Examples:
ext4_da_write_begin
ext4_da_write_end
block_rq_issue
block_rq_complete
ext4_sync_file_enter
ext4_sync_file_exit

These raw events are present in our Perfetto plugin, and give similar info as LTTng. They are just not useful unless correlated together to present more human useful views.

They don't seem to have 1st class support in Perfetto trace processor and end up as raw events in Perfetto SQL - https://perfetto.dev/docs/analysis/sql-tables#raw.

The work would be to do similar post processing as LTTng on these events based on the PerfettoFtraceEventCooker. Some of the work should be replicated, and some refactored into common code to share between the 2 implementations.

@ivberg ivberg added the enhancement New feature or request label Sep 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants