A guided tour of the the Performance Co-Pilot toolkit, using real-world examples of production system analysis to explain use of PCP to triage and solve performance problems. We'll explore the use of all of the common PCP tools, and many of the lesser-known ones too.
This talk will provide a solid foundation for anyone new to the tools, as well as a deeper understanding of the "how" and "why" of system-level analysis using PCP for those folk with more experience.
The next-generation of Performance Co-Pilot involves tackling performance analysis problems at scale, and making analysis possible across dynamic deployments with very large numbers of hosts and metrics.
This talk will provide a practical introduction to Redis and the new fast, scalable PCP time series querying language that has been built using it. New, underlying technology that has been introduced into PCP - such as metric and host labeling, time series and source identification - will be described in detail.
A hands-on tutorial on instrumenting a web service with Parfait We'll build an instrumented web service first using the parfait-agent, and then advancing to custom application level metrics.
Finally, web dashboards will be constructed from these metrics showing the JVM, application and system level activity.
In the 2017 Google Summer of Code program, I was involved in updating the Device Mapper PMDA (Performance Metric Domain Agent) to support a new Device Mapper statistics API, mentored by Bryn Reeves and Mark Goodwin from Red Hat.
This talk will describe the sorts of things I learned as a GSoC student, as well as the functionality that was introduced over the summer.
It would be well suited to anyone considering involvement in the Google Summer of Code program as either a student or mentor, to gain insight into what is involved working with the PCP organisation mentors.
pcp-pidstat is a PCP command used for monitoring individual tasks being managed by the Linux kernel. It is inspired by the pidstat command and aims to be command line and output compatible with it.
A feature recently added to pcp-pidstat is the ability to report on process states (blocked, sleeping, zombie, running) and the amount of time spent in each state. This session discusses the tool, its code and architecture, and the process state tracking feature.
PCP can be used to monitor and ingest performance data from thousands of sources, including Prometheus end-points and hundreds of other system and application specific plugins.
This talk covers how we achieved this, the engineering challenges and how this data can be stored in a clustered Redis system, dynamically managed, queried and presented, to help monitor and optimize large scale hybrid-cloud deployments.
Features and improvements are being added to PCP all the time. This session will go through many of the features recently added so far this year, and then go onto covering the short term roadmap of active projects.
Demonstrations of some of the efforts of our 2018 Google Summer of Code students will be presented.
To close the day we will hold a panel discussion with the PCP developers. This session will be open to everyone to bring up any new ideas, hot topics and trends, or other directions you would like to see PCP take.
We will also hold a quick retrospective on the conference itself, where attendees and speakers can raise anything they would like to see done differently, or kept the same in future PCP conferences.
Locations for next years conference will also be open for discussion!