On Fri, Jan 17, 2020 at 4:14 PM David Marchand <david.march...@redhat.com> wrote: > > On Fri, Jan 17, 2020 at 10:52 AM Jerin Jacob <jerinjac...@gmail.com> wrote: > > > > If someone needs more time to think through or any clarification is > > > > required then please discuss. > > > > > > I did not find the time to look at this. > > > Some quick questions: > > > - is LTTng coming with out-of-tree kmod? making it hard to support in > > > distributions? > > > > LTTng kernel tracing only needs kmod support. > > For the userspace tracing at minium following libraries are required. > > > > a) LTTng-UST > > b) LTTng-tools > > c) liburcu > > d) libpopt-dev > > > > Based on the https://lttng.org/docs/v2.11/#doc-installing-lttng > > -------------------------- 8<---------------------------------- > > Important:As of 22 October 2019, LTTng 2.11 is not available as > > distribution packages, except for Arch Linux. > > You can build LTTng 2.11 from source to install and use it. > > -------------------------- >8---------------------------------- > > Would there be requirements on a specific version of LTTng?
No. If possible we would need a single trace format that works across multiple OS(that DPDK support(FreeBSD and Windows) to support post analysis and viewer tools. Current LTTng concern is only lacking all OS support and performance. > I can see RHEL 7 comes with version 2.4.1, RHEL 8 has 2.8.1. > > > > > - I have been playing with perf those days to track live processes and > > > gathering informations/stats at key point of a dpdk app without adding > > > anything in the binary. What does LTTng provide that scripting around > > > perf would not solve? > > > > Profiler and Tracer are two different things: Perf is a profiler. > > Are you sure you can draw such a line about perf? > You can add dynamic tracepoints with context in a live process (perf > probe/perf recordma), I used this to track where a variable was > getting updated once for a given device in OVS (and getting the number > of occurrences). > > I know there are limitations with perf (some static variables not > being caught, can be tricky to trace inlines). > Maybe LTTng is better at this since you put markers in your code. it is not like perf probe where it updates only the event. Trace will spit out all the information when trace is enabled on the tracepoint. For instance if we add _tracepoint_ for rte_eth_dev_configure(), I will spit out the, a) timestamp when it is called b) which cpu it called c) trace ID- rte_eth_dev_configure d) port_id e) nb_rx_q f) nb_tx_q, g) contents of const struct rte_eth_conf *dev_conf. > > > One thing of interest, I understand that LTTng does not require a > context switch when tracing. > That is an advantage over perf. > > > -- > David Marchand >