From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6925 invoked by alias); 14 Dec 2011 11:24:19 -0000 Received: (qmail 6907 invoked by uid 22791); 14 Dec 2011 11:24:17 -0000 X-SWARE-Spam-Status: No, hits=-5.4 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 14 Dec 2011 11:23:57 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id pBEBNuGD007036 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 14 Dec 2011 06:23:56 -0500 Received: from springer.wildebeest.org (ovpn-116-47.ams2.redhat.com [10.36.116.47]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id pBEBNtdn008183 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 14 Dec 2011 06:23:56 -0500 Received: by springer.wildebeest.org (Postfix, from userid 500) id BA79840AE4; Wed, 14 Dec 2011 12:23:54 +0100 (CET) Subject: Re: Example looking at the periodic timers From: Mark Wielaard To: William Cohen Cc: systemtap@sourceware.org In-Reply-To: <4EE7CA4E.9080109@redhat.com> References: <4EE7CA4E.9080109@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Date: Wed, 14 Dec 2011 14:52:00 -0000 Message-ID: <1323861834.3567.27.camel@springer.wildebeest.org> Mime-Version: 1.0 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2011-q4/txt/msg00355.txt.bz2 On Tue, 2011-12-13 at 16:57 -0500, William Cohen wrote: > One case that people would like to use SystemTap for is finding out > why some latency sensitive application is slowed down every x seconds. > They know that something keeps running on the machine and slowing > things down, but they don't know what it is. >=20 > I have been playing around with the timer tracepoints and came up with > the attached script, periodic.stp. When the script exits it prints > out a list of the periodic timers, sorted from most frequently to > least frequently fired timer. It also include the average period for > the timer. The functions that have [dg] are things put into the > delayed_work_queues. Looks nice. I would add a begin probe to announce the script started and that the user must press control-C to get results and/or make the end probe a end,timer.s(10) probe so that you get output every 10 seconds (then you can also clean up the tables). Are the timer addresses really useful? I just don't know how to interpret them, does it matter on which timer some event fired? Printing the comms on process_timeout is a nice touch. Maybe explicitly prefix it with process: or some other string making that more clear? You could also add modname() to the output, then people can more easily see whether it is a kernel or module function being triggered. I also got some functions that don't immediately make sense, they don't seem to fall inside either the kernel nor a module. Did you figure out where they point at? From seeing the high address I assume they are actually dynamically allocated structures, not direct functions. Cheers, Mark