<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Yes. My test command is like below:</p>
<p></p>
<ol style="margin-bottom:0px; margin-top:0px">
<li>lttng-sessiond --d --no-kernel</li><li>
<pre>yannanwu@ue91e96f2951b5c:~/trees/lttng_test_run$ lttng create my-user-space-live-session --live <br>Live session my-user-space-live-session created.<br>Traces will be output to tcp4://127.0.0.1:5342/ [data: 5343]<br>Live timer interval set to 1000000 us</pre>
</li><li>After this, I could "ps -Ax|grep lttng" and see lttng-relayd started. But once I start adb reverse, it will failed for failed binding to socket.</li><li>In the other order, if I start adb reverse first and lttng-create later, lttng-create will not fail but lttng-relayd is not started. By manually start lttng-relayd it will also failed for unable binding to socket.</li></ol>
<div>Amanda</div>
<p></p>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Kienan Stewart <kstewart@efficios.com><br>
<b>Sent:</b> Friday, May 31, 2024 3:12:16 AM<br>
<b>To:</b> Wu, Yannan; lttng-dev@lists.lttng.org<br>
<b>Subject:</b> RE: [EXTERNAL] [lttng-dev] [lttng-relayd] is there existing cases for relayd to stream over Android usb based adb?</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.<br>
<br>
<br>
<br>
Hi Amanda,<br>
<br>
I'd like to confirm my understanding the situation.<br>
<br>
Android device<br>
   - Running lttng-sessiond with one or more configured sessions<br>
<br>
Development device<br>
   - Connected to the android device over usb using adb<br>
<br>
You want want the data captured on the android device to be streamed via<br>
the usb connection rather than the other networks on the android device.<br>
<br>
Could you expand on the commands you used to set up the tracing sessions<br>
and relay, and where each of those commands were run?<br>
<br>
It sounds to me like you might want to be doing something like the<br>
following:<br>
<br>
(Development device) Start lttng-relayd:<br>
   - tcp://0.0.0.0:5342 and :5343 will be bound on the development device<br>
   - tcp://127.0.0.1:5344 will be available for the live reader<br>
<br>
(Development device) Create the reverses for the following ports: 5342<br>
and 5343<br>
   - At this point :5342 and :5343 should be available on the android<br>
device and reach the relayd running on the development device<br>
<br>
(Android device) Start lttng-sessiond<br>
(Android device) Create session(s): `lttng create -U tcp://localhost/<br>
   - Using `-U/--set-url`, no relayd will be spawned on the android device<br>
(Android device) Start session(s)<br>
<br>
This setup should have the relayd running on the development and writing<br>
the traces there and/or viewing them with a live viewer. On the android<br>
device, the UST applications (if any) will connect to the local sessiond<br>
and consumers, which will shuttle the information over :5342 and :5343<br>
to the developer device via the reverse sockets.<br>
<br>
Please note that I didn't have time to test this, so there might be some<br>
mistakes. As I requested above, clear details of the exact commands you<br>
use for the tracing setup would be very helpful to have the clearest<br>
understanding of what you're doing.<br>
<br>
hope this helps,<br>
kienan<br>
<br>
On 5/30/24 1:53 AM, Wu, Yannan via lttng-dev wrote:<br>
> Hihi, there,<br>
><br>
> I am currently working on enabling lttng live mode over android usb adb.<br>
> Here is the situation, during debugging some network related issues, we<br>
> dont want the trace data to be streamed via network to cause extra load<br>
> to the system being profiled. Then we select to connect lttng-relayd<br>
> with adb via port forwarding so that the data is "forward" to the host.<br>
><br>
> *Here is the set up and the problem:*<br>
><br>
> for the device:  adb reverse tcp:5342 tcp:5342; adb reverse tcp:5343<br>
> tcp:5343; adb reverse tcp:5344 tcp:5344<br>
> Then starting up lttng with --live enabled.<br>
><br>
> *What is expected:*<br>
> lttng start streaming to the localhost.<br>
> *What is seen: *<br>
> the lttng-relayd failed to start. For unable binding to the socket.<br>
><br>
> *The cause of this issue: *<br>
><br>
> both adb reverse and lttng relayd need binding to the socket which is<br>
> conflict with each other.<br>
><br>
><br>
> So what I wanna ask is, for embedded system use cases, do we have<br>
> successful use cases among team that could stream the trace data in live<br>
> mode to the host with usb based adb? If not, any idea or suggestion to<br>
> me on how to process forward?<br>
><br>
> Amanda<br>
><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> lttng-dev mailing list<br>
> lttng-dev@lists.lttng.org<br>
> <a href="https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev">https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev</a><br>
</div>
</span></font>
</body>
</html>