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" <address@hidden> 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 <address@hidden> 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
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/libunwind-devel
>