Re: [DynInst_API:] measuring execution time


Date: Tue, 04 Apr 2017 17:23:38 +0000
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] measuring execution time
There are many ways to go about this, and they all have their pros and cons. In general, my recommendation would be to insert calls to either collect performance counters or record fine-grained integer-based timers, depending on what you want to measure and what sorts of skid are acceptable in your measurements. Start at entry, stop and record at exit, you know the drill there. Be advised that there may be functions that get a "sibling" relationship at the binary level in your profile due to tail calls.

If I recall correctly TAU includes a Dyninst-based instrumenter that collects profile data; there are a variety of projects that use Dyninst to collect trace data as well, many of which collect timestamps.
________________________________________
From: Dyninst-api <dyninst-api-bounces@xxxxxxxxxxx> on behalf of Enrico Calore <enrico.calore@xxxxxxxxxx>
Sent: Tuesday, April 4, 2017 11:58 AM
To: dyninst-api@xxxxxxxxxxx
Subject: [DynInst_API:] measuring execution time

Hi all,
I am a new Dyninst user and I would like to use this tool to implement a
simple custom "profiler".

I succeeded to implement some simple examples such us counting how many
time a function get called, but now I am wondering about which should be
the best way to measure a function execution time and the time-stamp at
which a function get called.

Do you have any suggestions?
Also any examples, tutorial or documentation about this would be kindly
appreciated.

I guess it should be quite a common request so I would like to avoid to
reinvent the wheel, in particular because I may end up with a square one.


Thanks and Best Regards,

Enrico




[← Prev in Thread] Current Thread [Next in Thread→]