<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>I checked lttng-relayd source code, we do need to bind to the exact socket for further process. As adb reverse bind to the socket as well there is a conflict in-between. Do we have any other way to workaround it?</p>
<p>Amanda<br>
</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>