LTTng for full stack tracing

Поділитися
Вставка
  • Опубліковано 28 чер 2020
  • TALK: Full stack Tracing With LTTng
    SPEAKER: Milian Wolff
    COMPANY: KDAB
    TRACK: Tooling & Testing
    Talk recorded at the Qt World Summit 2019 event in Berlin.
    #QtWS19 November 2019 - BCC
    TALK DESCRIPTION:
    We all love and use C++ because of its performance. But how do we actually measure the performance of an application? How do we check whether an application is CPU- or I/O bound? How do we see if our application is influenced by others running on the same system? There are many good and valid answers to these questions. Tracing certainly is a very valuable addition to everyone’s toolset. It can offer in-depth insights into what a system is doing and why an application is performing in a given way. Done properly, we can use it to piece together multiple pieces of the picture: How is our hardware utilized, what is the kernel doing, what is my application doing? In this talk, we will give an introduction to LTTng, a tracing toolkit for Linux, and show how it can be applied on embedded Linux systems to get an answer to the following question: What can I do to optimize the startup time of my application? We will talk about configuring Qt and LTTng properly. We will discuss the most useful kernel trace points and demonstrate the tracing subsystem in Qt for custom user space trace points. And we will look at how to analyze the collected data in a way that doesn’t make you want to pull your hair out. The contents of this talk stem from the experience of successfully optimizing automotive Qt applications on embedded Linux applications. The lessons learned apply to a much broader audience and can also be used with other tracing toolkits such as ETW on Windows.
    Qt WEBSITE:
    For more info Qt, visit our site
    qt.io
    RESOURCES:
    For more videos from Qt visit our resource centre;
    resources.qt.io
    FOLLOW US ON SOCIAL:
    FB: / qt
    LI: / 4788. .
    TW: / qtproject
    THE Qt COMPANY
    Design - Develop - Deploy
  • Наука та технологія

КОМЕНТАРІ • 5

  • @bluehornet6752
    @bluehornet6752 Рік тому

    Excellent presentation--thank you to Qt!

    • @bluehornet6752
      @bluehornet6752 Рік тому

      I've spent a number of days working on Qt-specific LTTng stuff. Wasn't able to get it to build on early 5.15 versions, but was on a later version (5.15.10). I am struggling though to learn how to add custom UST tracing in my Qt code. I found the code review thread for the feature in the Qt Gerrit system, back from 2017. However I didn't see how I'm supposed to use tracegen, other than the non-specific notes in the qtrace_p.h file. Is there additional documentation on this somewhere?
      For instance, this comment in qtrace_p.h:
      "A tracepoint provider is defined in a separate file, that follows the following format:"
      I presume that means that *I* need to define this in a separate file, but I'm not sure about that. Nor am I sure where that file should actually get placed...and then how to point tracegen at it.
      Also, since this presentation was given in 2019, new features have surely been added to LTTng. Therefore is adding LTTng support to a custom-compiled Qt kit even necessary any longer? In other words, is there any additional benefit over what v2.13 LTTng has built in? I guess I'm asking: Is Qt-specific UST even required in 2023?
      Thank you for your time.

  • @EclipseTraceCompass
    @EclipseTraceCompass 3 місяці тому

    16:45 sadly user space events aren't visible directly on the timeline. This feature was implemented around 3 years ago, probably a month after this talk! Milian's talk was great.

  • @KDABtv
    @KDABtv 3 роки тому

    Hi! The slides for this talk, as well as the other QtWS19 talks from KDAB, are available here www.kdab.com/development-resources/kdab-qt-world-summit-2019/

    • @bluehornet6752
      @bluehornet6752 Рік тому

      @KDABtv: Are you guys able to shed any light on the question(s) I asked above? I would be most appreciative if you could.