Skip to content

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

@ivberg

Description

@ivberg

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.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions