Skip to content

Stats Collection and Visualization #231

@dthain

Description

@dthain

Make several improvements in stats collection in the kernel:

  • Add a system call to query the current buffer cache stats. (They are already collected)
  • Add a similar stats collection to the kobject layer, so we can observe objects at a finer granularity.
  • Move the stats collection that is currently in ata up into the struct device_driver object instead, so that the device module automatically counts ops on each device driver in summary.

With that, the user should be able to do this:

syscall_device_stats(name,&dstats)
syscall_object_stats(fd,&ostats)
syscall_process_stats(pid,&pstats)
syscall_bcache_stats(&bstats)

Now, here is the fun part: build a little graphics visualization of one of these, say the buffer cache stats. Query the stats once per second and keep all the values going back, say, one minute. Plot each one as a single vertical line and move everything over one per second.

Then, start up the window manage with something interesting in the top window, and the visulization in the bottom window, and watch the I/O behavior over time.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions