Re: userland profiler trace with debug symbols

From: Pete Wright <pete_at_nomadlogic.org>
Date: Fri, 24 Mar 2023 00:41:04 UTC

On 3/23/23 17:09, Tomek CEDRO wrote:
> On Thu, Mar 23, 2023 at 9:45 PM Pete Wright wrote:
>> On Thu, Mar 23, 2023 at 12:07:28AM +0100, Tomek CEDRO wrote:
>>> Hello world :-)
>>>
>>> I have found and reported a bug in KiCAD 7 where dialogs seems to be
>>> broken [1]. One of the upstream developers asked me to create a
>>> "profiler trace with debug symbols" to pinpoint the issue.
>>>
>>> Here is an example use on Linux with perf [2]:
>>>
>>> perf record --debuginfod --call-graph dwarf -F 999 -g eeschema
>>>
>>> Do we have this kind of utility on FreeBSD? :-)
>> you can probably supply similar info using dtrace(1).  there is also dwatch(1)
>> which is a handy script that pulls lots of useful info via dtrace, but in a
>> more user friendly way.
>>
>> -pete
> Thank you Pete!
>
> I also found dtrace.. but it looks kind of black magic for a newcomer :-P
>
> I found only this reference with some examples:
>
> https://www.oracle.com/application-development/technologies/solarisstudio-documentation-dtrace-studio.html
>
> Do you know a good reference / manual / tutorial / book with exapmles
> to learn dtrace? :-) :-)
>

yea i think dtrace certainly has a steep learning curve (but imho it is 
also way more powerful than the old linux perf utility).

i would suggest starting by checking out dwatch which may cover some of 
the use cases you are looking to investigate.  its included with the 
base system and has a good man page.

there is also the dtrace toolkit:
https://github.com/opendtrace/toolkit

you can install this via pkg `pkg install dtrace-toolkit` - this 
includes a bunch of examples which you may be able to adapt for your use.

i also bet there are peeps on the various freebsd mailing lists and on 
discord/irc that are way more knowledgeable than me who might be able to 
help too.

hope this helps,
-pete

-- 
Pete Wright
pete@nomadlogic.org
@nomadlogicLA