Hi, thanks for your answer!
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.
In principle, this sounds quite well, but there are still plenty of other thinks we would like to know in more detail:
- How does the ust_listener_thread interact with the instrumented application? - How does the ust_listener_thread interact with the consumderd (I guess your answer targeted this part, right?) and/or the sessiond?
- What is the purpose of the shared memory in the ringbuffer (shm.{c,h})? - How does the consumerd poll the buffers? - ...So, it would be really great if there is some document where this architecture is noted down. Maybe, there are also helpful comments in the code - if you can point me there, this would also be helpful.
Ciao Fabian
----- 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-ustThis library seems to create a new thread in the context of the instrumented application. How could this thread impact therun-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.: +491522 1702973 Mobile: +49 1522 1702973 mailto:fabian.sche...@siemens.comwww.siemens.com/ingenuityforlifeSiemens Aktiengesellschaft: Chairman of the Supervisory Board: Jim Hagemann Snabe; Managing Board: Joe Kaeser, Chairman, Presidentand 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 mailinglist lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
-- 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
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev