summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pmcstat/pmcstat.8
Commit message (Collapse)AuthorAgeFilesLines
* MFC 282643:jhb2015-06-011-3/+4
| | | | | | | | Use the kern.bootfile sysctl to set the default kernel path rather than hardcoding /boot/kernel. This allows pmcstat(8) to work without -k when using nextboot -k or 'boot foo' at the loader to boot alternate kernels. Sponsored by: Norse Corp, Inc.
* MFC r273737, 273739bapt2014-11-031-1/+7
| | | | | | | | Clarify the documentation of pmcstat: the -d argument should be passed before -p, -s, -P or -S to be taken in account Differential Revision: https://reviews.freebsd.org/D1011 Reviewed by: adrian, gnn
* MFC: 266209gnn2014-05-301-0/+8
| | | | | | | | Add a command line argument (-l) to end event collection after some number of seconds. The number of seconds may be a fraction. Submitted by: Julien Charbon <jcharbon@versign.com> Relnotes: yes
* Merged r262424-262425,265085scottl2014-05-071-1/+17
| | | | | | | Add the -a option to pmcstat. This produces a full stack track on the sampled points. See the man page for details on how this works. Obtained from: Netflix, Inc.
* Minor spelling fixes.joel2012-06-031-1/+1
|
* mdoc: correct .Bd/.Bl arguments.joel2012-03-261-1/+1
| | | | Reviewed by: brueffer
* mdoc: order prologue macros consistently by Dd/Dt/Osuqs2010-04-141-1/+1
| | | | | | | | Although groff_mdoc(7) gives another impression, this is the ordering most widely used and also required by mdocml/mandoc. Reviewed by: ru Approved by: philip, ed (mentors)
* - Reorganize code in 'plugin' to share log processing.fabient2010-02-111-1/+27
| | | | | | | | - Kcachegrind (calltree) support with assembly/source code mapping and call count estimator (-F). - Top mode for calltree and callgraph plugin (-T). MFC after: 1 month
* Catch up with the times: "mozilla" -> "firefox".jkoshy2009-06-021-2/+2
|
* Add the -m option to pmcstat.attilio2008-11-251-0/+14
| | | | | | | | | This option prints the list of sampled PCs along with the function name, the start and end addresses of this where their live within. Reviewed by: jkoshy Tested by: gnn Sponsored by: Nokia
* - Avoid a spurious error when a command line is specified withoutjkoshy2008-10-071-3/+3
| | | | | any process scope PMCs. - Change the -c '*' option to denote non-halted CPUs.
* Add an example illustrating the use sleep(1) for performing timedjkoshy2008-09-191-2/+7
| | | | measurements.
* Document messages printed in verbose mode.jkoshy2008-06-291-2/+36
| | | | Requested by: Fabien Thomas <fabien.thomas at netasq dot com>
* Introduce pmcstat(8) changes for summarizing hwpmc(4) callchain records injkoshy2007-12-071-5/+54
| | | | | | | | in textual form and in gmon.out format. Update manual page. Sponsored by: FreeBSD Foundation and Google Inc.
* MFP4: Enhancements to pmcstat(8):jkoshy2007-04-271-15/+24
| | | | | | | | | | - Allow the "-t" option to take a regular expression naming command line processes to attach process PMCs to. - Update the manual page and add an example showing the use of the new functionality. - Update the (c) year on the affected source files.
* MFP4: Enhancements and bug-fixes to pmcstat(8):jkoshy2007-04-221-9/+18
| | | | | | | | | | | | | | | | - The '-c' option now takes a comma-separated list of CPU numbers, or a literal '*' denoting all CPUs in the system. Subsequent system PMCs are allocated on the CPUs so specified. Change the default behaviour to allocate system PMCs on all CPUs, not just CPU 0. Update the manual page and add an example of how to use the new functionality. - Attach PMCs to a (commandline) child process more reliably. This fixes a long standing bug in counting events incurred by short-lived processes.
* Markup fixes.ru2006-09-291-4/+5
|
* - Teach pmcstat(8) to log over the network; the -O option nowjkoshy2006-04-021-7/+34
| | | | | | | | | | | takes a host:port specification. - Update the manual page and add an example showing how log over the network using pmcstat(8) and nc(1). Document the current inability to process logs in cross-platform manner. - Have pmcstat_open_log() call err(3) directly in case of an error; this simplifies error handling in its caller. MFC after: 1 week
* MFP4: Support for profiling dynamically loaded objects.jkoshy2006-03-261-7/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel changes: Inform hwpmc of executable objects brought into the system by kldload() and mmap(), and of their removal by kldunload() and munmap(). A helper function linker_hwpmc_list_objects() has been added to "sys/kern/kern_linker.c" and is used by hwpmc to retrieve the list of currently loaded kernel modules. The unused `MAPPINGCHANGE' event has been deprecated in favour of separate `MAP_IN' and `MAP_OUT' events; this change reduces space wastage in the log. Bump the hwpmc's ABI version to "2.0.00". Teach hwpmc(4) to handle the map change callbacks. Change the default per-cpu sample buffer size to hold 32 samples (up from 16). Increment __FreeBSD_version. libpmc(3) changes: Update libpmc(3) to deal with the new events in the log file; bring the pmclog(3) manual page in sync with the code. pmcstat(8) changes: Introduce new options to pmcstat(8): "-r" (root fs path), "-M" (mapfile name), "-q"/"-v" (verbosity control). Option "-k" now takes a kernel directory as its argument but will also work with the older invocation syntax. Rework string handling in pmcstat(8) to use an opaque type for interned strings. Clean up ELF parsing code and add support for tracking dynamic object mappings reported by a v2.0.00 hwpmc(4). Report statistics at the end of a log conversion run depending on the requested verbosity level. Reviewed by: jhb, dds (kernel parts of an earlier patch) Tested by: gallatin (earlier patch)
* Document pmcstat's inability to handle 32 bit executables on thejkoshy2005-10-181-0/+4
| | | | | | AMD64 while I work on a fix. Noticed by: ps
* Fix spelling error in sample command.rwatson2005-07-131-1/+1
| | | | MFC after: 3 days
* Add examples illustrating how to record system-wide profiles andjkoshy2005-07-011-3/+18
| | | | | | | | | | how to convert these to gprof(1) flat profiles. Augment description for the '-g' option. Remove superfluous quotes around a macro argument, bump document date [1]. Reminded by: ru [1] Approved by: re (blanket hwpmc)
* MFP4:jkoshy2005-06-301-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - pmcstat(8) gprof output mode fixes: lib/libpmc/pmclog.{c,h}, sys/sys/pmclog.h: + Add a 'is_usermode' field to the PMCLOG_PCSAMPLE event + Add an 'entryaddr' field to the PMCLOG_PROCEXEC event, so that pmcstat(8) can determine where the runtime loader /libexec/ld-elf.so.1 is getting loaded. sys/kern/kern_exec.c: + Use a local struct to group the entry address of the image being exec()'ed and the process credential changed flag to the exec handling hook inside hwpmc(4). usr.sbin/pmcstat/*: + Support "-k kernelpath", "-D sampledir". + Implement the ELF bits of 'gmon.out' profile generation in a new file "pmcstat_log.c". Move all log related functions to this file. + Move local definitions and prototypes to "pmcstat.h" - Other bug fixes: + lib/libpmc/pmclog.c: correctly handle EOF in pmclog_read(). + sys/dev/hwpmc_mod.c: unconditionally log a PROCEXIT event to all attached PMCs when a process exits. + sys/sys/pmc.h: correct a function prototype. + Improve usage checks in pmcstat(8). Approved by: re (blanket hwpmc)
* - Tidy markup. [1]jkoshy2005-06-241-31/+22
| | | | | | | | | | | | - Remove mention of an unimplemented option. - Clarify the behavior of pmcstat when logging PMCs are requested, but no log output file is specified. - Add a cross-reference to pmclog(3). - Bump document date. Reviewed by: ru Submitted by: ru [1] Approved by: re (blanket hwpmc)
* MFP4:jkoshy2005-06-091-11/+49
| | | | | | | | | | | | | | | | - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation.
* Bring a working snapshot of hwpmc(4), its associated libraries, userland ↵jkoshy2005-04-191-0/+196
utilities and documentation into -CURRENT. Bump FreeBSD_version. Reviewed by: alc, jhb (kernel changes)
OpenPOWER on IntegriCloud