Skip to content

Stats Collection and Visualization #231

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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