From owner-freebsd-current@FreeBSD.ORG Tue Jan 15 20:27:59 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 92AF78D6 for ; Tue, 15 Jan 2013 20:27:59 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 71E47646 for ; Tue, 15 Jan 2013 20:27:59 +0000 (UTC) Received: from pakbsde14.localnet (unknown [38.105.238.108]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id C7ED5B953; Tue, 15 Jan 2013 15:27:58 -0500 (EST) From: John Baldwin To: Konstantin Belousov Subject: Re: [PATCH] Add rusage reporting to procstat Date: Tue, 15 Jan 2013 14:50:26 -0500 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110714-p22; KDE/4.5.5; amd64; ; ) References: <201301141639.17783.jhb@freebsd.org> <20130114224442.GO2561@kib.kiev.ua> In-Reply-To: <20130114224442.GO2561@kib.kiev.ua> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Message-Id: <201301151450.26985.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 15 Jan 2013 15:27:58 -0500 (EST) Cc: FreeBSD Current X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jan 2013 20:27:59 -0000 On Monday, January 14, 2013 5:44:42 pm Konstantin Belousov wrote: > On Mon, Jan 14, 2013 at 04:39:17PM -0500, John Baldwin wrote: > > This patch adds a new -r flag to dump the resource usage information (what you > > would get from getrusage() or wait()) for a given process. Sample output: > > > > % procstat -r $$ > > PID COMM TYPE VALUE > > 1428 tcsh user time 00:00:00.050182 > > 1428 tcsh system time 00:00:00.040145 > > 1428 tcsh maximum RSS 3328 B > > 1428 tcsh integral shared memory 2844 B > > 1428 tcsh integral unshared data 6372 B > > 1428 tcsh integral unshared stack 1152 B > > 1428 tcsh page reclaims 1306 > > 1428 tcsh page faults 12 > > 1428 tcsh swaps 0 > > 1428 tcsh block reads 50 > > 1428 tcsh block writes 0 > > 1428 tcsh messages sent 172 > > 1428 tcsh messages received 0 > > 1428 tcsh signals received 33 > > 1428 tcsh voluntary context switches 1167 > > 1428 tcsh involuntary context switches 1 > > > > http://www.FreeBSD.org/~jhb/patches/procstat_rusage.patch > > > > Any thoughts, etc.? > > It looks fine, but use of the human-oriented resource values, together > with spaces in names, makes the parsing of the output unfeasible. Yes, but that is par for the course with procstat. If we wanted to add a global flag to request machine-readable output and update the various procstat backends to honor it, I think that would be a great project. > The patch only reports the process-cumulative rusage, and not the per-thread > rusage, it seems. Yes, this is true. It operates on the process-wide kinfo that procstat has handy. It would not be too hard to add a thread mode (-H flag perhaps?) to have it request the kinfo_proc structures for all threads and then output those separately. -- John Baldwin