Hi Vladimir: I used libunwind for sampling. The APIs I used are same of perf. I think these APIs is an inefficient way. They must access the target program's binary file. Although I used DSO cache like perf. If there a more efficient way, maybe I can modify perf use my spare time.
Regards Chenggang 3x At 2014-11-24 15:23:17, "Vladimir Nikulichev" <[email protected]> wrote: >Hi Chenggang, > >Do you use libunwind for either sampling or one-shot stack tracing? >For sampling Perf Events interface can be helpful for you. > >For one shot have a look at this tool: https://github.com/tbricks/tbstack >Some numbers on Xeon(R) CPU E5-2690 0 @ 2.90GHz, for one thread: >http://lists.nongnu.org/archive/html/libunwind-devel/2014-10/msg00008.html >Note that I measured time to freeze process and collect data, unwinding is >completed afterwards. > >— >Vladimir > >> On 22 Nov 2014, at 12:05, Chenggang <[email protected]> wrote: >> >> Hi: >> I am a user of libunwind. I am developing a profiling system, "Bianque". >> I use libunwind to unwind the stack on the target machine. But the time >> cost is too expensive. >> While the layers of call chain is 130 and the stack size is 1MB, we >> need 3.8 milliseconds to unwind it. >> My CPU is Xeon(R) CPU E5-2430 0 @ 2.20GHz. >> Is this cost normal? >> >> Regards >> Chenggang >> >> >> >> _______________________________________________ >> Libunwind-devel mailing list >> [email protected] >> https://lists.nongnu.org/mailman/listinfo/libunwind-devel >
_______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
