[DynInst_API:] Measuring Dyninst Dynamic Instrumentation Overhead


Date: Thu, 19 Feb 2015 16:25:00 +0000 (UTC)
From: budchan chao <cbudchan@xxxxxxxxx>
Subject: [DynInst_API:] Measuring Dyninst Dynamic Instrumentation Overhead
Hi All,

If I understand it correctly Dyninst uses ptrace to connect and modify the mutatee. I want to check how much overhead it causes at runtime to mutate an instrumentation point. Also I am interested in getting overhead of a trampoline at runtime. Are there any existing benchmarks for these I can run to get these number? If that's not the case I would really appreciate any tips for coming up with these benchmarks being new to the project. 

I think for trampoline overhead one I can time call loop for an empty function (inlined) with an entry instrumentation. For the first one I think measuring elapsed time between processAttach and continueExecution would do the trick. Am I correct? Just want to make sure I am thinking correctly on this.

Also I was wondering if there was way to do the dynamic instrumentation "in-band" if that makes sense. (Like using a separate thread in the same process so that there is no need to have a separate mutator process to do it.)
 
Regards
Chan
[← Prev in Thread] Current Thread [Next in Thread→]