azul-research / jdk-tracing

Java Tracing project
GNU General Public License v2.0
0 stars 0 forks source link

How TraceCompass expects UST CallStack #3

Open AntonKozlov opened 5 years ago

drazumova commented 5 years ago

If the traces contains func_entry and func_exit event (see the lttng-ust-cyg-profile manpage), AND contains vtid and procname contexts, we can use this information to populate the TMF Callstack View. Granted, most UST traces will not contain this information. In this case, this will simply build an empty state system, and the view will remain unavailable.

author Alexandre Montplaisir

В коде названия событий просто сравниваются с lttng_ust_cyg_profile:func_entry (или lttng_ust_cyg_profile_fast:func_entry) vtid и procname достаются как поля с именами context._<name>.

AntonKozlov commented 5 years ago

https://github.com/azul-research/jdk-tracing/blob/4eb9726e10552156c7fdde2a904f98e9bb1b6940/dev-tracing/lttng_examples/ust_call_stack/run.sh#L8

А вот здесь добавляется "context" и "vtid" -- как раз те штуки, которые мы не могли сделать руками, что не хватает для call-stackа. Или я чего-то не понял?

drazumova commented 4 years ago

Да, эта команда должна добавлять context._vtid, но почему-то в данном примере это не работает. То есть в результате в записи событий нет такого поля

AntonKozlov commented 4 years ago

но почему-то в данном примере это не работает. То есть в результате в записи событий нет такого поля

Может быть, надо репортить как-то специально? Можно глянуть сорцы lttng-ust-cyg-profile, как же он создает события func_enter/exit

drazumova commented 4 years ago

lttng-ust библиотеки не добавляют для этого ничего своего для этого. Оказалось, что это я дурак, и диаграмма строится с одинаковыми tid и procname Теперь проблема только в том, чтобы добавить адрес функции, которая вызвала текущую.

drazumova commented 4 years ago

Еще есть проблема с org.eclipse.equinox.p2.core.ProvisionException: No repository found at http://download.eclipse.org/linuxtools/update-2018-09-rc2. при сборке мастера tracecompassа.

На всякий случай уточню, что это происходит в мастере трейскомпаса и в ветке stable-1.0 при mvn clean install

AntonKozlov commented 4 years ago

Договорились, что надо попробовать собрать из под eclipse

MatthewKhouzam commented 9 months ago

Hey, I just found your project, it looks really cool! Tracecompass can support many types of callstacks if you look at the incubator. There is an "In and out" analysis where you can define the discriminators.

Here's a video, hope it helps! https://www.youtube.com/watch?v=J8ksYjZOEFc