Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PT-PMP(1)	      User Contributed Perl Documentation	     PT-PMP(1)

NAME
       pt-pmp -	Aggregate GDB stack traces for a selected program.

SYNOPSIS
       Usage: pt-pmp [OPTIONS] [FILES]

       pt-pmp is a poor	man's profiler,	inspired by
       <http://poormansprofiler.org>.  It can create and summarize full	stack
       traces of processes on Linux.  Summaries	of stack traces	can be an
       invaluable tool for diagnosing what a process is	waiting	for.

RISKS
       Percona Toolkit is mature, proven in the	real world, and	well tested,
       but all database	tools can pose a risk to the system and	the database
       server.	Before using this tool,	please:

       o   Read	the tool's documentation

       o   Review the tool's known "BUGS"

       o   Test	the tool on a non-production server

       o   Backup your production server and verify the	backups

DESCRIPTION
       pt-pmp performs two tasks: it gets a stack trace, and it	summarizes the
       stack trace.  If	a file is given	on the command line, the tool skips
       the first step and just aggregates the file.

       To summarize the	stack trace, the tool extracts the function name
       (symbol)	from each level	of the stack, and combines them	with commas.
       It does this for	each thread in the output.  Afterwards,	it sorts
       similar threads together	and counts how many of each one	there are,
       then sorts them most-frequent first.

       pt-pmp is a read-only tool.  However, collecting	GDB stacktraces	is
       achieved	by attaching GDB to the	program	and printing stack traces from
       all threads. This will freeze the program for some period of time,
       ranging from a second or	so to much longer on very busy systems with a
       lot of memory and many threads in the program.  In the tool's default
       usage as	a MySQL	profiling tool,	this means that	MySQL will be
       unresponsive while the tool runs, although if you are using the tool to
       diagnose	an unresponsive	server,	there is really	no reason not to do
       this.  In addition to freezing the server, there	is also	some risk of
       the server crashing or performing badly after GDB detaches from it.

OPTIONS
       --binary
	   short form: -b; type: string; default: mysqld

	   Which binary	to trace.

       --help
	   Show	help and exit.

       --interval
	   short form: -s; type: int; default: 0

	   Number of seconds to	sleep between "--iterations".

       --iterations
	   short form: -i; type: int; default: 1

	   How many traces to gather and aggregate.

       --lines
	   short form: -l; type: int; default: 0

	   Aggregate only first	specified number of many functions;
	   0=infinity.

       --pid
	   short form: -p; type: int

	   Process ID of the process to	trace; overrides "--binary".

       --save-samples
	   short form: -k; type: string

	   Keep	the raw	traces in this file after aggregation.

       --version
	   Show	version	and exit.

ENVIRONMENT
       This tool does not use any environment variables.

SYSTEM REQUIREMENTS
       This tool requires Bash v3 or newer.  If	no backtrace files are given,
       then gdb	is also	required to create backtraces for the process
       specified on the	command	line.

BUGS
       For a list of known bugs, see <http://www.percona.com/bugs/pt-pmp>.

       Please report bugs at <https://jira.percona.com/projects/PT>.  Include
       the following information in your bug report:

       o   Complete command-line used to run the tool

       o   Tool	"--version"

       o   MySQL version of all	servers	involved

       o   Output from the tool	including STDERR

       o   Input files (log/dump/config	files, etc.)

       If possible, include debugging output by	running	the tool with
       "PTDEBUG"; see "ENVIRONMENT".

DOWNLOADING
       Visit <http://www.percona.com/software/percona-toolkit/>	to download
       the latest release of Percona Toolkit.  Or, get the latest release from
       the command line:

	  wget percona.com/get/percona-toolkit.tar.gz

	  wget percona.com/get/percona-toolkit.rpm

	  wget percona.com/get/percona-toolkit.deb

       You can also get	individual tools from the latest release:

	  wget percona.com/get/TOOL

       Replace "TOOL" with the name of any tool.

AUTHORS
       Baron Schwartz, based on	a script by Domas Mituzas
       (<http://poormansprofiler.org/>)

ABOUT PERCONA TOOLKIT
       This tool is part of Percona Toolkit, a collection of advanced command-
       line tools for MySQL developed by Percona.  Percona Toolkit was forked
       from two	projects in June, 2011:	Maatkit	and Aspersa.  Those projects
       were created by Baron Schwartz and primarily developed by him and
       Daniel Nichter.	Visit <http://www.percona.com/software/> to learn
       about other free, open-source software from Percona.

COPYRIGHT, LICENSE, AND	WARRANTY
       This program is copyright 2011-2018 Percona LLC and/or its affiliates,
       2010-2011 Baron Schwartz.

       THIS PROGRAM IS PROVIDED	"AS IS"	AND WITHOUT ANY	EXPRESS	OR IMPLIED
       WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
       MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published by the
       Free Software Foundation, version 2; OR the Perl	Artistic License.  On
       UNIX and	similar	systems, you can issue `man perlgpl' or	`man
       perlartistic' to	read these licenses.

       You should have received	a copy of the GNU General Public License along
       with this program; if not, write	to the Free Software Foundation, Inc.,
       59 Temple Place,	Suite 330, Boston, MA  02111-1307  USA.

VERSION
       pt-pmp 3.2.0

perl v5.32.0			  2020-04-23			     PT-PMP(1)

NAME | SYNOPSIS | RISKS | DESCRIPTION | OPTIONS | ENVIRONMENT | SYSTEM REQUIREMENTS | BUGS | DOWNLOADING | AUTHORS | ABOUT PERCONA TOOLKIT | COPYRIGHT, LICENSE, AND WARRANTY | VERSION

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=pt-pmp&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help