SlideShare a Scribd company logo
PCP Introduction1
GETTING STARTED WITH
PERFORMANCE CO-PILOT
Paul V. Novarese
pvn@redhat.com
Strategic Customer Engagement
26 March 2015
Burbank, CA
PCP Introduction2
AGENDA
● Overview
● Exploring PCP
● Latest Developments
● Demo
PCP Introduction3
OVERVIEW
What is PCP?
● Open source toolkit
● System-level analysis
● Live and historical
● Extensible (monitors, collectors)
● Distributed
● R&D project, started ~20 years ago!
PCP Introduction4
ARCHITECTURE (System-Level)
PCP Introduction5
ARCHITECTURE (Datacenter-Level)
PCP Introduction6
METRICS
● pminfo --desc -tT --fetch disk.dev.read
disk.dev.read [per-disk read operations]
Data Type: 32-bit unsigned int InDom: 60.1
Semantics: counter Units: Kbyte
Help: Cumulative number of disk read operations since boot time
Values:
inst [0 or "sda"] value 3382299
inst [1 or "sdb"] value 178421
● pmprobe -v mem.util.shmem xfs.log.niclogs nvidia.memused
PCP Introduction7
METRICS NAMESPACES
PCP Introduction8
COLLECTOR TOOLKIT OVERVIEW
● pmcd, pmproxy, pmwebd
● Agents:
● Kernels (linux, mac, win, solaris, bsd, bonding, kvm,
xfs, jbd2, gfs2, gluster, zswap, dmcache, ...)
● Services (samba, elasticsearch, apache, nginx,
memcache, postfix,...)
● Databases (mysql, postgresql, sqlserver, dbping)
● Misc (cisco, shping, zimbra, mmv, ...)
● pcp(1)
PCP Introduction9
CONSUMER TOOLKIT OVERVIEW
● Logging tools
● pmlogsummary, pmlogextract, pmlogger, ...
● Console tools
● pmval, pminfo, pmstat, pmdumptext, pmatop, ...
● Most tools share command line arguments
● Source (host, archive)
● Sampling (interval, count)
● Time windows, timezone
● PCPIntro(1)
PCP Introduction10
CLIENT TOOLKIT: pmchart
● Arbitrary charts
● Load / Save views
● VCR-style playback
PCP Introduction11
CLIENT TOOLKIT: pmie
● “Inference Engine”
● Rules Actions
ruleset kernel.all.load #’1 minute’ > 10 * hinv.ncpu
print "extreme load average %v"
else kernel.all.load #’1 minute’ > 2 * hinv.ncpu
print "moderate load average %v"
unknown
print "load average unavailable"
otherwise
print "load average OK";
PCP Introduction12
CONTAINER AWARENESSCONTAINER AWARENESS
PCP Introduction13
GOALS
● Zero installation inside containers required
● Allow targeting of individual containers
● Simplify your life (dev_t auto-mapping)
● Data reduction (proc.*, cgroup.*)
PCP Introduction14
KERNEL INSTRUMENTATION
● cgroup accounting
● [subsys].stat files below /sys/fs/cgroup
● blkio
● IOPs/bytes, service/wait time – aggregate/per-dev
● Split up by read/write, sync/async
● cpuacct
● Processor use per-cgroup - aggregate/per-CPU
● memory
● mapped anon pages, page cache, writeback, swap,
active/inactive LRU state
PCP Introduction15
NAMESPACES
● EG: cat /proc/net/dev
● Contents differ inside vs outside a container
● Processes (e.g. cat) in containers run in different
network, ipc, process, uts, mount namespaces
● Namespaces are inherited across fork/clone
● Processes within a container share common view
PCP Introduction17
BONUS MATERIAL
PCP Introduction18
CURRENT DEVELOPMENT
● Browser interfaces / APIs
● JSON APIs
● http://grafana.org
● Python APIs
● Clients and agents
● http://2014.pycon-au.org
● Containers, discovery
● New metrics (cgroups, libpfm, GPUs,...)
PCP Introduction19
RESOURCES
● http://pcp.io/
● http://developerblog.redhat.com/
● Supported in RHEL 7, RHEL 6.6
● Tech Brief: Getting Started w/ PCP (similar to demo)
● https://access.redhat.com/articles/1216303
● RHEL 7 cheatsheets for RHEL 6 admins
● https://access.redhat.com/articles/1190233
● https://access.redhat.com/system/files/private_discussion_files/rhel_5_6_
7_cheatsheet_27x36_1014_jcs_web.pdf
PCP Introduction20
QUICK COMPARISON
https://en.wikipedia.org/wiki/Comparison_of_network_monitoring_systems
Name License Trending SNMP Platform IPv6 WebApp
Commercial Yes Yes Yes Yes Yes Unknown Yes Yes Full Control
Commercial Yes Yes Yes Yes Yes Unknown Yes Yes Yes
Nagios GPL Yes No Via plugin Via plugin Yes Yes Yes Yes
Flat file Yes No Yes Yes Yes Yes Yes Viewing
Zabbix GPL Yes No Yes Yes Yes Yes Yes Full Control
Data
Storage
Method
Trend
Prediction
Auto
Discovery
Distributed
Monitoring
Access
Control
HP Network
Node
Manager
(NNMi)
PostgreSQL,
Oracle
IBM Tivoli
Network
Manager
MySQL,
Oracle, DB2
Flat file, SQL C, PHP
Performance
Co-Pilot GPL, LGPL
C, Perl,
Python,
POSIX,
MinGW
Oracle,
MySQL,
PostgreSQL,
DB2, SQLite C, PHP

More Related Content

What's hot (20)

PDF
Scrum Cheat Sheet
Edwin Ritter
 
PPTX
Near real-time statistical modeling and anomaly detection using Flink!
Flink Forward
 
PDF
C Programming - Refresher - Part III
Emertxe Information Technologies Pvt Ltd
 
PPTX
コードに潜むC++の未定義動作達
Azaika At
 
PDF
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
 
PDF
Qemu Introduction
Chiawei Wang
 
PDF
USENIX ATC 2017: Visualizing Performance with Flame Graphs
Brendan Gregg
 
POTX
Performance Tuning EC2 Instances
Brendan Gregg
 
PPTX
Cronjob
Niraj Kumar
 
PPTX
C# 8.0 null許容参照型
信之 岩永
 
PPT
Agile Scrum Presentation-Detailed
Prashaanth T R
 
PPTX
std::pin の勘所
Hiroaki Goto
 
PPTX
Metodología agile scrum
Αλβάρο Κονδε Οργαζ
 
PPTX
Agile Overview
Stephen Albright
 
PDF
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
虎の穴 開発室
 
PDF
Pgday bdr 천정대
PgDay.Seoul
 
PDF
Computing Performance: On the Horizon (2021)
Brendan Gregg
 
PDF
rtnetlink
Taku Fukushima
 
PDF
Agile Software Development Overview
Stewart Rogers
 
PPT
MongoDB Replica Sets
MongoDB
 
Scrum Cheat Sheet
Edwin Ritter
 
Near real-time statistical modeling and anomaly detection using Flink!
Flink Forward
 
C Programming - Refresher - Part III
Emertxe Information Technologies Pvt Ltd
 
コードに潜むC++の未定義動作達
Azaika At
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
 
Qemu Introduction
Chiawei Wang
 
USENIX ATC 2017: Visualizing Performance with Flame Graphs
Brendan Gregg
 
Performance Tuning EC2 Instances
Brendan Gregg
 
Cronjob
Niraj Kumar
 
C# 8.0 null許容参照型
信之 岩永
 
Agile Scrum Presentation-Detailed
Prashaanth T R
 
std::pin の勘所
Hiroaki Goto
 
Metodología agile scrum
Αλβάρο Κονδε Οργαζ
 
Agile Overview
Stephen Albright
 
オタクエンジニアを熱くさせる!モチベーションをあげるチームビルディング
虎の穴 開発室
 
Pgday bdr 천정대
PgDay.Seoul
 
Computing Performance: On the Horizon (2021)
Brendan Gregg
 
rtnetlink
Taku Fukushima
 
Agile Software Development Overview
Stewart Rogers
 
MongoDB Replica Sets
MongoDB
 

Viewers also liked (20)

PDF
PCP
Buland Singh
 
PDF
Performance Co-Pilot
YOSHIKAWA Ryota
 
PDF
DRUG FACTS
Amanda Sanford
 
PPTX
Pcp
olenikzoe
 
PPTX
System performance monitoring pcp + vector
Sandeep Kunkunuru
 
PDF
Cracking PRNG
Ikumi Shimizu
 
PPTX
Directory Write Leases in MagFS
Maginatics
 
PPTX
FlyData Autoload: 事例集
FlyData Inc.
 
PDF
2014-01-28 Operation in the future
Operation Lab, LLC.
 
PDF
PyCon JP 2014 plone terada
Manabu Terada
 
PDF
第29回WebSig会議「効率化だけではない!中小~中堅ECサイトの成果を上げる「メディア編集力」とは」
WebSig24/7
 
PDF
SI業界の営業の役割と存在意義を一緒に考えよう
Manabu Terada
 
PDF
Pyconjp2014_implementations
masahitojp
 
PDF
Site Search Analytics in a Nutshell
Louis Rosenfeld
 
PPTX
Presentation pcp
kailachase3
 
PDF
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
 
PDF
Pyramid入門
Atsushi Odagiri
 
PDF
Effective Numerical Computation in NumPy and SciPy
Kimikazu Kato
 
PDF
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Osaka University
 
PPTX
Riverbed Software Defined IT Survey
Riverbed Technology
 
Performance Co-Pilot
YOSHIKAWA Ryota
 
DRUG FACTS
Amanda Sanford
 
System performance monitoring pcp + vector
Sandeep Kunkunuru
 
Cracking PRNG
Ikumi Shimizu
 
Directory Write Leases in MagFS
Maginatics
 
FlyData Autoload: 事例集
FlyData Inc.
 
2014-01-28 Operation in the future
Operation Lab, LLC.
 
PyCon JP 2014 plone terada
Manabu Terada
 
第29回WebSig会議「効率化だけではない!中小~中堅ECサイトの成果を上げる「メディア編集力」とは」
WebSig24/7
 
SI業界の営業の役割と存在意義を一緒に考えよう
Manabu Terada
 
Pyconjp2014_implementations
masahitojp
 
Site Search Analytics in a Nutshell
Louis Rosenfeld
 
Presentation pcp
kailachase3
 
"Continuous Publication" with Python: Another Approach
Daisuke Miyakawa
 
Pyramid入門
Atsushi Odagiri
 
Effective Numerical Computation in NumPy and SciPy
Kimikazu Kato
 
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Osaka University
 
Riverbed Software Defined IT Survey
Riverbed Technology
 
Ad

Similar to Getting Started with Performance Co-Pilot (20)

PDF
Accumulo Summit Keynote 2018
Accumulo Summit
 
PPTX
OpenTelemetry For Operators
Kevin Brockhoff
 
ODP
Time to rethink /proc
Kir Kolyshkin
 
PPTX
Node.js Web Apps @ ebay scale
Dmytro Semenov
 
PDF
[scala.by] Launching new application fast
Denis Karpenko
 
PDF
Delivering a bleeding edge community-led openstack distribution: RDO
Chandan Kumar
 
PDF
The Accidental DBA
PostgreSQL Experts, Inc.
 
PDF
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
Linaro
 
PDF
2021.02 new in Ceph Pacific Dashboard
Ceph Community
 
PDF
Strategies for developing and deploying your embedded applications and images
Mender.io
 
PDF
GPGPU Accelerates PostgreSQL (English)
Kohei KaiGai
 
PDF
LCE13: Test and Validation Summit: The future of testing at Linaro
Linaro
 
PDF
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
Linaro
 
ODP
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
OpenShift Origin
 
PPTX
Drupal Continuous Integration Workflow
Andrii Podanenko
 
PDF
A Kong retrospective: from 0.10 to 0.13
Thibault Charbonnier
 
PDF
Integrating Puppet and Gitolite for sysadmins cooperations
Luca Mazzaferro
 
PDF
LCU14 310- Cisco ODP v2
Linaro
 
PPTX
Kubernetes 101
Stanislav Pogrebnyak
 
Accumulo Summit Keynote 2018
Accumulo Summit
 
OpenTelemetry For Operators
Kevin Brockhoff
 
Time to rethink /proc
Kir Kolyshkin
 
Node.js Web Apps @ ebay scale
Dmytro Semenov
 
[scala.by] Launching new application fast
Denis Karpenko
 
Delivering a bleeding edge community-led openstack distribution: RDO
Chandan Kumar
 
The Accidental DBA
PostgreSQL Experts, Inc.
 
BKK16-302: Android Optimizing Compiler: New Member Assimilation Guide
Linaro
 
2021.02 new in Ceph Pacific Dashboard
Ceph Community
 
Strategies for developing and deploying your embedded applications and images
Mender.io
 
GPGPU Accelerates PostgreSQL (English)
Kohei KaiGai
 
LCE13: Test and Validation Summit: The future of testing at Linaro
Linaro
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
Linaro
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
OpenShift Origin
 
Drupal Continuous Integration Workflow
Andrii Podanenko
 
A Kong retrospective: from 0.10 to 0.13
Thibault Charbonnier
 
Integrating Puppet and Gitolite for sysadmins cooperations
Luca Mazzaferro
 
LCU14 310- Cisco ODP v2
Linaro
 
Kubernetes 101
Stanislav Pogrebnyak
 
Ad

Recently uploaded (20)

PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PDF
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
PDF
Infrastructure planning and resilience - Keith Hastings.pptx.pdf
Safe Software
 
PDF
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
PDF
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
PPT
Brief History of Python by Learning Python in three hours
adanechb21
 
PDF
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
Infrastructure planning and resilience - Keith Hastings.pptx.pdf
Safe Software
 
Step-by-Step Guide to Install SAP HANA Studio | Complete Installation Tutoria...
SAP Vista, an A L T Z E N Company
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Farrell__10e_ch04_PowerPoint.pptx Programming Logic and Design slides
bashnahara11
 
System Center 2025 vs. 2022; What’s new, what’s next_PDF.pdf
Q-Advise
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Brief History of Python by Learning Python in three hours
adanechb21
 
Adobe Illustrator Crack Full Download (Latest Version 2025) Pre-Activated
imang66g
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 

Getting Started with Performance Co-Pilot

  • 1. PCP Introduction1 GETTING STARTED WITH PERFORMANCE CO-PILOT Paul V. Novarese [email protected] Strategic Customer Engagement 26 March 2015 Burbank, CA
  • 2. PCP Introduction2 AGENDA ● Overview ● Exploring PCP ● Latest Developments ● Demo
  • 3. PCP Introduction3 OVERVIEW What is PCP? ● Open source toolkit ● System-level analysis ● Live and historical ● Extensible (monitors, collectors) ● Distributed ● R&D project, started ~20 years ago!
  • 6. PCP Introduction6 METRICS ● pminfo --desc -tT --fetch disk.dev.read disk.dev.read [per-disk read operations] Data Type: 32-bit unsigned int InDom: 60.1 Semantics: counter Units: Kbyte Help: Cumulative number of disk read operations since boot time Values: inst [0 or "sda"] value 3382299 inst [1 or "sdb"] value 178421 ● pmprobe -v mem.util.shmem xfs.log.niclogs nvidia.memused
  • 8. PCP Introduction8 COLLECTOR TOOLKIT OVERVIEW ● pmcd, pmproxy, pmwebd ● Agents: ● Kernels (linux, mac, win, solaris, bsd, bonding, kvm, xfs, jbd2, gfs2, gluster, zswap, dmcache, ...) ● Services (samba, elasticsearch, apache, nginx, memcache, postfix,...) ● Databases (mysql, postgresql, sqlserver, dbping) ● Misc (cisco, shping, zimbra, mmv, ...) ● pcp(1)
  • 9. PCP Introduction9 CONSUMER TOOLKIT OVERVIEW ● Logging tools ● pmlogsummary, pmlogextract, pmlogger, ... ● Console tools ● pmval, pminfo, pmstat, pmdumptext, pmatop, ... ● Most tools share command line arguments ● Source (host, archive) ● Sampling (interval, count) ● Time windows, timezone ● PCPIntro(1)
  • 10. PCP Introduction10 CLIENT TOOLKIT: pmchart ● Arbitrary charts ● Load / Save views ● VCR-style playback
  • 11. PCP Introduction11 CLIENT TOOLKIT: pmie ● “Inference Engine” ● Rules Actions ruleset kernel.all.load #’1 minute’ > 10 * hinv.ncpu print "extreme load average %v" else kernel.all.load #’1 minute’ > 2 * hinv.ncpu print "moderate load average %v" unknown print "load average unavailable" otherwise print "load average OK";
  • 13. PCP Introduction13 GOALS ● Zero installation inside containers required ● Allow targeting of individual containers ● Simplify your life (dev_t auto-mapping) ● Data reduction (proc.*, cgroup.*)
  • 14. PCP Introduction14 KERNEL INSTRUMENTATION ● cgroup accounting ● [subsys].stat files below /sys/fs/cgroup ● blkio ● IOPs/bytes, service/wait time – aggregate/per-dev ● Split up by read/write, sync/async ● cpuacct ● Processor use per-cgroup - aggregate/per-CPU ● memory ● mapped anon pages, page cache, writeback, swap, active/inactive LRU state
  • 15. PCP Introduction15 NAMESPACES ● EG: cat /proc/net/dev ● Contents differ inside vs outside a container ● Processes (e.g. cat) in containers run in different network, ipc, process, uts, mount namespaces ● Namespaces are inherited across fork/clone ● Processes within a container share common view
  • 17. PCP Introduction18 CURRENT DEVELOPMENT ● Browser interfaces / APIs ● JSON APIs ● http://grafana.org ● Python APIs ● Clients and agents ● http://2014.pycon-au.org ● Containers, discovery ● New metrics (cgroups, libpfm, GPUs,...)
  • 18. PCP Introduction19 RESOURCES ● http://pcp.io/ ● http://developerblog.redhat.com/ ● Supported in RHEL 7, RHEL 6.6 ● Tech Brief: Getting Started w/ PCP (similar to demo) ● https://access.redhat.com/articles/1216303 ● RHEL 7 cheatsheets for RHEL 6 admins ● https://access.redhat.com/articles/1190233 ● https://access.redhat.com/system/files/private_discussion_files/rhel_5_6_ 7_cheatsheet_27x36_1014_jcs_web.pdf
  • 19. PCP Introduction20 QUICK COMPARISON https://en.wikipedia.org/wiki/Comparison_of_network_monitoring_systems Name License Trending SNMP Platform IPv6 WebApp Commercial Yes Yes Yes Yes Yes Unknown Yes Yes Full Control Commercial Yes Yes Yes Yes Yes Unknown Yes Yes Yes Nagios GPL Yes No Via plugin Via plugin Yes Yes Yes Yes Flat file Yes No Yes Yes Yes Yes Yes Viewing Zabbix GPL Yes No Yes Yes Yes Yes Yes Full Control Data Storage Method Trend Prediction Auto Discovery Distributed Monitoring Access Control HP Network Node Manager (NNMi) PostgreSQL, Oracle IBM Tivoli Network Manager MySQL, Oracle, DB2 Flat file, SQL C, PHP Performance Co-Pilot GPL, LGPL C, Perl, Python, POSIX, MinGW Oracle, MySQL, PostgreSQL, DB2, SQLite C, PHP