Skip to content

feat: Add IO tracing functionality#54

Merged
hao022 merged 2 commits intoccfos:mainfrom
alahaiyo:iotracing
Nov 4, 2025
Merged

feat: Add IO tracing functionality#54
hao022 merged 2 commits intoccfos:mainfrom
alahaiyo:iotracing

Conversation

@alahaiyo
Copy link
Copy Markdown
Contributor

@alahaiyo alahaiyo commented Nov 3, 2025

Add eBPF-based IO performance monitoring and diagnostic tool to resolve application request delays caused by full disk IO bandwidth or sudden IO access spikes.

Key Features:

  • Monitor block layer and filesystem IO operations, collecting latency, throughput and other metrics
  • Support multi-device filtering to focus on IO from specific devices
  • Automatically trigger data collection when IO latency or utilization exceeds thresholds
  • Provide context information including filename, path, disk device, inode number, container, etc.
  • Collect IO scheduling latency call stacks to help identify root causes

Implementation Components:

  • bpf/iotracing.c: Core BPF program implementing kernel-level IO data collection
  • cmd/iotracing/: Command-line tool supporting multi-device filtering and multiple output formats
  • core/autotracing/iotracing.go: Automatic triggering mechanism and threshold detection
  • internal/conf/config.go: Configuration parameter definitions

Kunhai Dai added 2 commits November 2, 2025 22:32
Change return type from []pod.Container to []*pod.Container in
container API functions to improve performance by avoiding unnecessary
data copying.

Signed-off-by: Kunhai Dai <[email protected]>
Implement eBPF-based IO performance monitoring tool to detect disk IO latency anomalies and performance issues.
- Add BPF program to monitor block layer and filesystem IO operations
- Implement multi-device filtering supporting up to 16 devices
- Provide command-line tool and automatic triggering mechanism
- Support JSON and text format output

Signed-off-by: Kunhai Dai <[email protected]>
@hao022 hao022 merged commit df581ab into ccfos:main Nov 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants