Skip to content

Instantly share code, notes, and snippets.

@4ge32
Last active August 27, 2017 20:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 4ge32/6de49f941be9fc34e1e052258beac61a to your computer and use it in GitHub Desktop.
Save 4ge32/6de49f941be9fc34e1e052258beac61a to your computer and use it in GitHub Desktop.

Device Mapper Statistics for PCP

Abstract

Performance Co-Pilot (PCP) is a system performance and analysis framework. It has an agent-based architecture, which has many kinds of agents called PMDAs, Performance Metric Domain Agents are responsible for collecting performance metrics. Each agent reports the collected metrics to a daemon, called the PMCD, Performance Metric Collection Daemon. We can see the collect values with PCP's set of client tools, pmval, pminfo, pmrep, etc.
Device-Mapper is the Linux kernel framework for mapping physical block devices onto higher-level virtual block devices. It realizes software RAIDS, IO multipath, cache volumes, thin provisioning and snapshots.
To investigate Device-Mapper devices behavior, we sometimes need more flexible statistics data than traditional iostat data. To make life easier for users who would like to use the PCP tools for their performance measurements and monitoring, We will create a new PCP PMDA that provides flexible and powerful IO statistics for Device-Mapper.

Work Completed

Future Work to be done

A function that can use dmstats latency and IO distribution histogram hasn't merged yet. We should test that code before merging the code. Some additional change is also expected. I'll have done it. We aim to include these functions on October PCP update.

Acknowledgements

I am grateful to bmr for helping dmstats fields, reviewing code and cooperating with me since the stage of writing GSoC proposal. I would like to thank Goodwins and Nathans for helping PCP side problem. I also thank PCP member for accepting me, helping me, giving me great summer experience.

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