We have been using LTTng-UST for hard real-time systems for a while. Once tracing is setup, there are few interactions between the traced application and the rest. The tracing code simply fills the sub-buffers and switches to another sub-buffer when the current one is full. In one mode, the consumer daemon polls the state of tracing sub-buffers to know when they are full and can be copied and emptied; the traced application does not have to issue any potentially blocking system call. In the default mode, the traced application sends a short message on a pipe to the consumer daemon to signal when a sub-buffer is ready to be consumed.
----- Le 24 Oct 18, à 6:53, Scheler, Fabian (CT RDA IOT SES-DE) fabian.sche...@siemens.com a écrit : > Hi, > > we would like to trace real-time applications and we consider LTTNG-ust > as one possible way to do this. But before we go for LTTNG-ust, we need > to estimate the impact LTTNG-ust could have on the instrumented > application. While I consider the user-manual of LTTNG-ust to be really > great, I am missing a more detailed architecture documentation, that > would be really helpful to answer this question. > > Having a look at the picture here > > https://lttng.org/docs/v2.10/#doc-plumbing > > I want to review these component interactions more closely: > > 1. Session daemon -> liblttng-ust > > This library seems to create a new thread in the context of the > instrumented application. How could this thread impact the run-time > behavior of the instrumented application, when it comes to > > - submitting events to the buffer > > * Which component controls/instantiates/maintains the buffer? > * How is the buffer synchronized? > > - setting event-rules (i.e. enabling/disabling events) > - starting tracing sessions > - ... > > * What does happen along the red dashed arrow > "Session Daemon -> liblttng-ust"? > > 2. liblttng-ust -> Consumer daemon > > At some point the consumer daemon reads the events stored in the buffer > and writes them to some output-file. > > * What does happen along the violet arrow > "liblttng-ust -> Consumer daemon"? > * Could the instrumented application be affected here somehow? > > Is this documented somewhere - maybe I simply missed it. > > Ciao > Fabian > -- > With best regards, > Dr. Fabian Scheler > > Siemens AG > Corporate Technology > Research and Development for Digitalization and Automation > Smart Embedded Systems > CT RDA IOT SES-DE > Guenther-Scharowsky-Str. 1 > 91058 Erlangen, Germany > Tel.: +49 1522 1702973 > Mobile: +49 1522 1702973 > mailto:fabian.sche...@siemens.com > > www.siemens.com/ingenuityforlife > > Siemens Aktiengesellschaft: Chairman of the Supervisory Board: Jim > Hagemann Snabe; Managing Board: Joe Kaeser, Chairman, President and > Chief Executive Officer; Roland Busch, Lisa Davis, Klaus Helmrich, > Janina Kugel, Cedrik Neike, Michael Sen, Ralf P. Thomas; Registered > offices: Berlin and Munich, Germany; Commercial registries: Berlin > Charlottenburg, HRB 12300, Munich, HRB 6684; WEEE-Reg.-No. DE 23691322 > > > _______________________________________________ > lttng-dev mailing list > lttng-dev@lists.lttng.org > https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev _______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev